diff --git a/CHANGELOG.md b/CHANGELOG.md index be856d0d..4e9be5f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## [Unreleased] +**BREAKING** Update `imxrt-usbd` to 0.3. Users are required to update to +`usb-device` 0.3 and its compatible dependencies. + ## [0.5.6] 2024-07-05 - Add LPSPI low-level clock configuration APIs. diff --git a/Cargo.toml b/Cargo.toml index 171e8ee9..9b615847 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -115,7 +115,7 @@ imxrt-log = { path = "logging", default-features = false, features = [ ] } imxrt-ral = "0.5" imxrt-rt = "0.1" -imxrt-usbd = "0.2" +imxrt-usbd = "0.3" [workspace.package] repository = "https://github.com/imxrt-rs/imxrt-hal" @@ -155,9 +155,9 @@ rtic = { version = "2.0", features = ["thumbv7-backend"] } log = "0.4" defmt = "0.3" pin-utils = "0.1" -usb-device = { version = "0.2", features = ["test-class-high-speed"] } -usbd-serial = "0.1" -usbd-hid = "0.6" +usb-device = { version = "0.3", features = ["test-class-high-speed"] } +usbd-serial = "0.2" +usbd-hid = "0.8" [target.'cfg(all(target_arch = "arm", target_os = "none"))'.dev-dependencies] board = { path = "board" } diff --git a/board/Cargo.toml b/board/Cargo.toml index 705ad1a0..53d2e3b8 100644 --- a/board/Cargo.toml +++ b/board/Cargo.toml @@ -30,6 +30,7 @@ default-features = false [dependencies.imxrt-usbd] workspace = true +features = ["defmt-03"] [dependencies.cortex-m] version = "0.7" diff --git a/board/build.rs b/board/build.rs index 53c5481c..4c59d767 100644 --- a/board/build.rs +++ b/board/build.rs @@ -60,6 +60,7 @@ fn main() -> Result<(), Box> { dtcm: 1, }) .uninit(Memory::Dtcm) + .stack_size(16 * 1024) .build()?; println!("cargo:rustc-cfg=board=\"imxrt1010evk\""); println!("cargo:rustc-cfg=chip=\"imxrt1010\""); diff --git a/examples/rtic_usb_keypress.rs b/examples/rtic_usb_keypress.rs index b95f27e0..79877be1 100644 --- a/examples/rtic_usb_keypress.rs +++ b/examples/rtic_usb_keypress.rs @@ -108,9 +108,11 @@ mod app { // device, bInterval is computed differently. let class = HIDClass::new(bus, KeyboardReport::desc(), 4); let device = UsbDeviceBuilder::new(bus, VID_PID) - .product(PRODUCT) + .strings(&[usb_device::device::StringDescriptors::default().product(PRODUCT)]) + .unwrap() .device_class(usbd_serial::USB_CLASS_CDC) .max_packet_size_0(64) + .unwrap() .build(); ( diff --git a/examples/rtic_usb_mouse.rs b/examples/rtic_usb_mouse.rs index 729ff99f..a13cd3ba 100644 --- a/examples/rtic_usb_mouse.rs +++ b/examples/rtic_usb_mouse.rs @@ -103,9 +103,11 @@ mod app { // device, bInterval is computed differently. let class = HIDClass::new(bus, MouseReport::desc(), 4); let device = UsbDeviceBuilder::new(bus, VID_PID) - .product(PRODUCT) + .strings(&[usb_device::device::StringDescriptors::default().product(PRODUCT)]) + .unwrap() .device_class(usbd_serial::USB_CLASS_CDC) .max_packet_size_0(64) + .unwrap() .build(); ( diff --git a/examples/rtic_usb_serial.rs b/examples/rtic_usb_serial.rs index 2723a0c4..5855eb3f 100644 --- a/examples/rtic_usb_serial.rs +++ b/examples/rtic_usb_serial.rs @@ -105,9 +105,11 @@ mod app { let bus = ctx.local.bus.insert(UsbBusAllocator::new(bus)); let class = SerialPort::new(bus); let device = UsbDeviceBuilder::new(bus, VID_PID) - .product(PRODUCT) + .strings(&[usb_device::device::StringDescriptors::default().product(PRODUCT)]) + .unwrap() .device_class(usbd_serial::USB_CLASS_CDC) .max_packet_size_0(64) + .unwrap() .build(); ( diff --git a/examples/rtic_usb_test_class.rs b/examples/rtic_usb_test_class.rs index 512d26ae..34a5bcd6 100644 --- a/examples/rtic_usb_test_class.rs +++ b/examples/rtic_usb_test_class.rs @@ -97,7 +97,11 @@ mod app { let bus = ctx.local.bus.insert(UsbBusAllocator::new(bus)); let class = TestClass::new(bus); - let device = class.make_device_builder(bus).max_packet_size_0(64).build(); + let device = class + .make_device_builder(bus) + .max_packet_size_0(64) + .unwrap() + .build(); ( Shared {}, diff --git a/logging/CHANGELOG.md b/logging/CHANGELOG.md index 427671de..a5116518 100644 --- a/logging/CHANGELOG.md +++ b/logging/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +**BREAKING** Integrate breaking dependencies for the USB back-end: + +- `imxrt-usbd` 0.3 +- `usb-device` 0.3 +- `usbd-serial` 0.2 + ## [0.1.2] 2024-06-06 Increase the USB bulk max packet size (MPS) from 64 to 512. This is required diff --git a/logging/Cargo.toml b/logging/Cargo.toml index cc8050c7..cfabe15e 100644 --- a/logging/Cargo.toml +++ b/logging/Cargo.toml @@ -23,11 +23,11 @@ version = "0.4" [dependencies.usb-device] optional = true -version = "0.2" +version = "0.3" [dependencies.usbd-serial] optional = true -version = "0.1" +version = "0.2" [dependencies.imxrt-hal] optional = true diff --git a/logging/src/usbd.rs b/logging/src/usbd.rs index 0ecc5ed0..0ad1496f 100644 --- a/logging/src/usbd.rs +++ b/logging/src/usbd.rs @@ -195,9 +195,11 @@ pub(crate) unsafe fn init( { let device = usb_device::device::UsbDeviceBuilder::new(bus, VID_PID) - .product(PRODUCT) + .strings(&[usb_device::device::StringDescriptors::default().product(PRODUCT)]) + .unwrap() .device_class(usbd_serial::USB_CLASS_CDC) .max_packet_size_0(EP0_CONTROL_PACKET_SIZE as u8) + .unwrap() .build(); // Not sure which endpoints the CDC ACM class will pick,