Skip to main content

AdcCalScheme

Trait AdcCalScheme 

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

    // Provided methods
    fn new_cal_with_channel(atten: Attenuation, _channel: u8) -> Self { ... }
    fn adc_cal(&self) -> u16 { ... }
    fn adc_val(&self, val: u16) -> u16 { ... }
}
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 new_cal_with_channel(atten: Attenuation, _channel: u8) -> Self

Create a new calibration scheme for the given attenuation and ADC channel.

The default implementation ignores channel and calls Self::new_cal.

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".

Implementations on Foreign Types§

Source§

impl<ADCX> AdcCalScheme<ADCX> for ()

Available on crate feature unstable only.
Source§

fn new_cal(_atten: Attenuation) -> Self

Implementors§