Struct nrf52833_hal::pac::usbd::RegisterBlock [−][src]
#[repr(C)]pub struct RegisterBlock {Show 67 fields
pub tasks_startepin: [Reg<TASKS_STARTEPIN_SPEC>; 8],
pub tasks_startisoin: Reg<TASKS_STARTISOIN_SPEC>,
pub tasks_startepout: [Reg<TASKS_STARTEPOUT_SPEC>; 8],
pub tasks_startisoout: Reg<TASKS_STARTISOOUT_SPEC>,
pub tasks_ep0rcvout: Reg<TASKS_EP0RCVOUT_SPEC>,
pub tasks_ep0status: Reg<TASKS_EP0STATUS_SPEC>,
pub tasks_ep0stall: Reg<TASKS_EP0STALL_SPEC>,
pub tasks_dpdmdrive: Reg<TASKS_DPDMDRIVE_SPEC>,
pub tasks_dpdmnodrive: Reg<TASKS_DPDMNODRIVE_SPEC>,
pub events_usbreset: Reg<EVENTS_USBRESET_SPEC>,
pub events_started: Reg<EVENTS_STARTED_SPEC>,
pub events_endepin: [Reg<EVENTS_ENDEPIN_SPEC>; 8],
pub events_ep0datadone: Reg<EVENTS_EP0DATADONE_SPEC>,
pub events_endisoin: Reg<EVENTS_ENDISOIN_SPEC>,
pub events_endepout: [Reg<EVENTS_ENDEPOUT_SPEC>; 8],
pub events_endisoout: Reg<EVENTS_ENDISOOUT_SPEC>,
pub events_sof: Reg<EVENTS_SOF_SPEC>,
pub events_usbevent: Reg<EVENTS_USBEVENT_SPEC>,
pub events_ep0setup: Reg<EVENTS_EP0SETUP_SPEC>,
pub events_epdata: Reg<EVENTS_EPDATA_SPEC>,
pub shorts: Reg<SHORTS_SPEC>,
pub inten: Reg<INTEN_SPEC>,
pub intenset: Reg<INTENSET_SPEC>,
pub intenclr: Reg<INTENCLR_SPEC>,
pub eventcause: Reg<EVENTCAUSE_SPEC>,
pub halted: HALTED,
pub epstatus: Reg<EPSTATUS_SPEC>,
pub epdatastatus: Reg<EPDATASTATUS_SPEC>,
pub usbaddr: Reg<USBADDR_SPEC>,
pub bmrequesttype: Reg<BMREQUESTTYPE_SPEC>,
pub brequest: Reg<BREQUEST_SPEC>,
pub wvaluel: Reg<WVALUEL_SPEC>,
pub wvalueh: Reg<WVALUEH_SPEC>,
pub windexl: Reg<WINDEXL_SPEC>,
pub windexh: Reg<WINDEXH_SPEC>,
pub wlengthl: Reg<WLENGTHL_SPEC>,
pub wlengthh: Reg<WLENGTHH_SPEC>,
pub size: SIZE,
pub enable: Reg<ENABLE_SPEC>,
pub usbpullup: Reg<USBPULLUP_SPEC>,
pub dpdmvalue: Reg<DPDMVALUE_SPEC>,
pub dtoggle: Reg<DTOGGLE_SPEC>,
pub epinen: Reg<EPINEN_SPEC>,
pub epouten: Reg<EPOUTEN_SPEC>,
pub epstall: Reg<EPSTALL_SPEC>,
pub isosplit: Reg<ISOSPLIT_SPEC>,
pub framecntr: Reg<FRAMECNTR_SPEC>,
pub lowpower: Reg<LOWPOWER_SPEC>,
pub isoinconfig: Reg<ISOINCONFIG_SPEC>,
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<TASKS_STARTEPIN_SPEC>; 8]
0x04..0x24 - 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<TASKS_STARTISOIN_SPEC>
0x24 - Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
tasks_startepout: [Reg<TASKS_STARTEPOUT_SPEC>; 8]
0x28..0x48 - 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<TASKS_STARTISOOUT_SPEC>
0x48 - Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
tasks_ep0rcvout: Reg<TASKS_EP0RCVOUT_SPEC>
0x4c - Allows OUT data stage on control endpoint 0
tasks_ep0status: Reg<TASKS_EP0STATUS_SPEC>
0x50 - Allows status stage on control endpoint 0
tasks_ep0stall: Reg<TASKS_EP0STALL_SPEC>
0x54 - Stalls data and status stage on control endpoint 0
tasks_dpdmdrive: Reg<TASKS_DPDMDRIVE_SPEC>
0x58 - Forces D+ and D- lines into the state defined in the DPDMVALUE register
tasks_dpdmnodrive: Reg<TASKS_DPDMNODRIVE_SPEC>
0x5c - Stops forcing D+ and D- lines into any state (USB engine takes control)
events_usbreset: Reg<EVENTS_USBRESET_SPEC>
0x100 - Signals that a USB reset condition has been detected on USB lines
events_started: Reg<EVENTS_STARTED_SPEC>
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<EVENTS_ENDEPIN_SPEC>; 8]
0x108..0x128 - Description collection: The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
events_ep0datadone: Reg<EVENTS_EP0DATADONE_SPEC>
0x128 - An acknowledged data transfer has taken place on the control endpoint
events_endisoin: Reg<EVENTS_ENDISOIN_SPEC>
0x12c - The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
events_endepout: [Reg<EVENTS_ENDEPOUT_SPEC>; 8]
0x130..0x150 - Description collection: The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
events_endisoout: Reg<EVENTS_ENDISOOUT_SPEC>
0x150 - The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
events_sof: Reg<EVENTS_SOF_SPEC>
0x154 - Signals that a SOF (start of frame) condition has been detected on USB lines
events_usbevent: Reg<EVENTS_USBEVENT_SPEC>
0x158 - An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
events_ep0setup: Reg<EVENTS_EP0SETUP_SPEC>
0x15c - A valid SETUP token has been received (and acknowledged) on the control endpoint
events_epdata: Reg<EVENTS_EPDATA_SPEC>
0x160 - A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
shorts: Reg<SHORTS_SPEC>
0x200 - Shortcuts between local events and tasks
inten: Reg<INTEN_SPEC>
0x300 - Enable or disable interrupt
intenset: Reg<INTENSET_SPEC>
0x304 - Enable interrupt
intenclr: Reg<INTENCLR_SPEC>
0x308 - Disable interrupt
eventcause: Reg<EVENTCAUSE_SPEC>
0x400 - Details on what caused the USBEVENT event
halted: HALTED
0x420..0x464 - Unspecified
epstatus: Reg<EPSTATUS_SPEC>
0x468 - Provides information on which endpoint’s EasyDMA registers have been captured
epdatastatus: Reg<EPDATASTATUS_SPEC>
0x46c - Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
usbaddr: Reg<USBADDR_SPEC>
0x470 - Device USB address
bmrequesttype: Reg<BMREQUESTTYPE_SPEC>
0x480 - SETUP data, byte 0, bmRequestType
brequest: Reg<BREQUEST_SPEC>
0x484 - SETUP data, byte 1, bRequest
wvaluel: Reg<WVALUEL_SPEC>
0x488 - SETUP data, byte 2, LSB of wValue
wvalueh: Reg<WVALUEH_SPEC>
0x48c - SETUP data, byte 3, MSB of wValue
windexl: Reg<WINDEXL_SPEC>
0x490 - SETUP data, byte 4, LSB of wIndex
windexh: Reg<WINDEXH_SPEC>
0x494 - SETUP data, byte 5, MSB of wIndex
wlengthl: Reg<WLENGTHL_SPEC>
0x498 - SETUP data, byte 6, LSB of wLength
wlengthh: Reg<WLENGTHH_SPEC>
0x49c - SETUP data, byte 7, MSB of wLength
size: SIZE
0x4a0..0x4c4 - Unspecified
enable: Reg<ENABLE_SPEC>
0x500 - Enable USB
usbpullup: Reg<USBPULLUP_SPEC>
0x504 - Control of the USB pull-up
dpdmvalue: Reg<DPDMVALUE_SPEC>
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<DTOGGLE_SPEC>
0x50c - Data toggle control and status
epinen: Reg<EPINEN_SPEC>
0x510 - Endpoint IN enable
epouten: Reg<EPOUTEN_SPEC>
0x514 - Endpoint OUT enable
epstall: Reg<EPSTALL_SPEC>
0x518 - STALL endpoints
isosplit: Reg<ISOSPLIT_SPEC>
0x51c - Controls the split of ISO buffers
framecntr: Reg<FRAMECNTR_SPEC>
0x520 - Returns the current value of the start of frame counter
lowpower: Reg<LOWPOWER_SPEC>
0x52c - Controls USBD peripheral low power mode during USB suspend
isoinconfig: Reg<ISOINCONFIG_SPEC>
0x530 - Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
epin0: EPIN
0x600..0x60c - Unspecified
epin1: EPIN
0x614..0x620 - Unspecified
epin2: EPIN
0x628..0x634 - Unspecified
epin3: EPIN
0x63c..0x648 - Unspecified
epin4: EPIN
0x650..0x65c - Unspecified
epin5: EPIN
0x664..0x670 - Unspecified
epin6: EPIN
0x678..0x684 - Unspecified
epin7: EPIN
0x68c..0x698 - Unspecified
isoin: ISOIN
0x6a0..0x6ac - Unspecified
epout0: EPOUT
0x700..0x70c - Unspecified
epout1: EPOUT
0x714..0x720 - Unspecified
epout2: EPOUT
0x728..0x734 - Unspecified
epout3: EPOUT
0x73c..0x748 - Unspecified
epout4: EPOUT
0x750..0x75c - Unspecified
epout5: EPOUT
0x764..0x770 - Unspecified
epout6: EPOUT
0x778..0x784 - Unspecified
epout7: EPOUT
0x78c..0x798 - Unspecified
isoout: ISOOUT
0x7a0..0x7ac - Unspecified
Auto Trait Implementations
impl !RefUnwindSafe for RegisterBlock
impl Send for RegisterBlock
impl !Sync for RegisterBlock
impl Unpin for RegisterBlock
impl UnwindSafe for RegisterBlock
Blanket Implementations
Mutably borrows from an owned value. Read more
Casts the value.
Performs the conversion.
Performs the conversion.
Casts the value.
Casts the value.
Casts the value.
Casts the value.