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>
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>where
AdcCalBasic<ADCX>: RefUnwindSafe,
PhantomData<ADCX>: RefUnwindSafe,
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>where
AdcCalBasic<ADCX>: UnsafeUnpin,
PhantomData<ADCX>: UnsafeUnpin,
impl<ADCX> UnwindSafe for AdcCalLine<ADCX>where
AdcCalBasic<ADCX>: UnwindSafe,
PhantomData<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)