pub struct USB_DPRAM { /* private fields */ }Expand description
DPRAM layout for USB device.
Implementations§
Source§impl USB_DPRAM
impl USB_DPRAM
Sourcepub const PTR: *const RegisterBlock = {0x50100000 as *const rp235x_hal::rp235x_pac::usb_dpram::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x50100000 as *const rp235x_hal::rp235x_pac::usb_dpram::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> USB_DPRAM
pub unsafe fn steal() -> USB_DPRAM
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn setup_packet_low(&self) -> &Reg<SETUP_PACKET_LOW_SPEC>
pub fn setup_packet_low(&self) -> &Reg<SETUP_PACKET_LOW_SPEC>
0x00 - Bytes 0-3 of the SETUP packet from the host.
Sourcepub fn setup_packet_high(&self) -> &Reg<SETUP_PACKET_HIGH_SPEC>
pub fn setup_packet_high(&self) -> &Reg<SETUP_PACKET_HIGH_SPEC>
0x04 - Bytes 4-7 of the setup packet from the host.
Sourcepub fn ep_control(&self, n: usize) -> &Reg<EP_CONTROL_SPEC>
pub fn ep_control(&self, n: usize) -> &Reg<EP_CONTROL_SPEC>
0x08..0x80 - TODO
Sourcepub fn ep_control_iter(&self) -> impl Iterator<Item = &Reg<EP_CONTROL_SPEC>>
pub fn ep_control_iter(&self) -> impl Iterator<Item = &Reg<EP_CONTROL_SPEC>>
Iterator for array of: 0x08..0x80 - TODO
Sourcepub fn ep_buffer_control(&self, n: usize) -> &Reg<EP_BUFFER_CONTROL_SPEC>
pub fn ep_buffer_control(&self, n: usize) -> &Reg<EP_BUFFER_CONTROL_SPEC>
0x80..0x100 - TODO
Sourcepub fn ep_buffer_control_iter(
&self,
) -> impl Iterator<Item = &Reg<EP_BUFFER_CONTROL_SPEC>>
pub fn ep_buffer_control_iter( &self, ) -> impl Iterator<Item = &Reg<EP_BUFFER_CONTROL_SPEC>>
Iterator for array of: 0x80..0x100 - TODO
Trait Implementations§
Auto Trait Implementations§
impl Freeze for USB_DPRAM
impl RefUnwindSafe for USB_DPRAM
impl !Sync for USB_DPRAM
impl Unpin for USB_DPRAM
impl UnwindSafe for USB_DPRAM
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more