aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb/src
Commit message (Collapse)AuthorAgeFilesLines
...
* nRF documentation warning fixesUlf Lilleengen2022-08-223-4/+7
|
* Split embassy crate into embassy-executor, embassy-util.Dario Nieuwenhuis2022-07-291-1/+1
|
* Build in a new Unpowered statehuntc2022-07-081-24/+21
| | | | Replaces the sub-state of representing being being available. Power states also now set enable/disable directly too, which simplifies code.
* Puts in the machinery to handle power detected/removedhuntc2022-07-073-71/+23
|
* Introduces EnabledUsbDevicehuntc2022-07-072-0/+69
| | | | EnabledUsbDevice is a wrapper around the UsbDevice where their enablement is also subject to external events, such as POWER events for nRF. It is introduced generically to support other platforms should they also require external signalling for enablement.
* Run rustfmt.Dario Nieuwenhuis2022-06-124-71/+23
|
* 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: make ControlPipe accept, reject async.Dario Nieuwenhuis2022-05-302-5/+11
|
* usb: add first, last params to ControlPipe data_in, data_out.Dario Nieuwenhuis2022-05-302-7/+26
|
* usb: remove is_stalled, set_stalled from Endpoint.Dario Nieuwenhuis2022-05-301-9/+0
| | | | | They're unused, and I believe it's not allowed for classes to stall EPs on their own?
* usb: delay bus.set_address() to after ending the control transfer.Dario Nieuwenhuis2022-05-301-7/+20
|
* usb: parse request in embassy-usb instead of the driver.Dario Nieuwenhuis2022-05-122-4/+4
|
* usb: merge `alloc_control_pipe` and `into_bus` into `start`.Dario Nieuwenhuis2022-05-102-16/+13
| | | | | This prevents calling `alloc_control_pipe` twice at compile time, which was always an error.
* usb: merge Control logic into main code.Dario Nieuwenhuis2022-05-092-168/+86
| | | | | Now that control stuff is called from just one place, there's no need to keep it as a separate struct.
* usb: simplify control in/out handlng, calling response from a single place.Dario Nieuwenhuis2022-05-093-148/+152
|
* usb: remove address arg from endpoint allocation.Dario Nieuwenhuis2022-05-092-10/+6
|
* usb: add support for custom string descriptors.Dario Nieuwenhuis2022-04-233-17/+59
|
* usb: set the interface handler in InterfaceBuilder.Dario Nieuwenhuis2022-04-231-5/+6
|
* usb: builtin handling of interface alternate settingsDario Nieuwenhuis2022-04-237-95/+279
| | | | | | | | 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-162-179/+185
| | | | | | | 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-162-4/+4
|
* usb: fix wrong logging of CONTROL OUT data.Dario Nieuwenhuis2022-04-151-2/+2
|
* Split UsbDevice::run into run and run_until_suspendalexmoon2022-04-131-48/+81
|
* Remove channel and make run future cancelablealexmoon2022-04-133-172/+72
|
* Use embassy::util::select3alexmoon2022-04-132-52/+1
|
* Make Driver::disable async and fix commentalexmoon2022-04-132-4/+5
|
* Remote wakeup bug fixesalexmoon2022-04-131-12/+18
|
* Add DeviceStateHandler, DeviceCommand channel, and remote wakeup supportalexmoon2022-04-134-57/+280
|
* Unify ReadError and WriteError into EndpointErroralexmoon2022-04-092-23/+11
|
* Async-ify Driver::enable and UsbDeviceBuilder::buildalexmoon2022-04-073-13/+15
|
* usb: abort control data in/out on reset or when receiving another SETUP.Dario Nieuwenhuis2022-04-062-2/+8
| | | | This removes the horrible timeout hack.
* usb: fix slow enumeration with EP0 max_packet_size of 8 or 16.Dario Nieuwenhuis2022-04-062-2/+15
|
* Add basic device state handling for endpoints.alexmoon2022-04-062-2/+17
|
* Simplify hid output report handlingalexmoon2022-04-061-8/+0
|
* Reduce memory overhead and simplify logic for merging endpoint and control ↵alexmoon2022-04-061-0/+8
| | | | request output reports.
* usb: log on reset, resume, suspendDario Nieuwenhuis2022-04-061-1/+5
|
* usb: centralize all control logging in control.rsDario Nieuwenhuis2022-04-062-11/+17
|
* Refactor ControlPipe to use the typestate pattern for safetyalexmoon2022-04-062-122/+157
|
* Move data chunking from the driver to the libalexmoon2022-04-062-32/+106
|
* usb: cleanup and simplify error handling.Dario Nieuwenhuis2022-04-063-51/+36
|
* usb: cleanup logging.Dario Nieuwenhuis2022-04-061-1/+1
|
* usb: add -usb-serial crate, fix warnings and stable build.Dario Nieuwenhuis2022-04-062-7/+4
|
* Add handlers for standard reqs to ControlHandleralexmoon2022-04-062-37/+63
|
* Add a control_buf to UsbDevicealexmoon2022-04-063-5/+21
|
* Switch to ControlHandler owned bufs for control_in()alexmoon2022-04-062-11/+7
|
* usb: update docs on ControlHandler.Dario Nieuwenhuis2022-04-061-17/+4
|
* usb: simplify buffer handling for Control IN transfers.Dario Nieuwenhuis2022-04-062-54/+13
|
* usb: nicer names for control structs.Dario Nieuwenhuis2022-04-062-24/+20
|
* usb: move all control-related stuff to `mod control`.Dario Nieuwenhuis2022-04-064-108/+105
|
* usb: associate ControlHandlers with interfaces, automatically route requests.Dario Nieuwenhuis2022-04-063-74/+76
|