aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usbh/src/usbproto.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/usbh/src/usbproto.rs b/usbh/src/usbproto.rs
index 97d1839..4fd97b0 100644
--- a/usbh/src/usbproto.rs
+++ b/usbh/src/usbproto.rs
@@ -371,6 +371,14 @@ mod test {
];
let got = unsafe { core::slice::from_raw_parts(db.ptr, db.len) };
assert_eq!(got, want);
+
+ let mut desc2: USBDeviceDescriptor = Default::default();
+ let db = DataBuf::from(&mut desc2);
+ let dbslice = unsafe { core::slice::from_raw_parts_mut(db.ptr, db.len) };
+ for i in 0..db.len {
+ dbslice[i] = want[i];
+ }
+ assert_eq!(desc2, desc);
}
#[test]
@@ -390,6 +398,14 @@ mod test {
let want = [0x12, 0x02, 0x20, 0x00, 0x05, 0x0a, 0x01, 0x40, 0xfa];
let got = unsafe { core::slice::from_raw_parts(db.ptr, db.len) };
assert_eq!(got, want);
+
+ let mut desc2: USBConfigurationDescriptor = Default::default();
+ let db = DataBuf::from(&mut desc2);
+ let dbslice = unsafe { core::slice::from_raw_parts_mut(db.ptr, db.len) };
+ for i in 0..db.len {
+ dbslice[i] = want[i];
+ }
+ assert_eq!(desc2, desc);
}
#[test]
@@ -410,6 +426,14 @@ mod test {
let want = [0x12, 0x04, 0x02, 0xaa, 0x05, 0x11, 0x22, 0x33, 0x0a];
let got = unsafe { core::slice::from_raw_parts(db.ptr, db.len) };
assert_eq!(got, want);
+
+ let mut desc2: USBInterfaceDescriptor = Default::default();
+ let db = DataBuf::from(&mut desc2);
+ let dbslice = unsafe { core::slice::from_raw_parts_mut(db.ptr, db.len) };
+ for i in 0..db.len {
+ dbslice[i] = want[i];
+ }
+ assert_eq!(desc2, desc);
}
#[test]
@@ -427,6 +451,14 @@ mod test {
let want = [0x12, 0x05, 0x01, 0x22, 0xad, 0xde, 0x33];
let got = unsafe { core::slice::from_raw_parts(db.ptr, db.len) };
assert_eq!(got, want);
+
+ let mut desc2: USBEndpointDescriptor = Default::default();
+ let db = DataBuf::from(&mut desc2);
+ let dbslice = unsafe { core::slice::from_raw_parts_mut(db.ptr, db.len) };
+ for i in 0..db.len {
+ dbslice[i] = want[i];
+ }
+ assert_eq!(desc2, desc);
}
#[test]
@@ -443,5 +475,13 @@ mod test {
let want = [0x80, 0x06, 0x00, 0x01, 0xef, 0xbe, 0x012, 0x00];
let got = unsafe { core::slice::from_raw_parts(db.ptr, db.len) };
assert_eq!(got, want);
+
+ let mut setup_packet2: USBSetupPacket = Default::default();
+ let db = DataBuf::from(&mut setup_packet2);
+ let dbslice = unsafe { core::slice::from_raw_parts_mut(db.ptr, db.len) };
+ for i in 0..db.len {
+ dbslice[i] = want[i];
+ }
+ assert_eq!(setup_packet2, setup_packet);
}
}