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

source§

fn clone(&self) -> NRF_USBD_Type

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for NRF_USBD_Type

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for NRF_USBD_Type

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Copy for NRF_USBD_Type

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.