143 Commits

Author SHA1 Message Date
Matt Rodgers
d46d3119ce Implement embedded-io-async traits for USB CDC ACM 2025-05-07 21:22:56 +01:00
Dion Dokter
f5ab597a07 Logging: Make some things less chatty 2025-04-25 10:53:17 +02:00
Dániel Buga
b0eacf0eec
Add optional trace endpoint 2025-04-17 22:29:15 +02:00
Dániel Buga
e410e65b83
Add CMSIS-DAP driver 2025-04-17 21:03:58 +02:00
Dario Nieuwenhuis
17cce79807
Merge pull request #3992 from elagil/usb_fixes
Small USB-related fixes
2025-03-25 11:03:53 +00:00
Bailey Quarters
eff9168846 Make CDC ACM state constructor const 2025-03-24 19:53:36 +01:00
elagil
5264d77007 fix: mute by default (UAC1) 2025-03-22 11:47:38 +01:00
Ronald Weber
7a2f038800 doc: Fix "the the" 2025-02-19 17:29:21 +01:00
René van Dorst
d363401ba5 embassy-usb: fix core::intrinsics deprecate warning in nightly.
Replaced `core::intrinsics::copy_nonoverlapping` with the
`core::ptr::copy_nonoverlapping`.

   Compiling embassy-usb v0.4.0 (embassy/embassy-usb)
warning: use of deprecated module `core::intrinsics`: import this function via `std::mem` instead
  --> embassy/embassy-usb/src/class/cdc_ncm/mod.rs:17:23
   |
17 | use core::intrinsics::copy_nonoverlapping;
   |                       ^^^^^^^^^^^^^^^^^^^
2025-02-03 22:08:23 +01:00
Dániel Buga
44217aa092
Desugar some async fns 2024-12-30 12:13:13 +01:00
9names
adf3134e7d embassy-usb: fix building with optional log feature 2024-12-28 23:48:14 +11:00
Eekle
cac7000882 Update default docs for device class fields 2024-12-24 13:49:55 +01:00
Eekle
0f4b9c7451 Default USB to use composite_with_iads, which "just works" in most cases 2024-12-24 12:53:06 +01:00
sawyer bristol
0b7f9d84be add docs for usb version variants 2024-12-03 09:54:15 -07:00
sawyer bristol
1f9e678066 forgot to expose UsbVersion 2024-12-02 19:41:50 -07:00
sawyer bristol
fe2c82e98c rename BcdUsbVersion -> UsbVersion 2024-12-02 16:07:10 -07:00
sawyer bristol
180d816e00 add fmt 2024-12-02 16:03:38 -07:00
sawyer bristol
4d9ee16f3c fix device_qualifier_descriptor with custom bcd version 2024-12-02 15:58:39 -07:00
sawyer bristol
34899491e5 add named bcd versions 2024-12-02 15:57:58 -07:00
sawyer bristol
8068f7092e fix bug and allow bcd to be .0 2024-12-02 15:44:29 -07:00
sawyer bristol
f25830a5b6 bcd default to 2.1 2024-12-02 15:44:01 -07:00
sawyer bristol
d0b1819aa5 custom bcd usb version 2024-11-29 20:29:43 -07:00
elagil
ffc7b732e9 feat(usb): add USB Audio Class 1 2024-11-24 00:33:08 +01:00
Dario Nieuwenhuis
ae8caf3f55
Merge pull request #3314 from elagil/add_iso_endpoint_support
Add ISO endpoint support
2024-09-16 19:51:52 +00:00
elagil
a8ca6713e6 feat(usb): make use of ISO endpoint support 2024-09-05 21:29:24 +02:00
Maxime Vincent
abcb39a58b
Allow bos_descriptor_buf to be a zero-length slice 2024-08-29 17:32:43 +02:00
Haobo Gu
a63d46507d feat(usb): add device qualifier descriptor
Signed-off-by: Haobo Gu <haobogu@outlook.com>
2024-08-15 11:26:24 +08:00
Dario Nieuwenhuis
2d678d6956 Update to Rust 1.80, make check-cfg unconditional. 2024-07-25 15:53:00 +02:00
Tarun Singh
a716a3f006 Reduced define for 'unreachable!' to a single macro rule 2024-07-17 17:05:52 -04:00
Dario Nieuwenhuis
6a4ac5bd60 Add collapse_debuginfo to fmt.rs macros.
This makes location info in defmt logs point to the code calling the macro,
instead of always to fmt.rs as before. Fix works with nightlies
starting with today's, and stable 1.81+.
2024-06-17 01:38:57 +02:00
Dario Nieuwenhuis
08314b0940
Merge pull request #2862 from AtoVproject/feature/web-usb-class
WebUSB implementation
2024-04-28 21:24:21 +02:00
Chris Maniewski
095af92791
feature: WebUSB capability implementation
This adds the WebUSB implementation as per
https://wicg.github.io/webusb/, using one in-endpoint and one
out-endpoint as well as an example for the RP2040 to illustrate this
capability.
2024-04-27 23:14:16 +02:00
Boris Faure
ae4fb433ae usb-hid: all the RequestHandler method accept &mut self 2024-04-15 19:57:18 +02:00
Boris Faure
41415fae0d usb/hid: make RequestHandler::set_report(&mut self,…)
That way, it is possible to change some fields in the RequestHandler based
on outside report.
2024-04-15 19:57:18 +02:00
Adam Simpkins
03a87add15 USB: fix comments about the config.max_packet_size_0 field
Fix the comment about the default value: this defaults to 64 rather
than 8 bytes.

