aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb/src/builder.rs
Commit message (Collapse)AuthorAgeFilesLines
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-061-3/+6
|
* make usb endpoint allocator methods accept an optional EndpointAddresskorbin2025-07-131-10/+37
|
* Logging: Make some things less chattyDion Dokter2025-04-251-4/+4
|
* Update default docs for device class fieldsEekle2024-12-241-3/+6
|
* Default USB to use composite_with_iads, which "just works" in most casesEekle2024-12-241-5/+8
|
* add docs for usb version variantssawyer bristol2024-12-031-0/+2
|
* rename BcdUsbVersion -> UsbVersionsawyer bristol2024-12-021-3/+3
|
* add fmtsawyer bristol2024-12-021-0/+2
|
* add named bcd versionssawyer bristol2024-12-021-2/+9
|
* bcd default to 2.1sawyer bristol2024-12-021-2/+2
|
* custom bcd usb versionsawyer bristol2024-11-291-0/+6
|
* feat(usb): make use of ISO endpoint supportelagil2024-09-051-15/+125
|
* feature: WebUSB capability implementationChris Maniewski2024-04-271-0/+5
| | | | | | | 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.
* USB: fix comments about the config.max_packet_size_0 fieldAdam Simpkins2024-04-091-4/+5
| | | | | | | | | | | | | | | 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.)
* usb: remove device_descriptor buffer, store bytes in UsbDevice.inner insteadAdam Greig2024-03-231-7/+0
|
* usb: remove msos-descriptor feature.Dario Nieuwenhuis2023-11-081-16/+2
|
* Apply Pedantic Clippy LintsRafael Bachmann2023-10-151-22/+20
|
* Constify Config::newRafael Bachmann2023-10-151-1/+1
|
* Address review commentsJames Munns2023-03-271-9/+1
|
* Correct copy/paste errorsJames Munns2023-03-271-4/+6
|
* Add logging and interface for debugging buffer usageJames Munns2023-03-271-0/+14
|
* usb: use InterfaceNumber in msos.Dario Nieuwenhuis2023-02-081-1/+1
|
* usb: unify ControlHandler+DeviceStateHandler, route all control requests to ↵Dario Nieuwenhuis2023-02-081-18/+27
| | | | | | | | 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).
* usb: make max interface count configurable at compile time.Dario Nieuwenhuis2023-02-081-1/+4
|
* Convert MS OS descriptor builder to a writer APIalexmoon2023-02-071-17/+61
| | | | | | 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.
* usb: add support for MS OS DescriptorsMatt Ickstadt2023-02-071-0/+15
|
* Merge #1151bors[bot]2023-02-011-4/+15
|\ | | | | | | | | | | | | | | 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 <[email protected]>
| * usb: allow setting the interface string for interface alt settingsMatt Ickstadt2023-01-131-4/+15
| |
* | usb: docsDario Nieuwenhuis2023-01-311-12/+12
| |
* | usb: allow adding isochronous endpointsnitroxis2023-01-271-0/+13
|/
* usb: split driver trait to separate crate.Dario Nieuwenhuis2022-09-261-6/+5
|
* nRF documentation warning fixesUlf Lilleengen2022-08-221-0/+2
|
* Run rustfmt.Dario Nieuwenhuis2022-06-121-43/+11
|
* usb: set default max_packet_size_0 to 64.Dario Nieuwenhuis2022-05-311-1/+1
| | | | | Supported chips can always do 64 bytes, 8 bytes seems to be more rare. We can add a way for the driver to specify the default in the future.
* usb: remove address arg from endpoint allocation.Dario Nieuwenhuis2022-05-091-8/+6
|
* usb: add support for custom string descriptors.Dario Nieuwenhuis2022-04-231-10/+12
|
* usb: set the interface handler in InterfaceBuilder.Dario Nieuwenhuis2022-04-231-5/+6
|
* usb: builtin handling of interface alternate settingsDario Nieuwenhuis2022-04-231-10/+13
| | | | | | | | The stack reads its own descriptors to figure out which endpoints are used in which alt settings, and enables/disables them as needed. The ControlHandler has a callback so it can get notified of alternate setting changes, which is purely informative (it doesn't have to do anything).
* usb: improved descriptor building APIDario Nieuwenhuis2022-04-161-142/+183
| | | | | | | The same API call allocates interfaces/endpoints/etc and writes their descriptors. This means less API calls, and less possibility to screw things up. DescriptorWriter is now private.
* usb: rename UsbDeviceBuilder -> Builder.Dario Nieuwenhuis2022-04-161-3/+3
|
* Remove channel and make run future cancelablealexmoon2022-04-131-68/+3
|
* Add DeviceStateHandler, DeviceCommand channel, and remote wakeup supportalexmoon2022-04-131-4/+73
|
* Async-ify Driver::enable and UsbDeviceBuilder::buildalexmoon2022-04-071-8/+9
|
* usb: cleanup and simplify error handling.Dario Nieuwenhuis2022-04-061-3/+3
|
* Add a control_buf to UsbDevicealexmoon2022-04-061-0/+14
|
* usb: move all control-related stuff to `mod control`.Dario Nieuwenhuis2022-04-061-1/+1
|
* usb: associate ControlHandlers with interfaces, automatically route requests.Dario Nieuwenhuis2022-04-061-11/+21
|
* usb: add `add_class` to builder, so that `FooBarClass::new(&mut builder)` ↵Dario Nieuwenhuis2022-04-061-2/+13
| | | | can set up everything.
* Use trait objects instead of generics for UsbDevice::classesalexmoon2022-04-061-4/+1
|
* Add support for USB classes handling control requests.alexmoon2022-04-061-4/+10
|