Skip to main content

AdcCalBasic

Struct AdcCalBasic 

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

Basic ADC calibration scheme

Basic calibration sets the initial ADC bias value so that a zero voltage gives a reading of zero. The correct bias value is usually stored in efuse, but can also be measured at runtime by connecting the ADC input to ground internally.

Failing to apply basic calibration can substantially reduce the ADC’s output range because bias correction is done before the ADC’s output is truncated to 12 bits.

Trait Implementations§

Source§

impl<ADCX> AdcCalScheme<ADCX> for AdcCalBasic<ADCX>
where ADCX: AdcCalEfuse + CalibrationAccess,

Source§

fn new_cal(atten: Attenuation) -> Self

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

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

Create a new calibration scheme for the given attenuation and ADC channel. Read more
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<ADCX: Clone> Clone for AdcCalBasic<ADCX>

Source§

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

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

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

Performs copy-assignment from source. Read more
Source§

impl<ADCX: Copy> Copy for AdcCalBasic<ADCX>

Auto Trait Implementations§

§

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

§

impl<ADCX> RefUnwindSafe for AdcCalBasic<ADCX>
where PhantomData<ADCX>: RefUnwindSafe,

§

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

§

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

§

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

§

impl<ADCX> UnsafeUnpin for AdcCalBasic<ADCX>
where PhantomData<ADCX>: UnsafeUnpin,

§

impl<ADCX> UnwindSafe for AdcCalBasic<ADCX>
where PhantomData<ADCX>: 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, dest: *mut u8)

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

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

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.