Struct esp_idf_svc::hal::sys::i2s_tdm_slot_config_t
source · #[repr(C)]pub struct i2s_tdm_slot_config_t {
pub data_bit_width: u32,
pub slot_bit_width: u32,
pub slot_mode: u32,
pub slot_mask: u32,
pub ws_width: u32,
pub ws_pol: bool,
pub bit_shift: bool,
pub left_align: bool,
pub big_endian: bool,
pub bit_order_lsb: bool,
pub skip_mask: bool,
pub total_slot: u32,
}
Expand description
@brief I2S slot configuration for TDM mode
Fields§
§data_bit_width: u32
< I2S sample data bit width (valid data bits per sample)
slot_bit_width: u32
< I2S slot bit width (total bits per slot)
slot_mode: u32
< Set mono or stereo mode with I2S_SLOT_MODE_MONO or I2S_SLOT_MODE_STEREO
slot_mask: u32
< Slot mask. Activating slots by setting 1 to corresponding bits. When the activated slots is not consecutive, those data in inactivated slots will be ignored
ws_width: u32
< WS signal width (i.e. the number of BCLK ticks that WS signal is high)
ws_pol: bool
< WS signal polarity, set true to enable high lever first
bit_shift: bool
< Set true to enable bit shift in Philips mode
left_align: bool
< Set true to enable left alignment
big_endian: bool
< Set true to enable big endian
bit_order_lsb: bool
< Set true to enable lsb first
skip_mask: bool
< Set true to enable skip mask. If it is enabled, only the data of the enabled channels will be sent, otherwise all data stored in DMA TX buffer will be sent
total_slot: u32
< I2S total number of slots. If it is smaller than the biggest activated channel number, it will be set to this number automatically.
Trait Implementations§
source§impl Clone for i2s_tdm_slot_config_t
impl Clone for i2s_tdm_slot_config_t
source§fn clone(&self) -> i2s_tdm_slot_config_t
fn clone(&self) -> i2s_tdm_slot_config_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_tdm_slot_config_t
impl Debug for i2s_tdm_slot_config_t
source§impl Default for i2s_tdm_slot_config_t
impl Default for i2s_tdm_slot_config_t
source§fn default() -> i2s_tdm_slot_config_t
fn default() -> i2s_tdm_slot_config_t
impl Copy for i2s_tdm_slot_config_t
Auto Trait Implementations§
impl Freeze for i2s_tdm_slot_config_t
impl RefUnwindSafe for i2s_tdm_slot_config_t
impl Send for i2s_tdm_slot_config_t
impl Sync for i2s_tdm_slot_config_t
impl Unpin for i2s_tdm_slot_config_t
impl UnwindSafe for i2s_tdm_slot_config_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
)