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

source

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.

source

pub fn sample_rate_hz(self, sample_rate_hz: u32) -> PdmTxClkConfig

Set the sample rate on this PDM mode transmit clock configuration.

source

pub fn clk_src(self, clk_src: ClockSource) -> PdmTxClkConfig

Set the clock source on this PDM mode transmit clock configuration.

source

pub fn mclk_multiple(self, mclk_multiple: MclkMultiple) -> PdmTxClkConfig

Set the MCLK multiple on this PDM mode transmit clock configuration.

source

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

source§

fn clone(&self) -> PdmTxClkConfig

Returns a copy 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 PdmTxClkConfig

source§

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

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

impl PartialEq for PdmTxClkConfig

source§

fn eq(&self, other: &PdmTxClkConfig) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for PdmTxClkConfig

source§

impl Eq for PdmTxClkConfig

source§

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

§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> CloneToUninit for T
where T: Copy,

§

unsafe fn clone_to_uninit(&self, dst: *mut T)

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