feat: allow skipping queue for larger memory moves
feat: allow reading larger packets without data loss
chore: move firmware to firmware/ folder
feat: implement cdc application layer, fix enumeration
chore: fix packing on x86_64
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.
docs: add documentation comments to most functions
feat: implement usb devicd cdc descriptors, init, setup