Struct esp_idf_svc::hal::i2s::config::TdmClkConfig
source · pub struct TdmClkConfig { /* private fields */ }
Expand description
TDM mode channel clock configuration.
Implementations§
source§impl TdmClkConfig
impl TdmClkConfig
sourcepub fn new(
sample_rate_hz: u32,
clk_src: ClockSource,
mclk_multiple: MclkMultiple,
) -> TdmClkConfig
pub fn new( sample_rate_hz: u32, clk_src: ClockSource, mclk_multiple: MclkMultiple, ) -> TdmClkConfig
Create a TDM clock configuration with the specified rate (in Hz), clock source, and MCLK multiple of the sample rate.
sourcepub fn from_sample_rate_hz(rate: u32) -> TdmClkConfig
pub fn from_sample_rate_hz(rate: u32) -> TdmClkConfig
Create a TDM clock configuration with the specified rate in Hz. This will set the clock source to PLL_F160M, MCLK multiple to 256 times the sample rate, and MCLK to BCLK division to 8.
§Note
Set the mclk_multiple to MclkMultiple::M384 when using 24-bit data width. Otherwise, the sample rate might be imprecise since the BCLK division is not an integer.
sourcepub fn clk_src(self, clk_src: ClockSource) -> TdmClkConfig
pub fn clk_src(self, clk_src: ClockSource) -> TdmClkConfig
Set the clock source on this TDM clock configuration.
sourcepub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> TdmClkConfig
pub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> TdmClkConfig
Set the MCLK multiple on this TDM clock configuration.
sourcepub fn bclk_div(self, bclk_div: u32) -> TdmClkConfig
pub fn bclk_div(self, bclk_div: u32) -> TdmClkConfig
Set the MCLK to BCLK division on this TDM clock configuration.
Trait Implementations§
source§impl Clone for TdmClkConfig
impl Clone for TdmClkConfig
source§fn clone(&self) -> TdmClkConfig
fn clone(&self) -> TdmClkConfig
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 TdmClkConfig
impl Debug for TdmClkConfig
source§impl PartialEq for TdmClkConfig
impl PartialEq for TdmClkConfig
impl Copy for TdmClkConfig
impl Eq for TdmClkConfig
impl StructuralPartialEq for TdmClkConfig
Auto Trait Implementations§
impl Freeze for TdmClkConfig
impl RefUnwindSafe for TdmClkConfig
impl Send for TdmClkConfig
impl Sync for TdmClkConfig
impl Unpin for TdmClkConfig
impl UnwindSafe for TdmClkConfig
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
)