It seems like the max packet size for endpoint 0 should normally be
selected automatically, rather than being part of the config.  At best
it seems like this setting should just be a hint that gets used if when
the bus is operating at full speed.  The contents of the device
descriptor should ideally be updated with the correct max packet size
after bus enumeration completes.  In practice always using 64 is
probably fine if low speed environments never need to be supported.
(Super speed requires a max packet size of 512 bytes, which I didn't
list in the comments here.)
2024-04-09 10:31:19 -07:00
Dario Nieuwenhuis
4aa4ea99c2 use private_bounds for sealed traits. 2024-03-23 01:45:19 +01:00
Adam Greig
7cf6490fba
usb: remove device_descriptor buffer, store bytes in UsbDevice.inner instead 2024-03-23 00:35:15 +00:00
Dario Nieuwenhuis
3d842dac85 fmt: disable "unused" warnings. 2024-03-20 14:53:19 +01:00
Jomer.Dev
3729608e82 Add buffer size info to read_packet 2024-01-08 00:03:44 +01:00
Dario Nieuwenhuis
0b015bd727 usb: remove msos-descriptor feature. 2023-11-08 23:21:52 +01:00
Dario Nieuwenhuis
d9b00c01e0 usb: reject instead of panic on CONTROL OUT longer than the buf. 2023-11-06 03:26:00 +01:00
Rafael Bachmann
31d4516516 Apply Pedantic Clippy Lints 2023-10-15 23:52:44 +02:00
Rafael Bachmann
66e62e9994 Fix clippy 2023-10-15 22:25:35 +02:00
Rafael Bachmann
eeedaf2e76 Constify Config::new 2023-10-15 22:11:30 +02:00
kalkyl
a57d383b1d embassy-usb: Add MIDI class 2023-10-14 04:20:59 +02:00
Matt Spencer
a402aed3d1 Add async interface for CDC control changes
Signed-off-by: Matt Spencer <matthew@thespencers.me.uk>
2023-09-19 15:42:26 +01:00
Dario Nieuwenhuis
5e613d9abb Sync all fmt.rs files. 2023-08-30 01:37:18 +02:00
Isaikin Roman
17e9a8ebe1 Fix hardcoded buffer length in USB NCM causing broken link on USB 2.0. 2023-08-20 07:42:54 +02:00
Lukas Joeressen
91b10dd799 Fixed the final null terminator for RegMultiSz.
The RegMultiSz value should be terminated by an empty UTF-16 string, i.e. 2 null bytes.
2023-08-18 13:09:27 +02:00
Ruben De Smet
4afdce4ec5
Introduce driver::HardwareAddress without smoltcp dependency 2023-07-31 14:21:26 +02:00