pub struct AdcCalLine<ADCX> { /* private fields */ }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. Those values are stored in eFuse bit fields for each supported attenuation, and there is no way to establish them at runtime: the ADC can only be switched to internal ground, which gives the zero-voltage offset rather than a second point to derive a gain from.
This scheme also includes basic calibration (AdcCalBasic).
§Errors
Returns Error::UnsupportedAttenuation if the attenuation has no
reference point on this chip, or Error::MissingCalibrationData if the
chip carries no line-fitting calibration data or the stored reference
point is zero.
Trait Implementations§
Source§impl<ADCX> AdcCalScheme<ADCX> for AdcCalLine<ADCX>where
ADCX: AdcCalEfuse + AdcHasLineCal + CalibrationAccess,
impl<ADCX> AdcCalScheme<ADCX> for AdcCalLine<ADCX>where
ADCX: AdcCalEfuse + AdcHasLineCal + CalibrationAccess,
Source§fn new_cal(atten: Attenuation) -> Result<Self, Error>
fn new_cal(atten: Attenuation) -> Result<Self, Error>
Source§fn new_cal_with_channel(atten: Attenuation, channel: u8) -> Result<Self, Error>
fn new_cal_with_channel(atten: Attenuation, channel: u8) -> Result<Self, Error>
Source§impl<ADCX: Clone> Clone for AdcCalLine<ADCX>
impl<ADCX: Clone> Clone for AdcCalLine<ADCX>
Source§fn clone(&self) -> AdcCalLine<ADCX>
fn clone(&self) -> AdcCalLine<ADCX>
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<ADCX: Copy> Copy for AdcCalLine<ADCX>
Auto Trait Implementations§
impl<ADCX> Freeze for AdcCalLine<ADCX>
impl<ADCX> RefUnwindSafe for AdcCalLine<ADCX>where
ADCX: RefUnwindSafe,
impl<ADCX> Send for AdcCalLine<ADCX>where
ADCX: Send,
impl<ADCX> Sync for AdcCalLine<ADCX>where
ADCX: Sync,
impl<ADCX> Unpin for AdcCalLine<ADCX>where
ADCX: Unpin,
impl<ADCX> UnsafeUnpin for AdcCalLine<ADCX>
impl<ADCX> UnwindSafe for AdcCalLine<ADCX>where
ADCX: UnwindSafe,
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)