riot_sys

Struct 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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>,

Source§

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>,

Source§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 1964 bytes