pub struct Controller<'d, T: Instance> { /* private fields */ }Expand description
I3C controller in blocking mode.
Implementations§
Source§impl<'d, T: Instance> Controller<'d, T>
impl<'d, T: Instance> Controller<'d, T>
Sourcepub fn new_blocking(
peri: Peri<'d, T>,
scl: Peri<'d, impl SclPin<T>>,
sda: Peri<'d, impl SdaPin<T>>,
config: Config,
) -> Self
pub fn new_blocking( peri: Peri<'d, T>, scl: Peri<'d, impl SclPin<T>>, sda: Peri<'d, impl SdaPin<T>>, config: Config, ) -> Self
Create a new blocking I3C controller.
Sourcepub fn set_timeout(&mut self, timeout: Duration)
pub fn set_timeout(&mut self, timeout: Duration)
Set the timeout for blocking operations.
Sourcepub fn direct_ccc_read(
&mut self,
target_addr: u8,
ccc: u8,
buf: &mut [u8],
) -> Result<(), Error>
pub fn direct_ccc_read( &mut self, target_addr: u8, ccc: u8, buf: &mut [u8], ) -> Result<(), Error>
Read data from a target using a direct CCC command.
Sourcepub fn direct_ccc_write(
&mut self,
target_addr: u8,
ccc: u8,
data: &[u8],
) -> Result<(), Error>
pub fn direct_ccc_write( &mut self, target_addr: u8, ccc: u8, data: &[u8], ) -> Result<(), Error>
Write data to a target using a direct CCC command.
Sourcepub fn private_write(
&mut self,
target_addr: u8,
data: &[u8],
) -> Result<(), Error>
pub fn private_write( &mut self, target_addr: u8, data: &[u8], ) -> Result<(), Error>
Perform a private I3C write to target_addr.
Sourcepub fn private_read(
&mut self,
target_addr: u8,
buf: &mut [u8],
) -> Result<(), Error>
pub fn private_read( &mut self, target_addr: u8, buf: &mut [u8], ) -> Result<(), Error>
Perform a private I3C read from target_addr.
Sourcepub fn broadcast_ccc(&mut self, ccc: u8, data: &[u8]) -> Result<(), Error>
pub fn broadcast_ccc(&mut self, ccc: u8, data: &[u8]) -> Result<(), Error>
Broadcast a CCC command (no target address).
Trait Implementations§
Auto Trait Implementations§
impl<'d, T> Freeze for Controller<'d, T>where
T: Freeze,
impl<'d, T> RefUnwindSafe for Controller<'d, T>where
T: RefUnwindSafe,
impl<'d, T> Send for Controller<'d, T>where
T: Send,
impl<'d, T> Sync for Controller<'d, T>where
T: Sync,
impl<'d, T> Unpin for Controller<'d, T>where
T: Unpin,
impl<'d, T> !UnwindSafe for Controller<'d, T>
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
Mutably borrows from an owned value. Read more