~ruther/stm32h747i-disco-usb-image-viewer

ref: 9db48e9622188345ed867afec065b1f68690e20d stm32h747i-disco-usb-image-viewer/src/usb_device.c -rw-r--r-- 25.4 KiB
9db48e96 — Rutherther 1 year, 1 month ago
feat: use task_result to indicate blocking

There should be no spin loops inside of the
interrupts, so this change removes them,
and instead uses a result system that has
WOULD_BLOCK result. When this result is returned,
it is expected there was no side-effect and the
function can safely be reran later.
feat: implement enumeration fully
chore: update pin, exti, delay
fix: fifo has to be volatile
feat: implement usb devicd cdc descriptors, init, setup
feat: move all sending instructions to generic send functions
fix: make sure to error if endpoint id not found in interrupt

This generally shouldn't happen,
but it needs to be ensured that the
memory at incorrect place won't be read
or written to!
Otherwise there could be undefined behavior!
This would possibly write to the fifos,
meaning the data the usb sends could be
different than what the application intended!
feat: implement most of enumeration
feat: receive setup packets
wip: usb
feat: add registers, pin, exti, usb_device skeleton