Struct microbit::hal::pac::usbd::RegisterBlock [−]
#[repr(C)]pub struct RegisterBlock {}Show fields
pub tasks_startepin: [Reg<u32, _TASKS_STARTEPIN>; 8], pub tasks_startisoin: Reg<u32, _TASKS_STARTISOIN>, pub tasks_startepout: [Reg<u32, _TASKS_STARTEPOUT>; 8], pub tasks_startisoout: Reg<u32, _TASKS_STARTISOOUT>, pub tasks_ep0rcvout: Reg<u32, _TASKS_EP0RCVOUT>, pub tasks_ep0status: Reg<u32, _TASKS_EP0STATUS>, pub tasks_ep0stall: Reg<u32, _TASKS_EP0STALL>, pub tasks_dpdmdrive: Reg<u32, _TASKS_DPDMDRIVE>, pub tasks_dpdmnodrive: Reg<u32, _TASKS_DPDMNODRIVE>, pub events_usbreset: Reg<u32, _EVENTS_USBRESET>, pub events_started: Reg<u32, _EVENTS_STARTED>, pub events_endepin: [Reg<u32, _EVENTS_ENDEPIN>; 8], pub events_ep0datadone: Reg<u32, _EVENTS_EP0DATADONE>, pub events_endisoin: Reg<u32, _EVENTS_ENDISOIN>, pub events_endepout: [Reg<u32, _EVENTS_ENDEPOUT>; 8], pub events_endisoout: Reg<u32, _EVENTS_ENDISOOUT>, pub events_sof: Reg<u32, _EVENTS_SOF>, pub events_usbevent: Reg<u32, _EVENTS_USBEVENT>, pub events_ep0setup: Reg<u32, _EVENTS_EP0SETUP>, pub events_epdata: Reg<u32, _EVENTS_EPDATA>, pub shorts: Reg<u32, _SHORTS>, pub inten: Reg<u32, _INTEN>, pub intenset: Reg<u32, _INTENSET>, pub intenclr: Reg<u32, _INTENCLR>, pub eventcause: Reg<u32, _EVENTCAUSE>, pub halted: HALTED, pub epstatus: Reg<u32, _EPSTATUS>, pub epdatastatus: Reg<u32, _EPDATASTATUS>, pub usbaddr: Reg<u32, _USBADDR>, pub bmrequesttype: Reg<u32, _BMREQUESTTYPE>, pub brequest: Reg<u32, _BREQUEST>, pub wvaluel: Reg<u32, _WVALUEL>, pub wvalueh: Reg<u32, _WVALUEH>, pub windexl: Reg<u32, _WINDEXL>, pub windexh: Reg<u32, _WINDEXH>, pub wlengthl: Reg<u32, _WLENGTHL>, pub wlengthh: Reg<u32, _WLENGTHH>, pub size: SIZE, pub enable: Reg<u32, _ENABLE>, pub usbpullup: Reg<u32, _USBPULLUP>, pub dpdmvalue: Reg<u32, _DPDMVALUE>, pub dtoggle: Reg<u32, _DTOGGLE>, pub epinen: Reg<u32, _EPINEN>, pub epouten: Reg<u32, _EPOUTEN>, pub epstall: Reg<u32, _EPSTALL>, pub isosplit: Reg<u32, _ISOSPLIT>, pub framecntr: Reg<u32, _FRAMECNTR>, pub lowpower: Reg<u32, _LOWPOWER>, pub isoinconfig: Reg<u32, _ISOINCONFIG>, pub epin0: EPIN, pub epin1: EPIN, pub epin2: EPIN, pub epin3: EPIN, pub epin4: EPIN, pub epin5: EPIN, pub epin6: EPIN, pub epin7: EPIN, pub isoin: ISOIN, pub epout0: EPOUT, pub epout1: EPOUT, pub epout2: EPOUT, pub epout3: EPOUT, pub epout4: EPOUT, pub epout5: EPOUT, pub epout6: EPOUT, pub epout7: EPOUT, pub isoout: ISOOUT, // some fields omitted
Expand description
Register block
Fields
tasks_startepin: [Reg<u32, _TASKS_STARTEPIN>; 8]0x04 - 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: Reg<u32, _TASKS_STARTISOIN>0x24 - Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
tasks_startepout: [Reg<u32, _TASKS_STARTEPOUT>; 8]0x28 - 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: Reg<u32, _TASKS_STARTISOOUT>0x48 - Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
tasks_ep0rcvout: Reg<u32, _TASKS_EP0RCVOUT>0x4c - Allows OUT data stage on control endpoint 0
tasks_ep0status: Reg<u32, _TASKS_EP0STATUS>0x50 - Allows status stage on control endpoint 0
tasks_ep0stall: Reg<u32, _TASKS_EP0STALL>0x54 - Stalls data and status stage on control endpoint 0
tasks_dpdmdrive: Reg<u32, _TASKS_DPDMDRIVE>0x58 - Forces D+ and D- lines into the state defined in the DPDMVALUE register
tasks_dpdmnodrive: Reg<u32, _TASKS_DPDMNODRIVE>0x5c - Stops forcing D+ and D- lines into any state (USB engine takes control)
events_usbreset: Reg<u32, _EVENTS_USBRESET>0x100 - Signals that a USB reset condition has been detected on USB lines
events_started: Reg<u32, _EVENTS_STARTED>0x104 - 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: [Reg<u32, _EVENTS_ENDEPIN>; 8]0x108 - Description collection: The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
events_ep0datadone: Reg<u32, _EVENTS_EP0DATADONE>0x128 - An acknowledged data transfer has taken place on the control endpoint
events_endisoin: Reg<u32, _EVENTS_ENDISOIN>0x12c - The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
events_endepout: [Reg<u32, _EVENTS_ENDEPOUT>; 8]0x130 - Description collection: The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
events_endisoout: Reg<u32, _EVENTS_ENDISOOUT>0x150 - The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
events_sof: Reg<u32, _EVENTS_SOF>0x154 - Signals that a SOF (start of frame) condition has been detected on USB lines
events_usbevent: Reg<u32, _EVENTS_USBEVENT>0x158 - An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
events_ep0setup: Reg<u32, _EVENTS_EP0SETUP>0x15c - A valid SETUP token has been received (and acknowledged) on the control endpoint
events_epdata: Reg<u32, _EVENTS_EPDATA>0x160 - A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
shorts: Reg<u32, _SHORTS>0x200 - Shortcuts between local events and tasks
inten: Reg<u32, _INTEN>0x300 - Enable or disable interrupt
intenset: Reg<u32, _INTENSET>0x304 - Enable interrupt
intenclr: Reg<u32, _INTENCLR>0x308 - Disable interrupt
eventcause: Reg<u32, _EVENTCAUSE>0x400 - Details on what caused the USBEVENT event
halted: HALTED0x420 - Unspecified
epstatus: Reg<u32, _EPSTATUS>0x468 - Provides information on which endpoint’s EasyDMA registers have been captured
epdatastatus: Reg<u32, _EPDATASTATUS>0x46c - Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
usbaddr: Reg<u32, _USBADDR>0x470 - Device USB address
bmrequesttype: Reg<u32, _BMREQUESTTYPE>0x480 - SETUP data, byte 0, bmRequestType
brequest: Reg<u32, _BREQUEST>0x484 - SETUP data, byte 1, bRequest
wvaluel: Reg<u32, _WVALUEL>0x488 - SETUP data, byte 2, LSB of wValue
wvalueh: Reg<u32, _WVALUEH>0x48c - SETUP data, byte 3, MSB of wValue
windexl: Reg<u32, _WINDEXL>0x490 - SETUP data, byte 4, LSB of wIndex
windexh: Reg<u32, _WINDEXH>0x494 - SETUP data, byte 5, MSB of wIndex
wlengthl: Reg<u32, _WLENGTHL>0x498 - SETUP data, byte 6, LSB of wLength
wlengthh: Reg<u32, _WLENGTHH>0x49c - SETUP data, byte 7, MSB of wLength
size: SIZE0x4a0 - Unspecified
enable: Reg<u32, _ENABLE>0x500 - Enable USB
usbpullup: Reg<u32, _USBPULLUP>0x504 - Control of the USB pull-up
dpdmvalue: Reg<u32, _DPDMVALUE>0x508 - 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: Reg<u32, _DTOGGLE>0x50c - Data toggle control and status
epinen: Reg<u32, _EPINEN>0x510 - Endpoint IN enable
epouten: Reg<u32, _EPOUTEN>0x514 - Endpoint OUT enable
epstall: Reg<u32, _EPSTALL>0x518 - STALL endpoints
isosplit: Reg<u32, _ISOSPLIT>0x51c - Controls the split of ISO buffers
framecntr: Reg<u32, _FRAMECNTR>0x520 - Returns the current value of the start of frame counter
lowpower: Reg<u32, _LOWPOWER>0x52c - Controls USBD peripheral low power mode during USB suspend
isoinconfig: Reg<u32, _ISOINCONFIG>0x530 - Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
epin0: EPIN0x600 - Unspecified
epin1: EPIN0x614 - Unspecified
epin2: EPIN0x628 - Unspecified
epin3: EPIN0x63c - Unspecified
epin4: EPIN0x650 - Unspecified
epin5: EPIN0x664 - Unspecified
epin6: EPIN0x678 - Unspecified
epin7: EPIN0x68c - Unspecified
isoin: ISOIN0x6a0 - Unspecified
epout0: EPOUT0x700 - Unspecified
epout1: EPOUT0x714 - Unspecified
epout2: EPOUT0x728 - Unspecified
epout3: EPOUT0x73c - Unspecified
epout4: EPOUT0x750 - Unspecified
epout5: EPOUT0x764 - Unspecified
epout6: EPOUT0x778 - Unspecified
epout7: EPOUT0x78c - Unspecified
isoout: ISOOUT0x7a0 - Unspecified
Auto Trait Implementations
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> CheckedAs for T[src]
impl<T> CheckedAs for T[src]pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>, [src]
pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>, [src]Casts the value.
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>, [src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>, [src]pub fn lossless_try_into(self) -> Option<Dst>[src]
pub fn lossless_try_into(self) -> Option<Dst>[src]Performs the conversion.
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>, [src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>, [src]pub fn lossy_into(self) -> Dst[src]
pub fn lossy_into(self) -> Dst[src]Performs the conversion.
impl<T> OverflowingAs for T[src]
impl<T> OverflowingAs for T[src]pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>, [src]
pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>, [src]Casts the value.
impl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<T> SaturatingAs for T[src]
impl<T> SaturatingAs for T[src]pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>, [src]
pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>, [src]Casts the value.
impl<T> UnwrappedAs for T[src]
impl<T> UnwrappedAs for T[src]pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>, [src]
pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>, [src]Casts the value.
impl<T> WrappingAs for T[src]
impl<T> WrappingAs for T[src]pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>, [src]
pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>, [src]Casts the value.