lockin

Struct Lockin

source
pub struct Lockin {
    pub(crate) afe: [Leaf<Gain>; 2],
    pub(crate) lockin_mode: Leaf<LockinMode>,
    pub(crate) pll_tc: [Leaf<u32>; 2],
    pub(crate) lockin_k: Leaf<<Lowpass<2> as Filter>::Config>,
    pub(crate) lockin_harmonic: Leaf<i32>,
    pub(crate) lockin_phase: Leaf<i32>,
    pub(crate) output_conf: [Leaf<Conf>; 2],
    pub(crate) telemetry_period: Leaf<u16>,
    pub(crate) stream: Leaf<StreamTarget>,
}

Fields§

§afe: [Leaf<Gain>; 2]

Configure the Analog Front End (AFE) gain.

§Path

afe/<n>

  • <n> specifies which channel to configure. <n> := [0, 1]

§Value

Any of the variants of Gain enclosed in double quotes.

§lockin_mode: Leaf<LockinMode>

Specifies the operational mode of the lockin.

§Path

lockin_mode

§Value

One of the variants of LockinMode enclosed in double quotes.

§pll_tc: [Leaf<u32>; 2]

Specifis the PLL time constant.

§Path

pll_tc/<n>

  • <n> specifies which channel to configure. <n> := [0, 1]

§Value

The PLL time constant exponent (1-31).

§lockin_k: Leaf<<Lowpass<2> as Filter>::Config>

Specifies the lockin lowpass gains.

§Path

lockin_k

§Value

The lockin low-pass coefficients. See idsp::Lowpass for determining them.

§lockin_harmonic: Leaf<i32>

Specifies which harmonic to use for the lockin.

§Path

lockin_harmonic

§Value

Harmonic index of the LO. -1 to _de_modulate the fundamental (complex conjugate)

§lockin_phase: Leaf<i32>

Specifies the LO phase offset.

§Path

lockin_phase

§Value

Demodulation LO phase offset. Units are in terms of i32, where i32::MIN is equivalent to -pi and i32::MAX is equivalent to +pi.

§output_conf: [Leaf<Conf>; 2]

Specifies DAC output mode.

§Path

output_conf/<n>

  • <n> specifies which channel to configure. <n> := [0, 1]

§Value

One of the variants of Conf enclosed in double quotes.

§telemetry_period: Leaf<u16>

Specifies the telemetry output period in seconds.

§Path

telemetry_period

§Value

Any non-zero value less than 65536.

§stream: Leaf<StreamTarget>

Specifies the target for data streaming.

§Path

stream

§Value

See StreamTarget

Implementations§

Trait Implementations§

source§

impl Clone for Lockin

source§

fn clone(&self) -> Lockin

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Lockin

source§

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

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

impl Default for Lockin

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl TreeAny for Lockin

source§

fn ref_any_by_key<K>(&self, keys: K) -> Result<&dyn Any, Traversal>
where K: Keys,

Obtain a reference to a dyn Any trait object for a leaf node.
source§

fn mut_any_by_key<K>(&mut self, keys: K) -> Result<&mut dyn Any, Traversal>
where K: Keys,

Obtain a mutable reference to a dyn Any trait object for a leaf node.
source§

fn ref_by_key<T, K>(&self, keys: K) -> Result<&T, Traversal>
where T: Any, K: IntoKeys,

Obtain a reference to a leaf of known type by key.
source§

fn mut_by_key<T, K>(&mut self, keys: K) -> Result<&mut T, Traversal>
where T: Any, K: IntoKeys,

Obtain a mutable reference to a leaf of known type by key.
source§

impl<'de> TreeDeserialize<'de> for Lockin

source§

fn deserialize_by_key<K, D>( &mut self, keys: K, de: D, ) -> Result<usize, Error<D::Error>>
where K: Keys, D: Deserializer<'de>,

Deserialize a leaf node by its keys. Read more
source§

impl TreeKey for Lockin

source§

fn traverse_all<W: Walk>() -> Result<W, W::Error>

Walk metadata about all paths. Read more
source§

fn traverse_by_key<K, F, E>(keys: K, func: F) -> Result<usize, Error<E>>
where K: Keys, F: FnMut(usize, Option<&'static str>, NonZero<usize>) -> Result<(), E>,

Traverse from the root to a leaf and call a function for each node. Read more
source§

fn transcode<N, K>(keys: K) -> Result<(N, Node), Traversal>
where K: IntoKeys, N: Transcode + Default,

Transcode keys to a new keys type representation Read more
source§

fn nodes<N, const D: usize>() -> NodeIter<Self, N, D>
where N: Transcode + Default,

Return an iterator over nodes of a given type Read more
source§

impl TreeSerialize for Lockin

source§

fn serialize_by_key<K, S>( &self, keys: K, ser: S, ) -> Result<usize, Error<S::Error>>
where K: Keys, S: Serializer,

Serialize a node by keys. Read more

Auto Trait Implementations§

§

impl Freeze for Lockin

§

impl RefUnwindSafe for Lockin

§

impl Send for Lockin

§

impl Sync for Lockin

§

impl Unpin for Lockin

§

impl UnwindSafe for Lockin

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> CloneToUninit for T
where T: Clone,

source§

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, M> ForwardCompat<T, M> for T

§

fn forward(self) -> Forward<T, M>

Create an e-h-c forward compatibility wrapper around and e-h object Available methods depend on the wrapped type
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.

§

impl<T> ReverseCompat<T> for T

§

fn reverse(self) -> Reverse<T>

Create an e-h-c wrapper around and e-h object Available methods depend on the wrapped type

§

fn reverse_cell(self) -> Reverse<RefCell<T>>

Create an e-h-c reverse compatibility wrapper using a ref-cell for interior mutability (required for InputPin types)

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.
source§

impl<T> TreeDeserializeOwned for T
where T: for<'de> TreeDeserialize<'de>,