Skip to main content

AdcCalLine

Struct AdcCalLine 

Source
pub struct AdcCalLine<ADCX> { /* 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 vary 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<ADCX> AdcCalScheme<ADCX> for AdcCalLine<ADCX>
where ADCX: AdcCalEfuse + AdcHasLineCal + CalibrationAccess,

Source§

fn new_cal(atten: Attenuation) -> Self

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

fn new_cal_with_channel(atten: Attenuation, channel: u8) -> Self

Creates a new calibration scheme for the given attenuation and ADC channel. Read more
Source§

fn adc_cal(&self) -> u16

Returns the basic ADC bias value.
Source§

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

Converts ADC value.
Source§

impl<ADCX: Clone> Clone for AdcCalLine<ADCX>

Source§

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

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<ADCX: Copy> Copy for AdcCalLine<ADCX>

Auto Trait Implementations§

§

impl<ADCX> Freeze for AdcCalLine<ADCX>
where AdcCalBasic<ADCX>: Freeze, PhantomData<ADCX>: Freeze,

§

impl<ADCX> RefUnwindSafe for AdcCalLine<ADCX>

§

impl<ADCX> Send for AdcCalLine<ADCX>
where AdcCalBasic<ADCX>: Send, PhantomData<ADCX>: Send,

§

impl<ADCX> Sync for AdcCalLine<ADCX>
where AdcCalBasic<ADCX>: Sync, PhantomData<ADCX>: Sync,

§

impl<ADCX> Unpin for AdcCalLine<ADCX>
where AdcCalBasic<ADCX>: Unpin, PhantomData<ADCX>: Unpin,

§

impl<ADCX> UnsafeUnpin for AdcCalLine<ADCX>

§

impl<ADCX> UnwindSafe for AdcCalLine<ADCX>

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, dest: *mut u8)

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

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

fn try_from(value: U) -> Result<T, !>

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.