Dario Nieuwenhuis
|
d2494486d1
|
Merge pull request #701 from alexmoon/async-usb-stack
Async-ify Driver::enable and UsbDeviceBuilder::build
|
2022-04-07 19:55:00 +02:00 |
|
alexmoon
|
7f9dd1a37b
|
Fix spurious ControlPipe::data_in errors
|
2022-04-07 10:54:21 -04:00 |
|
alexmoon
|
6abbfa9a92
|
Async-ify Driver::enable and UsbDeviceBuilder::build
|
2022-04-07 10:51:26 -04:00 |
|
alexmoon
|
a1754ac8a8
|
embassy-usb-hid bug fixes
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
22a47aeeb2
|
usb: abort control data in/out on reset or when receiving another SETUP.
This removes the horrible timeout hack.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
f6d11dfba5
|
usb: fix slow enumeration with EP0 max_packet_size of 8 or 16.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
b2e517bb28
|
usb/serial: add multitask example.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
3dbb7c9e15
|
usb/hid: add keyboard example.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
de9acf5d48
|
usb/hid: fix infinite loop when N=0
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
6d514a0b31
|
usb/hid: update for endpoint state changes.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
fa9eadcee9
|
Add docserver metadata.
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
2ce435dc34
|
Add basic device state handling for endpoints.
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
99f95a33c3
|
Simplify hid output report handling
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
c8ad82057d
|
Reduce memory overhead and simplify logic for merging endpoint and control request output reports.
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
c309531874
|
Remove output() and split() methods from HidClass when there is no out endpoint, and route set_report requests for output reports to RequestHandler::set_report in that case.
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
daf2379fa4
|
Make the interupt IN endpoint non-optional
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
a51de5a39a
|
Remove the feature report reader
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
cf89c85569
|
Log when reports are dropped without being read.
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
5ee7a85b33
|
Async USB HID class
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
8fe3b44d82
|
usb: log on reset, resume, suspend
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
522a87ae42
|
usb: centralize all control logging in control.rs
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
d7d199f2ac
|
nrf/usb: unify in/out wakers for ep0
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
f5ba022257
|
Refactor ControlPipe to use the typestate pattern for safety
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
77e0aca03b
|
Move data chunking from the driver to the lib
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
1672fdc666
|
usb-serial: make inner guts private.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
cdb7bae51a
|
examples/nrf: don't build usb stuff in stable.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
a435d78cf7
|
usb: cleanup and simplify error handling.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
60d3d11197
|
usb: cleanup logging.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
d1e4b3d7d5
|
usb: add -usb-serial crate, fix warnings and stable build.
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
c06488eb29
|
Support multi-frame data phase control requests
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
d40ebcccf6
|
Add handlers for standard reqs to ControlHandler
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
13370c28db
|
Add a control_buf to UsbDevice
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
c53bb7394a
|
Switch to ControlHandler owned bufs for control_in()
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
a22639ad92
|
Remove UnsafeCell from cdc_acm::Control
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
46bafecb2a
|
Only copy through RAM when needed
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
d7b1f8ca57
|
usb: update docs on ControlHandler.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
e99a3a1da4
|
usb: simplify buffer handling for Control IN transfers.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
bfce731982
|
usb: nicer names for control structs.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
2b547f311e
|
usb: move all control-related stuff to mod control .
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
15cc97d794
|
usb: associate ControlHandlers with interfaces, automatically route requests.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
3412e5dc4a
|
usb: cleanup giant matches in control code.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
a2f5763a67
|
usb: add add_class to builder, so that FooBarClass::new(&mut builder) can set up everything.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
a062baae38
|
nrf/usb: fix wrong DMA read size
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
52c622b1cd
|
Use trait objects instead of generics for UsbDevice::classes
|
2022-04-06 05:38:11 +02:00 |
|
alexmoon
|
bdc6e0481c
|
Add support for USB classes handling control requests.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
5c0db627fe
|
nrf/usb: update where clause syntax.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
9a6d11281d
|
Add some comments on the example.
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
0320500f0f
|
Working CDC-ACM device->host
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
77ceced036
|
Working CDC-ACM host->device
|
2022-04-06 05:38:11 +02:00 |
|
Dario Nieuwenhuis
|
37598a5b37
|
wip: experimental async usb stack
|
2022-04-06 05:38:11 +02:00 |
|