#[repr(C)]pub struct i2s_pdm_tx_slot_config_t {Show 14 fields
pub data_bit_width: i2s_data_bit_width_t,
pub slot_bit_width: i2s_slot_bit_width_t,
pub slot_mode: i2s_slot_mode_t,
pub data_fmt: i2s_pdm_data_fmt_t,
pub sd_prescale: u32,
pub sd_scale: i2s_pdm_sig_scale_t,
pub hp_scale: i2s_pdm_sig_scale_t,
pub lp_scale: i2s_pdm_sig_scale_t,
pub sinc_scale: i2s_pdm_sig_scale_t,
pub line_mode: i2s_pdm_tx_line_mode_t,
pub hp_en: bool,
pub hp_cut_off_freq_hz: f32,
pub sd_dither: u32,
pub sd_dither2: u32,
}Expand description
@brief I2S slot configuration for PDM TX mode
Fields§
§data_bit_width: i2s_data_bit_width_t< I2S sample data bit width (valid data bits per sample), only support 16 bits for PDM mode
slot_bit_width: i2s_slot_bit_width_t< I2S slot bit width (total bits per slot), only support 16 bits for PDM mode
slot_mode: i2s_slot_mode_t< Set mono or stereo mode with I2S_SLOT_MODE_MONO or I2S_SLOT_MODE_STEREO For PDM TX mode, mono means the data buffer only contains one slot data, Stereo means the data buffer contains two slots data
data_fmt: i2s_pdm_data_fmt_t< The data format of PDM TX mode. It determines what kind of data format is written in software. Typically, set this field to I2S_PDM_DATA_FMT_PCM when PCM2PDM filter is supported in the hardware, so that you can write PCM format data in software, and then the hardware PCM2PDM filter will help to convert it into PDM format on the line. Otherwise if this field is set to I2S_PDM_DATA_FMT_RAW, The data written in software are supposed to be the raw PDM format.
sd_prescale: u32< Sigma-delta filter prescale
sd_scale: i2s_pdm_sig_scale_t< Sigma-delta filter scaling value
hp_scale: i2s_pdm_sig_scale_t< High pass filter scaling value
lp_scale: i2s_pdm_sig_scale_t< Low pass filter scaling value
sinc_scale: i2s_pdm_sig_scale_t< Sinc filter scaling value
line_mode: i2s_pdm_tx_line_mode_t< PDM TX line mode, one-line codec, one-line dac, two-line dac mode can be selected
hp_en: bool< High pass filter enable
hp_cut_off_freq_hz: f32< High pass filter cut-off frequency, range 23.3Hz ~ 185Hz, see cut-off frequency sheet above
sd_dither: u32< Sigma-delta filter dither
sd_dither2: u32< Sigma-delta filter dither2
Trait Implementations§
Source§impl Clone for i2s_pdm_tx_slot_config_t
impl Clone for i2s_pdm_tx_slot_config_t
Source§fn clone(&self) -> i2s_pdm_tx_slot_config_t
fn clone(&self) -> i2s_pdm_tx_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_pdm_tx_slot_config_t
impl Debug for i2s_pdm_tx_slot_config_t
Source§impl Default for i2s_pdm_tx_slot_config_t
impl Default for i2s_pdm_tx_slot_config_t
impl Copy for i2s_pdm_tx_slot_config_t
Auto Trait Implementations§
impl Freeze for i2s_pdm_tx_slot_config_t
impl RefUnwindSafe for i2s_pdm_tx_slot_config_t
impl Send for i2s_pdm_tx_slot_config_t
impl Sync for i2s_pdm_tx_slot_config_t
impl Unpin for i2s_pdm_tx_slot_config_t
impl UnsafeUnpin for i2s_pdm_tx_slot_config_t
impl UnwindSafe for i2s_pdm_tx_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,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)