Struct riot_sys::NRF_USBD_Type
source · #[repr(C)]pub struct NRF_USBD_Type {Show 65 fields
pub RESERVED: u32,
pub TASKS_STARTEPIN: [u32; 8],
pub TASKS_STARTISOIN: u32,
pub TASKS_STARTEPOUT: [u32; 8],
pub TASKS_STARTISOOUT: u32,
pub TASKS_EP0RCVOUT: u32,
pub TASKS_EP0STATUS: u32,
pub TASKS_EP0STALL: u32,
pub TASKS_DPDMDRIVE: u32,
pub TASKS_DPDMNODRIVE: u32,
pub RESERVED1: [u32; 40],
pub EVENTS_USBRESET: u32,
pub EVENTS_STARTED: u32,
pub EVENTS_ENDEPIN: [u32; 8],
pub EVENTS_EP0DATADONE: u32,
pub EVENTS_ENDISOIN: u32,
pub EVENTS_ENDEPOUT: [u32; 8],
pub EVENTS_ENDISOOUT: u32,
pub EVENTS_SOF: u32,
pub EVENTS_USBEVENT: u32,
pub EVENTS_EP0SETUP: u32,
pub EVENTS_EPDATA: u32,
pub RESERVED2: [u32; 39],
pub SHORTS: u32,
pub RESERVED3: [u32; 63],
pub INTEN: u32,
pub INTENSET: u32,
pub INTENCLR: u32,
pub RESERVED4: [u32; 61],
pub EVENTCAUSE: u32,
pub RESERVED5: [u32; 7],
pub HALTED: USBD_HALTED_Type,
pub RESERVED6: u32,
pub EPSTATUS: u32,
pub EPDATASTATUS: u32,
pub USBADDR: u32,
pub RESERVED7: [u32; 3],
pub BMREQUESTTYPE: u32,
pub BREQUEST: u32,
pub WVALUEL: u32,
pub WVALUEH: u32,
pub WINDEXL: u32,
pub WINDEXH: u32,
pub WLENGTHL: u32,
pub WLENGTHH: u32,
pub SIZE: USBD_SIZE_Type,
pub RESERVED8: [u32; 15],
pub ENABLE: u32,
pub USBPULLUP: u32,
pub DPDMVALUE: u32,
pub DTOGGLE: u32,
pub EPINEN: u32,
pub EPOUTEN: u32,
pub EPSTALL: u32,
pub ISOSPLIT: u32,
pub FRAMECNTR: u32,
pub RESERVED9: [u32; 2],
pub LOWPOWER: u32,
pub ISOINCONFIG: u32,
pub RESERVED10: [u32; 51],
pub EPIN: [USBD_EPIN_Type; 8],
pub ISOIN: USBD_ISOIN_Type,
pub RESERVED11: [u32; 21],
pub EPOUT: [USBD_EPOUT_Type; 8],
pub ISOOUT: USBD_ISOOUT_Type,
}
Expand description
@brief Universal serial bus device (USBD)
Fields§
§RESERVED: u32
§TASKS_STARTEPIN: [u32; 8]
< (@ 0x00000004) Description collection: Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host
TASKS_STARTISOIN: u32
< (@ 0x00000024) Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
TASKS_STARTEPOUT: [u32; 8]
< (@ 0x00000028) Description collection: Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host
TASKS_STARTISOOUT: u32
< (@ 0x00000048) Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
TASKS_EP0RCVOUT: u32
< (@ 0x0000004C) Allows OUT data stage on control endpoint 0
TASKS_EP0STATUS: u32
< (@ 0x00000050) Allows status stage on control endpoint 0
TASKS_EP0STALL: u32
< (@ 0x00000054) Stalls data and status stage on control endpoint 0
TASKS_DPDMDRIVE: u32
< (@ 0x00000058) Forces D+ and D- lines into the state defined in the DPDMVALUE register
TASKS_DPDMNODRIVE: u32
< (@ 0x0000005C) Stops forcing D+ and D- lines into any state (USB engine takes control)
RESERVED1: [u32; 40]
§EVENTS_USBRESET: u32
< (@ 0x00000100) Signals that a USB reset condition has been detected on USB lines
EVENTS_STARTED: u32
< (@ 0x00000104) 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_ENDEPIN: [u32; 8]
< (@ 0x00000108) Description collection: The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
EVENTS_EP0DATADONE: u32
< (@ 0x00000128) An acknowledged data transfer has taken place on the control endpoint
EVENTS_ENDISOIN: u32
< (@ 0x0000012C) The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
EVENTS_ENDEPOUT: [u32; 8]
< (@ 0x00000130) Description collection: The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
EVENTS_ENDISOOUT: u32
< (@ 0x00000150) The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
EVENTS_SOF: u32
< (@ 0x00000154) Signals that a SOF (start of frame) condition has been detected on USB lines
EVENTS_USBEVENT: u32
< (@ 0x00000158) An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
EVENTS_EP0SETUP: u32
< (@ 0x0000015C) A valid SETUP token has been received (and acknowledged) on the control endpoint
EVENTS_EPDATA: u32
< (@ 0x00000160) A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
RESERVED2: [u32; 39]
§SHORTS: u32
< (@ 0x00000200) Shortcuts between local events and tasks
RESERVED3: [u32; 63]
§INTEN: u32
< (@ 0x00000300) Enable or disable interrupt
INTENSET: u32
< (@ 0x00000304) Enable interrupt
INTENCLR: u32
< (@ 0x00000308) Disable interrupt
RESERVED4: [u32; 61]
§EVENTCAUSE: u32
< (@ 0x00000400) Details on what caused the USBEVENT event
RESERVED5: [u32; 7]
§HALTED: USBD_HALTED_Type
< (@ 0x00000420) Unspecified
RESERVED6: u32
§EPSTATUS: u32
< (@ 0x00000468) Provides information on which endpoint’s EasyDMA registers have been captured
EPDATASTATUS: u32
< (@ 0x0000046C) Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
USBADDR: u32
< (@ 0x00000470) Device USB address
RESERVED7: [u32; 3]
§BMREQUESTTYPE: u32
< (@ 0x00000480) SETUP data, byte 0, bmRequestType
BREQUEST: u32
< (@ 0x00000484) SETUP data, byte 1, bRequest
WVALUEL: u32
< (@ 0x00000488) SETUP data, byte 2, LSB of wValue
WVALUEH: u32
< (@ 0x0000048C) SETUP data, byte 3, MSB of wValue
WINDEXL: u32
< (@ 0x00000490) SETUP data, byte 4, LSB of wIndex
WINDEXH: u32
< (@ 0x00000494) SETUP data, byte 5, MSB of wIndex
WLENGTHL: u32
< (@ 0x00000498) SETUP data, byte 6, LSB of wLength
WLENGTHH: u32
< (@ 0x0000049C) SETUP data, byte 7, MSB of wLength
SIZE: USBD_SIZE_Type
< (@ 0x000004A0) Unspecified
RESERVED8: [u32; 15]
§ENABLE: u32
< (@ 0x00000500) Enable USB
USBPULLUP: u32
< (@ 0x00000504) Control of the USB pull-up
DPDMVALUE: u32
< (@ 0x00000508) 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: u32
< (@ 0x0000050C) Data toggle control and status
EPINEN: u32
< (@ 0x00000510) Endpoint IN enable
EPOUTEN: u32
< (@ 0x00000514) Endpoint OUT enable
EPSTALL: u32
< (@ 0x00000518) STALL endpoints
ISOSPLIT: u32
< (@ 0x0000051C) Controls the split of ISO buffers
FRAMECNTR: u32
< (@ 0x00000520) Returns the current value of the start of frame counter
RESERVED9: [u32; 2]
§LOWPOWER: u32
< (@ 0x0000052C) Controls USBD peripheral low power mode during USB suspend
ISOINCONFIG: u32
< (@ 0x00000530) Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
RESERVED10: [u32; 51]
§EPIN: [USBD_EPIN_Type; 8]
< (@ 0x00000600) Unspecified
ISOIN: USBD_ISOIN_Type
< (@ 0x000006A0) Unspecified
RESERVED11: [u32; 21]
§EPOUT: [USBD_EPOUT_Type; 8]
< (@ 0x00000700) Unspecified
ISOOUT: USBD_ISOOUT_Type
< (@ 0x000007A0) Unspecified
Trait Implementations§
source§impl Clone for NRF_USBD_Type
impl Clone for NRF_USBD_Type
source§fn clone(&self) -> NRF_USBD_Type
fn clone(&self) -> NRF_USBD_Type
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more