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 ==
.impl Copy for PdmTxClkConfig
impl Eq for PdmTxClkConfig
impl StructuralPartialEq for PdmTxClkConfig
Auto Trait Implementations§
impl Freeze for PdmTxClkConfig
impl RefUnwindSafe for PdmTxClkConfig
impl Send for PdmTxClkConfig
impl Sync for PdmTxClkConfig
impl Unpin for PdmTxClkConfig
impl UnwindSafe for PdmTxClkConfig
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
)