Base interface for getting analog-to-digital (ADC) samples from one ADC channel in a thread-safe manner.
The ADC backend interface is up to the user to define and implement for now. This gives flexibility for the ADC driver implementation.
AnalogInput
controls a specific input / channel where the ADC peripheral may be shared across multiple channels that may be controlled by multiple threads. The implementer of this pure virtual interface is responsible for ensuring thread safety and access at the driver level.
Classes | |
struct | Limits |
Public Member Functions | |
Result< int32_t > | TryReadFor (chrono::SystemClock::duration timeout) |
virtual Result< int32_t > | TryReadUntil (chrono::SystemClock::time_point deadline)=0 |
virtual Limits | GetLimits () const =0 |