All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog], and this project adheres to [Semantic Versioning].
- custom function: add send_async and recv_async methods for control transfers
- custom function: error on control transfer halt and drop
- custom function:
recv_all()not truncating buffer to actual size
- added
#[must_use]annotations to builder and IO methods - revised endpoint transfer size and ZLP documentation
- constants for common classes
- constants for testing vid/pid
- USB gadget CLI tool
- DMAbuf support for custom functions
- UAC1 gadget support
- loopback gadget support
- sourcesink gadget support
- UVC: additional video formats
- custom function: DFU descriptor support
- custom name support for gadgets
- device path lookup for gadgets (HID)
RegGadget::functions()for querying registered functions- UDC driver name querying
UsbVersion::V21variant for USB 2.0 with BOS descriptor support
- reversed
Speedenum ordering for meaningful comparisons
DeviceInterfaceGUIDmissing braces around GUID- custom function: panic in
recv_and_fetch_timeout - RNDIS network function: write interface class values without
0xprefix as expected by kernel - stable and deduplicated function ordering in gadget configurations
- deprecated
Config::set_max_power_ma()method
- preserve functions order in gadget configuration by Warren Campbell
- Printer gadget support by John Whittington
- UAC2 gadget support by John Whittington
- UVC gadget support by John Whittington
- MIDI gadget support by John Whittington
- custom descriptor support
- clarify meaning of BCD
- handle ordering
- maximum device current handling
- use correct bcdVersion in descriptor
- device number data types
- custom interface: make status() return an Option<_>
- use old value for bcdVersion of OS descriptors for compatibility with older Linux kernels
- interface-specific device class
- custom interface: support usage with external USB gadget registration and pre-mounted FunctionFS
- custom interface: allow specification of FunctionFS mount options and skip of interface initialization
- allow gadget registration without binding
- custom interface: switch to Bytes-based buffers
- examples
- extend Microsoft OS descriptor support
- expose gadget registration status
- custom USB function support
- initial release