pub struct LP_I2C0 { /* private fields */ }

Implementations§

source§

impl LP_I2C0

source

pub unsafe fn steal() -> LP_I2C0

Unsafely create an instance of this peripheral out of thin air.

Safety

You must ensure that you’re only using one instance of this type at a time.

source

pub const PTR: *const <LP_I2C0 as Deref>::Target = {0x600b1800 as *const <esp32c6::LP_I2C0 as core::ops::Deref>::Target}

Pointer to the register block

source

pub const fn ptr() -> *const <LP_I2C0 as Deref>::Target

Return the pointer to the register block

Methods from Deref<Target = RegisterBlock>§

pub fn i2c_scl_low_period(&self) -> &Reg<I2C_SCL_LOW_PERIOD_SPEC>

0x00 - Configures the low level width of the SCL Clock

pub fn i2c_ctr(&self) -> &Reg<I2C_CTR_SPEC>

0x04 - Transmission setting

pub fn i2c_sr(&self) -> &Reg<I2C_SR_SPEC>

0x08 - Describe I2C work status.

pub fn i2c_to(&self) -> &Reg<I2C_TO_SPEC>

0x0c - Setting time out control for receiving data.

pub fn i2c_fifo_st(&self) -> &Reg<I2C_FIFO_ST_SPEC>

0x14 - FIFO status register.

pub fn fifo_conf(&self) -> &Reg<FIFO_CONF_SPEC>

0x18 - FIFO configuration register.

pub fn i2c_data(&self) -> &Reg<I2C_DATA_SPEC>

0x1c - Rx FIFO read data.

pub fn i2c_int_raw(&self) -> &Reg<I2C_INT_RAW_SPEC>

0x20 - Raw interrupt status

pub fn i2c_int_clr(&self) -> &Reg<I2C_INT_CLR_SPEC>

0x24 - Interrupt clear bits

pub fn i2c_int_ena(&self) -> &Reg<I2C_INT_ENA_SPEC>

0x28 - Interrupt enable bits

pub fn i2c_int_status(&self) -> &Reg<I2C_INT_STATUS_SPEC>

0x2c - Status of captured I2C communication events

pub fn i2c_sda_hold(&self) -> &Reg<I2C_SDA_HOLD_SPEC>

0x30 - Configures the hold time after a negative SCL edge.

pub fn i2c_sda_sample(&self) -> &Reg<I2C_SDA_SAMPLE_SPEC>

0x34 - Configures the sample time after a positive SCL edge.

pub fn i2c_scl_high_period(&self) -> &Reg<I2C_SCL_HIGH_PERIOD_SPEC>

0x38 - Configures the high level width of SCL

pub fn i2c_scl_start_hold(&self) -> &Reg<I2C_SCL_START_HOLD_SPEC>

0x40 - Configures the delay between the SDA and SCL negative edge for a start condition

pub fn i2c_scl_rstart_setup(&self) -> &Reg<I2C_SCL_RSTART_SETUP_SPEC>

0x44 - Configures the delay between the positive edge of SCL and the negative edge of SDA

pub fn i2c_scl_stop_hold(&self) -> &Reg<I2C_SCL_STOP_HOLD_SPEC>

0x48 - Configures the delay after the SCL clock edge for a stop condition

pub fn i2c_scl_stop_setup(&self) -> &Reg<I2C_SCL_STOP_SETUP_SPEC>

0x4c - Configures the delay between the SDA and SCL positive edge for a stop condition

pub fn i2c_filter_cfg(&self) -> &Reg<I2C_FILTER_CFG_SPEC>

0x50 - SCL and SDA filter configuration register

pub fn i2c_clk_conf(&self) -> &Reg<I2C_CLK_CONF_SPEC>

0x54 - I2C CLK configuration register

pub fn i2c_comd0(&self) -> &Reg<I2C_COMD0_SPEC>

0x58 - I2C command register 0

pub fn i2c_comd1(&self) -> &Reg<I2C_COMD1_SPEC>

0x5c - I2C command register 1

pub fn i2c_comd2(&self) -> &Reg<I2C_COMD2_SPEC>

0x60 - I2C command register 2

pub fn i2c_comd3(&self) -> &Reg<I2C_COMD3_SPEC>

0x64 - I2C command register 3

pub fn i2c_comd4(&self) -> &Reg<I2C_COMD4_SPEC>

0x68 - I2C command register 4

pub fn i2c_comd5(&self) -> &Reg<I2C_COMD5_SPEC>

0x6c - I2C command register 5

pub fn i2c_comd6(&self) -> &Reg<I2C_COMD6_SPEC>

0x70 - I2C command register 6

pub fn i2c_comd7(&self) -> &Reg<I2C_COMD7_SPEC>

0x74 - I2C command register 7

pub fn i2c_scl_st_time_out(&self) -> &Reg<I2C_SCL_ST_TIME_OUT_SPEC>

0x78 - SCL status time out register

pub fn i2c_scl_main_st_time_out(&self) -> &Reg<I2C_SCL_MAIN_ST_TIME_OUT_SPEC>

0x7c - SCL main status time out register

pub fn i2c_scl_sp_conf(&self) -> &Reg<I2C_SCL_SP_CONF_SPEC>

0x80 - Power configuration register

pub fn i2c_date(&self) -> &Reg<I2C_DATE_SPEC>

0xf8 - Version register

pub fn i2c_txfifo_start_addr(&self) -> &Reg<I2C_TXFIFO_START_ADDR_SPEC>

0x100 - I2C TXFIFO base address register

pub fn i2c_rxfifo_start_addr(&self) -> &Reg<I2C_RXFIFO_START_ADDR_SPEC>

0x180 - I2C RXFIFO base address register

Trait Implementations§

source§

impl Debug for LP_I2C0

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Deref for LP_I2C0

§

type Target = <LP_I2C0 as Deref>::Target

The resulting type after dereferencing.
source§

fn deref(&self) -> &<LP_I2C0 as Deref>::Target

Dereferences the value.
source§

impl DerefMut for LP_I2C0

source§

fn deref_mut(&mut self) -> &mut <LP_I2C0 as Deref>::Target

Mutably dereferences the value.
source§

impl Peripheral for LP_I2C0

§

type P = LP_I2C0

Peripheral singleton type
source§

unsafe fn clone_unchecked(&mut self) -> <LP_I2C0 as Peripheral>::P

Unsafely clone (duplicate) a peripheral singleton. Read more
source§

fn into_ref<'a>(self) -> PeripheralRef<'a, Self::P>
where Self: 'a,

Convert a value into a PeripheralRef. Read more

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

§

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

§

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.