Commit Graph

120 Commits

Author SHA1 Message Date
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
Dario Nieuwenhuis
6eac49186d Release embassy-net v0.1 2023-06-29 19:55:32 +02:00
Dario Nieuwenhuis
f0b17675d8 usb: add missing builder reexports.
Fixes #1176
cc #1596
2023-06-29 12:20:51 +02:00
Dario Nieuwenhuis
2d65373f63 Remove unused feature(type_alias_impl_trait). 2023-05-14 23:44:53 +02:00
Dirk Stolle
0584312ef0 Fix some typos 2023-05-08 23:25:01 +02:00
James Munns
20aa86d63e Address review comments 2023-03-27 18:21:11 +02:00
James Munns
a77fdefd7c Correct copy/paste errors 2023-03-27 15:37:12 +02:00
James Munns
a6cef4baf2 Add logging and interface for debugging buffer usage 2023-03-27 14:19:00 +02:00
Lasse Dalegaard
7b9075130e embassy_usb: Add split() for cdc_acm 2023-03-04 10:36:10 +01:00
Dario Nieuwenhuis
86487db5d1 usb: use InterfaceNumber in msos. 2023-02-08 00:30:53 +01:00
Dario Nieuwenhuis
3af991ab63 usb: unify ControlHandler+DeviceStateHandler, route all control requests to all handlers.
- Allows classes to handle vendor requests.
- Allows classes to use a single handler for multiple interfaces.
- Allows classes to access the other events (previously only `reset` was available).
2023-02-08 00:17:08 +01:00
Dario Nieuwenhuis
1d841cc8ac usb: make max interface count configurable at compile time. 2023-02-08 00:16:04 +01:00
alexmoon
aa21aebb0b Lazily encode UTF16 values and add docs 2023-02-07 14:24:35 -05:00
alexmoon
9f9230ae7a Convert MS OS descriptor builder to a writer API
This brings it inline with the other embassy-usb descriptor APIs and allows it to integrate well with the Builder to allow class constructors to add MS OS descriptors.

Also adds a `usb_serial_winusb` example to demonstrate how to use the API.
2023-02-07 14:24:35 -05:00
Matt Ickstadt
b9ecdb72bb usb: remove msos dead code 2023-02-07 14:24:35 -05:00
Matt Ickstadt
617b0a03b9 usb: fix descriptor set length and DeviceInterfaceGUIDs 2023-02-07 14:24:35 -05:00
Matt Ickstadt
f5ff3c4ac3 usb: add support for MS OS Descriptors 2023-02-07 14:24:35 -05:00
bors[bot]
465e4c8b19
Merge #1151
1151: USB: allow setting the interface string for interface alt settings r=Dirbaio a=mattico

This is a breaking change to embassy-usb's API.

Co-authored-by: Matt Ickstadt <matt@beckenterprises.com>
2023-02-01 00:36:22 +00:00
Dario Nieuwenhuis
ca10fe7135 usb: docs 2023-01-31 22:27:19 +01:00
nitroxis
c9e2cd6dd4 usb: allow adding isochronous endpoints 2023-01-27 15:53:13 +01:00
Matt Ickstadt
7ecb05ff77 usb: allow setting the interface string for interface alt settings 2023-01-13 12:10:36 -06:00
chemicstry
ce842fe28c Refactor embassy-usb address handling to allow reordering of status resoponse 2023-01-11 17:47:12 +01:00
bors[bot]
a6b52bde58
Merge #1130
1130: USB serial (CDC-ACM) improvements r=Dirbaio a=timokroeger

* Remove unused call management descriptor
* Set flag for supported capabilities

The rp `usb_serial` example still works with windows hosts.

Co-authored-by: Timo Kröger <timokroeger93@gmail.com>
2023-01-02 22:51:58 +00:00
Dario Nieuwenhuis
771806be79 net/chan: split state runner. 2022-12-27 01:07:58 +01:00