Struct esp_idf_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) -> Self
pub fn from_sample_rate_hz(sample_rate_hz: u32) -> Self
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) -> Self
pub fn sample_rate_hz(self, sample_rate_hz: u32) -> Self
Set the sample rate on this PDM mode transmit clock configuration.
sourcepub fn clk_src(self, clk_src: ClockSource) -> Self
pub fn clk_src(self, clk_src: ClockSource) -> Self
Set the clock source on this PDM mode transmit clock configuration.
sourcepub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> Self
pub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> Self
Set the MCLK multiple 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
Returns a copy of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
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
This method tests for
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
Mutably borrows from an owned value. Read more
§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)
🔬This is a nightly-only experimental API. (
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)