Struct RegisterBlock

Source
#[repr(C)]
pub struct RegisterBlock {
Show 21 fields pub tasks_start: TASKS_START, pub tasks_stop: TASKS_STOP, pub subscribe_start: SUBSCRIBE_START, pub subscribe_stop: SUBSCRIBE_STOP, pub events_started: EVENTS_STARTED, pub events_stopped: EVENTS_STOPPED, pub events_end: EVENTS_END, pub publish_started: PUBLISH_STARTED, pub publish_stopped: PUBLISH_STOPPED, pub publish_end: PUBLISH_END, pub inten: INTEN, pub intenset: INTENSET, pub intenclr: INTENCLR, pub enable: ENABLE, pub pdmclkctrl: PDMCLKCTRL, pub mode: MODE, pub gainl: GAINL, pub gainr: GAINR, pub ratio: RATIO, pub psel: PSEL, pub sample: SAMPLE, /* private fields */
}
Expand description

Register block

Fields§

§tasks_start: TASKS_START

0x00 - Starts continuous PDM transfer

§tasks_stop: TASKS_STOP

0x04 - Stops PDM transfer

§subscribe_start: SUBSCRIBE_START

0x80 - Subscribe configuration for task START

§subscribe_stop: SUBSCRIBE_STOP

0x84 - Subscribe configuration for task STOP

§events_started: EVENTS_STARTED

0x100 - PDM transfer has started

§events_stopped: EVENTS_STOPPED

0x104 - PDM transfer has finished

§events_end: EVENTS_END

0x108 - The PDM has written the last sample specified by SAMPLE.MAXCNT (or the last sample after a STOP task has been received) to Data RAM

§publish_started: PUBLISH_STARTED

0x180 - Publish configuration for event STARTED

§publish_stopped: PUBLISH_STOPPED

0x184 - Publish configuration for event STOPPED

§publish_end: PUBLISH_END

0x188 - Publish configuration for event END

§inten: INTEN

0x300 - Enable or disable interrupt

§intenset: INTENSET

0x304 - Enable interrupt

§intenclr: INTENCLR

0x308 - Disable interrupt

§enable: ENABLE

0x500 - PDM module enable register

§pdmclkctrl: PDMCLKCTRL

0x504 - PDM clock generator control

§mode: MODE

0x508 - Defines the routing of the connected PDM microphones’ signals

§gainl: GAINL

0x518 - Left output gain adjustment

§gainr: GAINR

0x51c - Right output gain adjustment

§ratio: RATIO

0x520 - Selects the ratio between PDM_CLK and output sample rate. Change PDMCLKCTRL accordingly.

§psel: PSEL

0x540 - Unspecified

§sample: SAMPLE

0x560 - Unspecified

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.