Struct AdcCalLine

Source
pub struct AdcCalLine<ADCI> { /* private fields */ }
Available on crate feature unstable only.
Expand description

Line fitting ADC calibration scheme

This scheme implements gain correction based on reference points, and returns readings in mV.

A reference point is a pair of a reference voltage and the corresponding mean raw digital ADC value. Such values are usually stored in efuse bit fields for each supported attenuation.

Also it can be measured in runtime by connecting ADC to reference voltage internally but this method is not so good because actual reference voltage may varies in range 1.0..=1.2 V. Currently this method is used as a fallback (with 1.1 V by default) when calibration data is missing.

This scheme also includes basic calibration (AdcCalBasic).

Trait Implementations§

Source§

impl<ADCI> AdcCalScheme<ADCI> for AdcCalLine<ADCI>
where ADCI: AdcCalEfuse + AdcHasLineCal + CalibrationAccess,

Source§

fn new_cal(atten: Attenuation) -> Self

Create a new calibration scheme for the given attenuation.
Source§

fn adc_cal(&self) -> u16

Return the basic ADC bias value.
Source§

fn adc_val(&self, val: u16) -> u16

Convert ADC value.
Source§

impl<ADCI: Clone> Clone for AdcCalLine<ADCI>

Source§

fn clone(&self) -> AdcCalLine<ADCI>

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<ADCI: Copy> Copy for AdcCalLine<ADCI>

Auto Trait Implementations§

§

impl<ADCI> Freeze for AdcCalLine<ADCI>

§

impl<ADCI> RefUnwindSafe for AdcCalLine<ADCI>
where ADCI: RefUnwindSafe,

§

impl<ADCI> Send for AdcCalLine<ADCI>
where ADCI: Send,

§

impl<ADCI> Sync for AdcCalLine<ADCI>
where ADCI: Sync,

§

impl<ADCI> Unpin for AdcCalLine<ADCI>
where ADCI: Unpin,

§

impl<ADCI> UnwindSafe for AdcCalLine<ADCI>
where ADCI: UnwindSafe,

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,

§

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

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