Skip to content

Latest commit

 

History

History
91 lines (67 loc) · 2.9 KB

CHANGELOG.md

File metadata and controls

91 lines (67 loc) · 2.9 KB

Changelog

0.3.0 2024-05-29

BREAKING Update to usb-device 0.3. By adopting this release, you're required to use usb-device 0.3 and its compatible packages.

Add feature defmt-03 to enable internal logging of the USB device stack.

0.2.2 2023-09-15

Resolve an issue where endpoints were reset when exiting suspend.

0.2.1 2023-03-14

Fix an overflowing left shift that could occur when enabling and allocating endpoints.

0.2.0 2022-11-30

  • BREAKING Add high-speed driver support.

    • Remove the full_speed module, and move BusAdapter into the crate root. See the before / after below to update your code.

      // Before:
      use imxrt_usbd::full_speed::BusAdapter;
      
      // After:
      use imxrt_usbd::BusAdapter;
    • BusAdapter::new produces a high-speed-capable bus. To throttle your USB bus to low / full speed, use BusAdapter::with_speed, and provide Speed::LowFull.

  • BREAKING Users now allocate space for endpoints. For backwards compatibility, allocate the maximum amount of endpoints. Supply the endpoint state to your driver's constructor, as show by 'new' in the example below.

  • BREAKING Change the representation of endpoint memory for I/O. Use EndpointMemory as a replacement for static mut [u8; N]. See the before / after in the example below.

    // NEW: allocate space for endpoint state.
    static EP_STATE: imxrt_usbd::EndpointState = imxrt_usbd::EndpointState::max_endpoints();
    
    // Endpoint memory before:
    // static mut EP_MEMORY: [u8; 2048] = [0; 2048];
    // Endpoint memory after:
    static EP_MEMORY: imxrt_usbd::EndpointMemory<2048> = imxrt_usbd::EndpointMemory::new();
    
    // ...
    
    imxrt_usbd::BusAdapter::with_speed(
        UsbPeripherals::usb1(),
        // unsafe { &mut EP_MEMORY }, // Endpoint memory before
        &EP_MEMORY,                   // Endpoint memory after
        &EP_STATE,                    // <-- NEW
        SPEED,
    )
  • BREAKING Change the unsafe trait Peripherals API. Implementers must now supply the addresses of USB register blocks. See the updated documentation for more details.

  • BREAKING Update to Rust edition 2021.

  • Add support for USB general purpose timers (GPT).

  • Fix the endpoint initialization routine, which would incorrectly zero the other half's endpoint type.

  • Fix documentation of BusAdapter::new.

0.1.0 2021-03-11

First release