Struct esp_idf_svc::sys::i2c_slave_event_callbacks_t

source ·
#[repr(C)]
pub struct i2c_slave_event_callbacks_t { pub on_stretch_occur: Option<unsafe extern "C" fn(_: *mut i2c_slave_dev_t, _: *const i2c_slave_stretch_event_data_t, _: *mut c_void) -> bool>, pub on_recv_done: Option<unsafe extern "C" fn(_: *mut i2c_slave_dev_t, _: *const i2c_slave_rx_done_event_data_t, _: *mut c_void) -> bool>, }
Expand description

@brief Group of I2C slave callbacks (e.g. get i2c slave stretch cause). But take care of potential concurrency issues. @note The callbacks are all running under ISR context @note When CONFIG_I2C_ISR_IRAM_SAFE is enabled, the callback itself and functions called by it should be placed in IRAM. The variables used in the function should be in the SRAM as well.

Fields§

§on_stretch_occur: Option<unsafe extern "C" fn(_: *mut i2c_slave_dev_t, _: *const i2c_slave_stretch_event_data_t, _: *mut c_void) -> bool>

< I2C slave stretched callback

§on_recv_done: Option<unsafe extern "C" fn(_: *mut i2c_slave_dev_t, _: *const i2c_slave_rx_done_event_data_t, _: *mut c_void) -> bool>

< I2C slave receive done callback

Trait Implementations§

source§

impl Clone for i2c_slave_event_callbacks_t

source§

fn clone(&self) -> i2c_slave_event_callbacks_t

Returns a copy of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for i2c_slave_event_callbacks_t

source§

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

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

impl Default for i2c_slave_event_callbacks_t

source§

fn default() -> i2c_slave_event_callbacks_t

Returns the “default value” for a type. Read more
source§

impl Copy for i2c_slave_event_callbacks_t

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> CloneToUninit for T
where T: Copy,

§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

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.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.