kernel::hil::analog_comparator

Trait AnalogComparator

Source
pub trait AnalogComparator<'a> {
    type Channel;

    // Required methods
    fn comparison(&self, channel: &Self::Channel) -> bool;
    fn start_comparing(&self, channel: &Self::Channel) -> Result<(), ErrorCode>;
    fn stop_comparing(&self, channel: &Self::Channel) -> Result<(), ErrorCode>;
    fn set_client(&self, client: &'a dyn Client);
}

Required Associated Types§

Source

type Channel

The chip-dependent type of an analog comparator channel.

Required Methods§

Source

fn comparison(&self, channel: &Self::Channel) -> bool

Do a single comparison of two inputs, depending on the AC chosen. Output will be True (1) when one is higher than the other, and False (0) otherwise. Specifically, the output is True when Vp > Vn (Vin positive

Vin negative), and False if Vp < Vn.

Source

fn start_comparing(&self, channel: &Self::Channel) -> Result<(), ErrorCode>

Start interrupt-based comparison for the chosen channel (e.g. channel 1 for AC1). This will make it listen and send an interrupt as soon as Vp > Vn.

Source

fn stop_comparing(&self, channel: &Self::Channel) -> Result<(), ErrorCode>

Stop interrupt-based comparison for the chosen channel.

Source

fn set_client(&self, client: &'a dyn Client)

Implementors§