diff options
author | Brian Cully <bjc@kublai.com> | 2019-08-04 15:33:03 -0400 |
---|---|---|
committer | Brian Cully <bjc@kublai.com> | 2019-08-04 19:58:34 -0400 |
commit | e02128bd4d9d2716b55be5db3dccb18f92f01e9c (patch) | |
tree | 8f74b58be72a31a257f11022454fc186060193a3 /TODO.org | |
download | atsamd-usb-host-e02128bd4d9d2716b55be5db3dccb18f92f01e9c.tar.gz atsamd-usb-host-e02128bd4d9d2716b55be5db3dccb18f92f01e9c.zip |
Initial commit
Diffstat (limited to 'TODO.org')
-rw-r--r-- | TODO.org | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/TODO.org b/TODO.org new file mode 100644 index 0000000..710b509 --- /dev/null +++ b/TODO.org @@ -0,0 +1,37 @@ +* Documentation + - README.md + - Literally every trait and method. + +* Use channel for interrupt -> task messages. +Currently we use a static mut which holds the latest event. This was +done for expediency to try and get somethnig working and this was +working in Arduino. It's also massively wrong in the general case and +overflowing with race conditions. + +A channel will allow us to deterministically walk events and make sure +everything's ordered properly. + +* Clean up pipe descriptor stuff. +There's a bunch of unsafe functions that can be made safe. + +* Some SVD patches needed for SAMD21/51. +There's a lot of `unsafe` code where there shouldn't be, because the +SVD files are lacking. + +* Stop passing millis function around. +This is horrible, but currently necessary because there are places +where we need to loop on a timer at it needs to be +hardware-independent. + +If the USB host library can be made asynchronouse, we could instead +pass a current timestamp around and use that for delays where +necessary. + +As a last resort, there's a countdown timer trait in embedded-hal that +may be useful. + +* Tighten up timings on requests. +There are a few timer checks on USB requests, but not necessarily of +the right duration nor subdivided correctly. For instance, the +setup-with-data cycle has requirements on total duration as well as +per-packet duration, but currently we're only using the total. |