Module usbd

Source
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§

bmrequesttype
SETUP data, byte 0, bmRequestType
brequest
SETUP data, byte 1, bRequest
dpdmvalue
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).
dtoggle
Data toggle control and status
enable
Enable USB
epdatastatus
Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
epin
Cluster Unspecified
epinen
Endpoint IN enable
epout
Cluster Unspecified
epouten
Endpoint OUT enable
epstall
STALL endpoints
epstatus
Provides information on which endpoint’s EasyDMA registers have been captured
eventcause
Details on what caused the USBEVENT event
events_endepin
Description collection[n]: The whole EPIN[n] buffer has been consumed. The RAM buffer can be accessed safely by software.
events_endepout
Description collection[n]: The whole EPOUT[n] buffer has been consumed. The RAM buffer can be accessed safely by software.
events_endisoin
The whole ISOIN buffer has been consumed. The RAM buffer can be accessed safely by software.
events_endisoout
The whole ISOOUT buffer has been consumed. The RAM buffer can be accessed safely by software.
events_ep0datadone
An acknowledged data transfer has taken place on the control endpoint
events_ep0setup
A valid SETUP token has been received (and acknowledged) on the control endpoint
events_epdata
A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
events_sof
Signals that a SOF (start of frame) condition has been detected on USB lines
events_started
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
events_usbevent
An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
events_usbreset
Signals that a USB reset condition has been detected on USB lines
framecntr
Returns the current value of the start of frame counter
halted
Cluster Unspecified
inten
Enable or disable interrupt
intenclr
Disable interrupt
intenset
Enable interrupt
isoin
Cluster Unspecified
isoinconfig
Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
isoout
Cluster Unspecified
isosplit
Controls the split of ISO buffers
lowpower
Controls USBD peripheral low power mode during USB suspend
shorts
Shortcut register
size
Cluster Unspecified
tasks_dpdmdrive
Forces D+ and D- lines into the state defined in the DPDMVALUE register
tasks_dpdmnodrive
Stops forcing D+ and D- lines into any state (USB engine takes control)
tasks_ep0rcvout
Allows OUT data stage on control endpoint 0
tasks_ep0stall
Stalls data and status stage on control endpoint 0
tasks_ep0status
Allows status stage on control endpoint 0
tasks_startepin
Description collection[n]: Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host
tasks_startepout
Description collection[n]: Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host
tasks_startisoin
Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
tasks_startisoout
Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
usbaddr
Device USB address
usbpullup
Control of the USB pull-up
windexh
SETUP data, byte 5, MSB of wIndex
windexl
SETUP data, byte 4, LSB of wIndex
wlengthh
SETUP data, byte 7, MSB of wLength
wlengthl
SETUP data, byte 6, LSB of wLength
wvalueh
SETUP data, byte 3, MSB of wValue
wvaluel
SETUP data, byte 2, LSB of wValue

Structs§

RegisterBlock
Register block

Type Aliases§

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