Expand description

Universal serial bus device

Re-exports

pub use halted::HALTED;
pub use size::SIZE;
pub use epin::EPIN;
pub use isoin::ISOIN;
pub use epout::EPOUT;
pub use isoout::ISOOUT;

Modules

SETUP data, byte 0, bmRequestType
SETUP data, byte 1, bRequest
State D+ and D- lines will be forced into by the DPDMDRIVE task. The DPDMNODRIVE task reverts the control of the lines to MAC IP (no forcing).
Data toggle control and status
Enable USB
Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
Cluster Unspecified
Endpoint IN enable
Cluster Unspecified
Endpoint OUT enable
STALL endpoints
Provides information on which endpoint’s EasyDMA registers have been captured
Details on what caused the USBEVENT event
Description collection: The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
Description collection: The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
An acknowledged data transfer has taken place on the control endpoint
A valid SETUP token has been received (and acknowledged) on the control endpoint
A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
Signals that a SOF (start of frame) condition has been detected on USB lines
Confirms that the EPIN[n].PTR and EPIN[n].MAXCNT, or EPOUT[n].PTR and EPOUT[n].MAXCNT registers have been captured on all endpoints reported in the EPSTATUS register
An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
Signals that a USB reset condition has been detected on USB lines
Returns the current value of the start of frame counter
Cluster Unspecified
Enable or disable interrupt
Disable interrupt
Enable interrupt
Cluster Unspecified
Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
Cluster Unspecified
Controls the split of ISO buffers
Controls USBD peripheral low power mode during USB suspend
Shortcuts between local events and tasks
Cluster Unspecified
Forces D+ and D- lines into the state defined in the DPDMVALUE register
Stops forcing D+ and D- lines into any state (USB engine takes control)
Allows OUT data stage on control endpoint 0
Stalls data and status stage on control endpoint 0
Allows status stage on control endpoint 0
Description collection: Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host
Description collection: Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host
Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
Device USB address
Control of the USB pull-up
SETUP data, byte 5, MSB of wIndex
SETUP data, byte 4, LSB of wIndex
SETUP data, byte 7, MSB of wLength
SETUP data, byte 6, LSB of wLength
SETUP data, byte 3, MSB of wValue
SETUP data, byte 2, LSB of wValue

Structs

Register block

Type Definitions

BMREQUESTTYPE (r) register accessor: an alias for Reg<BMREQUESTTYPE_SPEC>
BREQUEST (r) register accessor: an alias for Reg<BREQUEST_SPEC>
DPDMVALUE (rw) register accessor: an alias for Reg<DPDMVALUE_SPEC>
DTOGGLE (rw) register accessor: an alias for Reg<DTOGGLE_SPEC>
ENABLE (rw) register accessor: an alias for Reg<ENABLE_SPEC>
EPDATASTATUS (rw) register accessor: an alias for Reg<EPDATASTATUS_SPEC>
EPINEN (rw) register accessor: an alias for Reg<EPINEN_SPEC>
EPOUTEN (rw) register accessor: an alias for Reg<EPOUTEN_SPEC>
EPSTALL (w) register accessor: an alias for Reg<EPSTALL_SPEC>
EPSTATUS (rw) register accessor: an alias for Reg<EPSTATUS_SPEC>
EVENTCAUSE (rw) register accessor: an alias for Reg<EVENTCAUSE_SPEC>
EVENTS_ENDEPIN (rw) register accessor: an alias for Reg<EVENTS_ENDEPIN_SPEC>
EVENTS_ENDEPOUT (rw) register accessor: an alias for Reg<EVENTS_ENDEPOUT_SPEC>
EVENTS_ENDISOIN (rw) register accessor: an alias for Reg<EVENTS_ENDISOIN_SPEC>
EVENTS_ENDISOOUT (rw) register accessor: an alias for Reg<EVENTS_ENDISOOUT_SPEC>
EVENTS_EP0DATADONE (rw) register accessor: an alias for Reg<EVENTS_EP0DATADONE_SPEC>
EVENTS_EP0SETUP (rw) register accessor: an alias for Reg<EVENTS_EP0SETUP_SPEC>
EVENTS_EPDATA (rw) register accessor: an alias for Reg<EVENTS_EPDATA_SPEC>
EVENTS_SOF (rw) register accessor: an alias for Reg<EVENTS_SOF_SPEC>
EVENTS_STARTED (rw) register accessor: an alias for Reg<EVENTS_STARTED_SPEC>
EVENTS_USBEVENT (rw) register accessor: an alias for Reg<EVENTS_USBEVENT_SPEC>
EVENTS_USBRESET (rw) register accessor: an alias for Reg<EVENTS_USBRESET_SPEC>
FRAMECNTR (r) register accessor: an alias for Reg<FRAMECNTR_SPEC>
INTEN (rw) register accessor: an alias for Reg<INTEN_SPEC>
INTENCLR (rw) register accessor: an alias for Reg<INTENCLR_SPEC>
INTENSET (rw) register accessor: an alias for Reg<INTENSET_SPEC>
ISOINCONFIG (rw) register accessor: an alias for Reg<ISOINCONFIG_SPEC>
ISOSPLIT (rw) register accessor: an alias for Reg<ISOSPLIT_SPEC>
LOWPOWER (rw) register accessor: an alias for Reg<LOWPOWER_SPEC>
SHORTS (rw) register accessor: an alias for Reg<SHORTS_SPEC>
TASKS_DPDMDRIVE (w) register accessor: an alias for Reg<TASKS_DPDMDRIVE_SPEC>
TASKS_DPDMNODRIVE (w) register accessor: an alias for Reg<TASKS_DPDMNODRIVE_SPEC>
TASKS_EP0RCVOUT (w) register accessor: an alias for Reg<TASKS_EP0RCVOUT_SPEC>
TASKS_EP0STALL (w) register accessor: an alias for Reg<TASKS_EP0STALL_SPEC>
TASKS_EP0STATUS (w) register accessor: an alias for Reg<TASKS_EP0STATUS_SPEC>
TASKS_STARTEPIN (w) register accessor: an alias for Reg<TASKS_STARTEPIN_SPEC>
TASKS_STARTEPOUT (w) register accessor: an alias for Reg<TASKS_STARTEPOUT_SPEC>
TASKS_STARTISOIN (w) register accessor: an alias for Reg<TASKS_STARTISOIN_SPEC>
TASKS_STARTISOOUT (w) register accessor: an alias for Reg<TASKS_STARTISOOUT_SPEC>
USBADDR (r) register accessor: an alias for Reg<USBADDR_SPEC>
USBPULLUP (rw) register accessor: an alias for Reg<USBPULLUP_SPEC>
WINDEXH (r) register accessor: an alias for Reg<WINDEXH_SPEC>
WINDEXL (r) register accessor: an alias for Reg<WINDEXL_SPEC>
WLENGTHH (r) register accessor: an alias for Reg<WLENGTHH_SPEC>
WLENGTHL (r) register accessor: an alias for Reg<WLENGTHL_SPEC>
WVALUEH (r) register accessor: an alias for Reg<WVALUEH_SPEC>
WVALUEL (r) register accessor: an alias for Reg<WVALUEL_SPEC>