Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Refactor so Endpoint controls pipe characteristics. | Brian Cully | 2019-08-01 | 3 | -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 Cully | 2019-07-30 | 2 | -11/+52 |
| | | | | Too bad it's still trfail town after the first, but progress! | ||||
* | Only make three attempts to get the keyboard report. | Brian Cully | 2019-07-30 | 1 | -2/+11 |
| | | | | I'm tired of the spam, and three should be enough. | ||||
* | Don't require retries when dispatching. | Brian Cully | 2019-07-30 | 1 | -2/+0 |
| | |||||
* | Use `repr(packed)` on pipe descriptors structure. | Brian Cully | 2019-07-30 | 7 | -35/+107 |
| | | | | Ensure offsets and sizes are correct with tests. | ||||
* | More short packet notes. | Brian Cully | 2019-07-28 | 1 | -1/+3 |
| | |||||
* | Rename USBToken/USBPipeType. | Brian Cully | 2019-07-28 | 2 | -26/+28 |
| | | | | These are implementation details of the samd platform as used. | ||||
* | `control_req` -> `control_transfer`. | Brian Cully | 2019-07-28 | 3 | -9/+13 |
| | | | | | Same as in/out transfer functions now, and matches USB spec terminology. | ||||
* | Update notes on short packets. | Brian Cully | 2019-07-28 | 1 | -6/+5 |
| | |||||
* | Add pipe::NO_DATA_STAGE const for convenience. | Brian Cully | 2019-07-28 | 3 | -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 Cully | 2019-07-28 | 1 | -2/+1 |
| | |||||
* | Remove un-needed asserts. | Brian Cully | 2019-07-28 | 1 | -5/+0 |
| | |||||
* | Make `dispatch_retries` private. | Brian Cully | 2019-07-28 | 1 | -3/+1 |
| | |||||
* | Remove DataBuf exposure outside of pipe impl. | Brian Cully | 2019-07-28 | 3 | -42/+38 |
| | |||||
* | Remove DataBuf dependency in tests. | Brian Cully | 2019-07-28 | 1 | -16/+25 |
| | |||||
* | Get rid of stuff I can't test yet. | Brian Cully | 2019-07-28 | 1 | -21/+0 |
| | |||||
* | Rename RequestType subfields. | Brian Cully | 2019-07-28 | 2 | -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 Cully | 2019-07-28 | 3 | -63/+62 |
| | |||||
* | Rename basic USB protocol types. | Brian Cully | 2019-07-28 | 4 | -67/+71 |
| | |||||
* | Post-SetAddress settle delay is actually 2ms. | Brian Cully | 2019-07-28 | 1 | -1/+1 |
| | |||||
* | Remove delay field from USBHost. | Brian Cully | 2019-07-28 | 1 | -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 Cully | 2019-07-28 | 2 | -3/+68 |
| | |||||
* | Minor cleanup. | Brian Cully | 2019-07-27 | 1 | -9/+0 |
| | |||||
* | Put size assertions in pcksize writers. | Brian Cully | 2019-07-27 | 1 | -0/+4 |
| | |||||
* | Reduce millis function pointer call to one location. | Brian Cully | 2019-07-27 | 1 | -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 Cully | 2019-07-27 | 1 | -34/+37 |
| | |||||
* | Make dtgl_set/clear private again. | Brian Cully | 2019-07-27 | 1 | -11/+5 |
| | |||||
* | Remove un-needed return. | Brian Cully | 2019-07-27 | 1 | -1/+1 |
| | |||||
* | Move post-address device config to Device impl. | Brian Cully | 2019-07-27 | 3 | -195/+285 |
| | |||||
* | WIP: we have lights on the keyboard! | Brian Cully | 2019-07-27 | 4 | -47/+215 |
| | |||||
* | Remove unused structs. | Brian Cully | 2019-07-25 | 1 | -47/+0 |
| | |||||
* | Update log levels. | Brian Cully | 2019-07-25 | 2 | -48/+58 |
| | |||||
* | Read entire buffers during IN transfers. | Brian Cully | 2019-07-25 | 1 | -27/+32 |
| | |||||
* | Add modify method for ADDR. | Brian Cully | 2019-07-25 | 1 | -2/+12 |
| | |||||
* | Update PCKSIZE for correct BYTE_COUNT offset and length. | Brian Cully | 2019-07-25 | 1 | -8/+12 |
| | |||||
* | Remove duplicate test code. | Brian Cully | 2019-07-25 | 1 | -57/+28 |
| | |||||
* | Add deserialize tests for usbproto as well. | Brian Cully | 2019-07-25 | 1 | -0/+40 |
| | |||||
* | Make DataBuf hold a mut pointer. | Brian Cully | 2019-07-25 | 3 | -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 Cully | 2019-07-25 | 1 | -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 Cully | 2019-07-25 | 1 | -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 Cully | 2019-07-25 | 1 | -3/+1 |
| | | | | | USBHost::new() sets up the state machine to initialize immediately, so rely on that, rather than initializing twice on CPU reset. | ||||
* | License for rb and usbh. | Brian Cully | 2019-07-25 | 1 | -0/+1 |
| | |||||
* | Move USB host stuff to separate crate. | Brian Cully | 2019-07-25 | 11 | -0/+3113 |