pub trait AnalogComparator<'a> {
    type Channel;

    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

The chip-dependent type of an analog comparator channel.

Required Methods

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.

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.

Stop interrupt-based comparison for the chosen channel.