Skip to main content

i2s_pdm_tx_slot_config_t

Struct i2s_pdm_tx_slot_config_t 

Source
#[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

Source§

fn clone(&self) -> i2s_pdm_tx_slot_config_t

Returns a duplicate 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 i2s_pdm_tx_slot_config_t

Source§

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

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

impl Default for i2s_pdm_tx_slot_config_t

Source§

fn default() -> Self

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

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

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.