aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add licenses.Brian Cully2019-08-0410-2/+2401
|
* Migrate everything over to separate libraries.Brian Cully2019-08-0428-1485/+444
| | | | | | | | | | | * `usb-host` is the crate containing the HAL traits. * `bootkbd` is a crate for a bare-bones boot protocol keyboard driver. * `samd21-host` is a crate with an implementation of `usb-host` for a SAMD21 platform, with an example for the trinket-m0 which uses the `bootkbd` driver to print keyboard reports.
* Add boot keyboard driver.Brian Cully2019-08-023-0/+372
|
* Add traits for host controller and driver.Brian Cully2019-08-025-0/+352
|
* Update "Features" section of README.HEADnextmasterBrian Cully2019-08-011-4/+3
| | | | It will, in fact, spit out keyboard reports to UART.
* Add TODO note for packet sizes on pipes.Brian Cully2019-08-011-0/+6
|
* Add packet dump of logitech g105 <-> linux protocol.Brian Cully2019-08-011-0/+0
| | | | Includes boot and a couple key presess.
* Switch to INFO level logs.Brian Cully2019-08-011-1/+1
| | | | You can't see keyboard reports come in on trace.
* Add TODO file.Brian Cully2019-08-011-0/+60
|
* Short-circuit out of NAK on interrupt pipes.Brian Cully2019-08-012-8/+14
| | | | | Don't bother retrying. NAK on an interrupt endpoint means there's no data.
* Minor reorg.Brian Cully2019-08-011-13/+13
|
* Remove debugging code.Brian Cully2019-08-011-57/+0
|
* Refactor so Endpoint controls pipe characteristics.Brian Cully2019-08-013-145/+322
| | | | | | Endpoints know their own address, number, max packet size, and data toggle states. When a pipe is needed, pass in the endpoint its needed for so that configuration can happen according to that endpoint.
* WIP: Holy smokes I read my first keyboard report.Brian Cully2019-07-302-11/+52
| | | | Too bad it's still trfail town after the first, but progress!
* Only make three attempts to get the keyboard report.Brian Cully2019-07-301-2/+11
| | | | I'm tired of the spam, and three should be enough.
* Don't require retries when dispatching.Brian Cully2019-07-301-2/+0
|
* Use `repr(packed)` on pipe descriptors structure.Brian Cully2019-07-307-35/+107
| | | | Ensure offsets and sizes are correct with tests.
* Update dotstar with interrupts disabled.Brian Cully2019-07-301-6/+10
| | | | Output is more solid now, but still flickers badly with heavy serial.
* More short packet notes.Brian Cully2019-07-281-1/+3
|
* Rename USBToken/USBPipeType.Brian Cully2019-07-282-26/+28
| | | | These are implementation details of the samd platform as used.
* `control_req` -> `control_transfer`.Brian Cully2019-07-283-9/+13
| | | | | Same as in/out transfer functions now, and matches USB spec terminology.
* Update notes on short packets.Brian Cully2019-07-281-6/+5
|
* Add pipe::NO_DATA_STAGE const for convenience.Brian Cully2019-07-283-6/+11
| | | | | For use in `control_req`'s buffer argument if no data stage is required. It was either this or have a separate function.
* Put word-aligned assert back in addr reg.Brian Cully2019-07-281-2/+1
|
* Remove un-needed asserts.Brian Cully2019-07-281-5/+0
|
* Make `dispatch_retries` private.Brian Cully2019-07-281-3/+1
|
* Remove DataBuf exposure outside of pipe impl.Brian Cully2019-07-283-42/+38
|
* Remove DataBuf dependency in tests.Brian Cully2019-07-281-16/+25
|
* Get rid of stuff I can't test yet.Brian Cully2019-07-281-21/+0
|
* Rename RequestType subfields.Brian Cully2019-07-282-79/+78
| | | | | | | Mostly obvious stuff, but change `USBSetupType` to `RequestKind`, so it doesn't conflict with the `RequestType` in which it lives. This also solves the problem with `typ` and `set_typ` methods (now `kind` and `set_kind`).
* Use TryFrom where possible, instead of panicking.Brian Cully2019-07-283-63/+62
|
* Rename basic USB protocol types.Brian Cully2019-07-284-67/+71
|
* Post-SetAddress settle delay is actually 2ms.Brian Cully2019-07-281-1/+1
|
* Remove delay field from USBHost.Brian Cully2019-07-281-12/+11
| | | | | It was being used for FSM timings, so put it directly on the state discriminant if required.
* WIP: read keyboard report (doesn't work)Brian Cully2019-07-282-3/+68
|
* Minor cleanup.Brian Cully2019-07-271-9/+0
|
* Put size assertions in pcksize writers.Brian Cully2019-07-271-0/+4
|
* Reduce millis function pointer call to one location.Brian Cully2019-07-271-63/+59
| | | | | Trying to remove this function entirely from pipe/device in order to make it non-blocking. Right now it's only used for dispatch_retries.
* Move log_regs.Brian Cully2019-07-271-34/+37
|
* Make dtgl_set/clear private again.Brian Cully2019-07-271-11/+5
|
* Remove un-needed return.Brian Cully2019-07-271-1/+1
|
* Move post-address device config to Device impl.Brian Cully2019-07-273-195/+285
|
* Put milliseconds since boot in log output.Brian Cully2019-07-271-1/+3
|
* WIP: we have lights on the keyboard!Brian Cully2019-07-274-47/+215
|
* Remove unused structs.Brian Cully2019-07-251-47/+0
|
* Update log levels.Brian Cully2019-07-255-58/+68
|
* remove uf2 loader.Brian Cully2019-07-251-0/+0
|
* Read entire buffers during IN transfers.Brian Cully2019-07-251-27/+32
|
* Add modify method for ADDR.Brian Cully2019-07-251-2/+12
|
* Update PCKSIZE for correct BYTE_COUNT offset and length.Brian Cully2019-07-251-8/+12
|