Struct esp_idf_svc::hal::i2s::config::PdmTxClkConfig
source · pub struct PdmTxClkConfig { /* private fields */ }
Expand description
The I2s pulse density modulation (PDM) mode transmit clock configuration.
§Note
The PDM transmit clock can only be set to the following two upsampling rate configurations:
upsampling_fp = 960
,upsampling_fs = sample_rate_hz / 100
. In this case,Fpdm = 128 * 48000 = 6.144 MHz
.upsampling_fp = 960
,upsampling_fs = 480
. In this case,Fpdm = 128 * sample_rate_hz
.
If the PDM receiver does not use the PDM serial clock, the first configuration should be used. Otherwise, use the second configuration.
Implementations§
source§impl PdmTxClkConfig
impl PdmTxClkConfig
sourcepub fn from_sample_rate_hz(sample_rate_hz: u32) -> PdmTxClkConfig
pub fn from_sample_rate_hz(sample_rate_hz: u32) -> PdmTxClkConfig
Create a new PDM mode transmit clock configuration from the specified sample rate in Hz. This will set the
clock source to PLL_F160M, the MCLK multiple to 256 times the sample rate, upsample_fp
to 960, and
upsample_fs
to 480.
sourcepub fn sample_rate_hz(self, sample_rate_hz: u32) -> PdmTxClkConfig
pub fn sample_rate_hz(self, sample_rate_hz: u32) -> PdmTxClkConfig
Set the sample rate on this PDM mode transmit clock configuration.
sourcepub fn clk_src(self, clk_src: ClockSource) -> PdmTxClkConfig
pub fn clk_src(self, clk_src: ClockSource) -> PdmTxClkConfig
Set the clock source on this PDM mode transmit clock configuration.
sourcepub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> PdmTxClkConfig
pub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> PdmTxClkConfig
Set the MCLK multiple on this PDM mode transmit clock configuration.
sourcepub fn upsample(self, upsample_fp: u32, upsample_fs: u32) -> PdmTxClkConfig
pub fn upsample(self, upsample_fp: u32, upsample_fs: u32) -> PdmTxClkConfig
Set the upsampling parameters on this PDM mode transmit clock configuration.
Trait Implementations§
source§impl Clone for PdmTxClkConfig
impl Clone for PdmTxClkConfig
source§fn clone(&self) -> PdmTxClkConfig
fn clone(&self) -> PdmTxClkConfig
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PdmTxClkConfig
impl Debug for PdmTxClkConfig
source§impl PartialEq for PdmTxClkConfig
impl PartialEq for PdmTxClkConfig
source§fn eq(&self, other: &PdmTxClkConfig) -> bool
fn eq(&self, other: &PdmTxClkConfig) -> bool
self
and other
values to be equal, and is used
by ==
.