usb-device
USB stack for embedded devices.
0.3.2
4.6M downloads/mo
#4705 most downloaded on crates.io
rust-embedded-community/usb-device
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 8 days to 1.4 years
Some releases are documented
notes for 5 of 13 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
14 releases · first in 2018
0 releases in the last 12 months
see the full history below
Release timeline
14 releases · Dec 2018 to Mar 2024Releases
latest 14-
0.3.206 Mar 2024Release notes
Open source →What's Changed
- Update dependecies by @Sh3Rm4n in #136
- Update README.md by @misterinterrupt in #138
- Make LangID optional on get_string() by @jose-acevedoflores in #140
- Adding USB tracing, fixing further enumeration issues by @ryan-summers in #142
- Convert LangID from u16 enum to tuple struct containing u16 by @vitalyvb in #141
- Restore deriving defmt::Format for LangID when defmt feature is enabled by @vitalyvb in #145
- Handling
Results throughout the crate by @ryan-summers in #143 - Preparing for 0.3.2 release by @ryan-summers in #146
New Contributors
- @Sh3Rm4n made their first contribution in #136
- @misterinterrupt made their first contribution in #138
- @jose-acevedoflores made their first contribution in #140
- @vitalyvb made their first contribution in #141
Full Changelog: v0.3.1...v0.3.2
Release notes
Open source →Added
- A new
logfeature can be enabled to provide logging and tracing information about the USB interface.
Changed
- [breaking] LangIDs no longer implement
TryFromPrimitive. The minor version has not been bumped as this was not intended to be used in the public API.- If this is problematic, please open an issue in the main
usb-devicerepository.
- If this is problematic, please open an issue in the main
- Changed handling of EP0 state to eliminate unexpected issues with device enumeration
Release notes
Open source →Added
- A new
logfeature can be enabled to provide logging and tracing information about the USB interface.
Changed
- [breaking] LangIDs no longer implement
TryFromPrimitive. The minor version has not been bumped as this was not intended to be used in the public API.- If this is problematic, please open an issue in the main
usb-devicerepository.
- If this is problematic, please open an issue in the main
- Changed handling of EP0 state to eliminate unexpected issues with device enumeration
-
0.3.115 Nov 2023Release notes
Open source →[0.3.1] - 2023-11-15
Added
BuilderError,LangID,StringDescriptorsnow inpreludeLangIDnow inclass_prelude
Changed
- Updated documentation, including example code
Release notes
Open source →Added
BuilderError,LangID,StringDescriptorsnow inpreludeLangIDnow inclass_prelude
Changed
- Updated documentation, including example code
-
0.3.013 Nov 2023Release notes
Open source →[0.3.0] - 2023-11-13
Fixed
- Fixed a defect where enumeration may fail due to timing-related issues (#128)
Added
- New enums and allocators for Isochronous endpoints (#60).
- Ability to select USB revision (#116).
- Added support for alternate settings on interfaces (#114).
- Added support for architectures without atomics (#115).
- Added support for multi-language STRING desc (#122).
UsbDeviceBuilderhas a public.extra_lang_ids()method to specify LANGIDs besides ENGLISH_US(0x0409)
Breaking
- Acess numeric form of
EndpointTypevariants now require a.to_bm_attributes(). (#60) DescriptorWriter::iad()now requires aOption<StringIndex>to optionally specify a string for describing the function (#121).manufacturer(),.product()and.serial_number()ofUsbDeviceBuilderare now replaced with thestrings()function that accepts aStringDescriptorlist to allow multilanguage support (#122)- Various methods of the
UsbDeviceBuildernow returnResult<>types instead of internally panicking.
Changed
Release notes
Open source →Fixed
- Fixed a defect where enumeration may fail due to timing-related issues (#128)
Added
- New enums and allocators for Isochronous endpoints (#60).
- Ability to select USB revision (#116).
- Added support for alternate settings on interfaces (#114).
- Added support for architectures without atomics (#115).
- Added support for multi-language STRING desc (#122).
UsbDeviceBuilderhas a public.extra_lang_ids()method to specify LANGIDs besides ENGLISH_US(0x0409)
Breaking
- Acess numeric form of
EndpointTypevariants now require a.to_bm_attributes(). (#60) DescriptorWriter::iad()now requires aOption<StringIndex>to optionally specify a string for describing the function (#121).manufacturer(),.product()and.serial_number()ofUsbDeviceBuilderare now replaced with thestrings()function that accepts aStringDescriptorlist to allow multilanguage support (#122)- Various methods of the
UsbDeviceBuildernow returnResult<>types instead of internally panicking.
Changed
-
0.2.902 Aug 2022 -
0.2.813 Mar 2021Nothing published for this version
-
0.2.703 Oct 2020Nothing published for this version
-
0.2.622 Sep 2020Nothing published for this version
-
0.2.510 Feb 2020Nothing published for this version
-
0.2.401 Feb 2020 withdrawnNothing published for this version
-
0.2.327 Aug 2019Nothing published for this version
-
0.2.227 Jul 2019Nothing published for this version
-
0.2.107 Jun 2019Nothing published for this version
-
0.2.020 Jan 2019Nothing published for this version
-
0.1.024 Dec 2018