Trait AdcCalScheme

Source
pub trait AdcCalScheme<ADCI>: Sized + Sealed {
    // Required method
    fn new_cal(atten: Attenuation) -> Self;

    // Provided methods
    fn adc_cal(&self) -> u16 { ... }
    fn adc_val(&self, val: u16) -> u16 { ... }
}
Available on crate feature unstable only.
Expand description

A trait abstracting over calibration methods.

The methods in this trait are mostly for internal use. To get calibrated ADC reads, all you need to do is call enable_pin_with_cal and specify some implementor of this trait.

Required Methods§

Source

fn new_cal(atten: Attenuation) -> Self

Create a new calibration scheme for the given attenuation.

Provided Methods§

Source

fn adc_cal(&self) -> u16

Return the basic ADC bias value.

Source

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

Convert ADC value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<ADCI> AdcCalScheme<ADCI> for ()

Source§

fn new_cal(_atten: Attenuation) -> Self

Implementors§

Source§

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

Source§

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

Source§

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