aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Remove duplicate test code.Brian Cully2019-07-251-57/+28
|
* Add deserialize tests for usbproto as well.Brian Cully2019-07-251-0/+40
|
* Make DataBuf hold a mut pointer.Brian Cully2019-07-253-20/+20
| | | | | Since this is being used by hardware DMA, and the hardware treats it as mutable, lets mark it as such.
* Put packet repr back. Add tests.Brian Cully2019-07-251-14/+130
| | | | | Packed was causing problems for logging, so use derived Debug impl instead. Add tests to make sure serialization works as expected.
* Allow dead code in crate.Brian Cully2019-07-251-9/+7
| | | | | We have to stub out a lot of stuff from USB protocol and hardware, and it may or may not get used, so quash the warning.
* Only reset USB during initialization state.Brian Cully2019-07-251-3/+1
| | | | | USBHost::new() sets up the state machine to initialize immediately, so rely on that, rather than initializing twice on CPU reset.
* Remove bare-metal and cortex-m-semihosting deps.Brian Cully2019-07-252-4/+2
|
* License for rb and usbh.Brian Cully2019-07-252-0/+2
|
* Move USB host stuff to separate crate.Brian Cully2019-07-2515-39/+358
|
* Remove packed structs.Brian Cully2019-07-242-6/+6
| | | | | | | | | | These were causing hard faults when trying to deref a borrow, presumably because of a lack of field alignment. This does mean structs aren't the correct size (e.g., USBConfigurationDescription is 10 bytes instead of 9 on thumb6), so another solution needs to be fonud for getting data in and out of structs with a minimum of overhead.
* Use log crate instead of hand-rolled solution.Brian Cully2019-07-249-196/+249
| | | | | | | | | | | * Remove my logging macros except *_now variants, since those are still handy. * Move log flush into RTC handler. This probably belongs in a separate timer at some point. * Change all old log messages to log crate's macros, except the Panic and HardFault calls.
* Remove link to license-file.Brian Cully2019-07-241-1/+1
|
* test adding config get. doesn't work.Brian Cully2019-07-231-1/+17
|
* Initial commit.Brian Cully2019-07-2326-0/+4649