Struct esp_idf_hal::sys::i2s_event_callbacks_t
source · #[repr(C)]pub struct i2s_event_callbacks_t {
pub on_recv: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>,
pub on_recv_q_ovf: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>,
pub on_sent: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>,
pub on_send_q_ovf: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>,
}
Expand description
@brief Group of I2S callbacks @note The callbacks are all running under ISR environment @note When CONFIG_I2S_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_recv: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>
< Callback of data received event, only for rx channel The event data includes DMA buffer address and size that just finished receiving data
on_recv_q_ovf: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>
< Callback of receiving queue overflowed event, only for rx channel The event data includes buffer size that has been overwritten
on_sent: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>
< Callback of data sent event, only for tx channel The event data includes DMA buffer address and size that just finished sending data
on_send_q_ovf: Option<unsafe extern "C" fn(_: *mut i2s_channel_obj_t, _: *mut i2s_event_data_t, _: *mut c_void) -> bool>
< Callback of sending queue overflowed event, only for tx channel The event data includes buffer size that has been overwritten
Trait Implementations§
source§impl Clone for i2s_event_callbacks_t
impl Clone for i2s_event_callbacks_t
source§fn clone(&self) -> i2s_event_callbacks_t
fn clone(&self) -> i2s_event_callbacks_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for i2s_event_callbacks_t
impl Debug for i2s_event_callbacks_t
source§impl Default for i2s_event_callbacks_t
impl Default for i2s_event_callbacks_t
source§fn default() -> i2s_event_callbacks_t
fn default() -> i2s_event_callbacks_t
impl Copy for i2s_event_callbacks_t
Auto Trait Implementations§
impl Freeze for i2s_event_callbacks_t
impl RefUnwindSafe for i2s_event_callbacks_t
impl Send for i2s_event_callbacks_t
impl Sync for i2s_event_callbacks_t
impl Unpin for i2s_event_callbacks_t
impl UnwindSafe for i2s_event_callbacks_t
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)