-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
Zephyr's USB subsystem is actually several different subsystems.
host
: Not yet analyzedusb_c
: Not yet analyzeddevice
: This is a deprecated subsystem, and new work should be done withdevice_next
.device_next
: This is the new generation of device modeling. Instead of a fixed configuration,
where the various classes manipulate the descriptors themselves, the new generation requires the
user to provide the descriptors directly. This is generally done with a large number of C macros,
which would not be usable from Rust. However, there are a series of Rust crates around Rust
support for usb devices, such asusbd-hid
,usbd-serial
, etc, as well asusb-device
that
likely could provide equivalent functionality. The work would then involved wrapping the
device_next
apis as well as the apis for the various subsystems.
The USB interface APIs work primarily around callbacks, which would work well with async in Rust.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo