30#if not defined(STM32F407xx) && not defined(STM32F429xx) && \
31 not defined(STM32F767xx) && not defined(STM32F769xx)
32#define INTERNAL_ADC_WITHOUT_CALIBRATION
112 bool init()
override;
137 void resetRegisters();
141 uint16_t readChannel(
Channel channel);
145 bool channelsEnabled[
CH_NUM];
146 bool tempEnabled =
false;
147 bool vbatEnabled =
false;
149#ifndef INTERNAL_ADC_WITHOUT_CALIBRATION
150 void loadCalibrationValues();
Driver for stm32 internal ADC.
bool init() override
ADC Initialization.
TemperatureData getTemperature()
void enableChannel(Channel channel, SampleTime sampleTime=CYCLES_480)
ADCData getVoltage(Channel channel)
SampleTime
Conversion sample time. See reference manual.
void enableVbat(SampleTime sampleTime=CYCLES_480)
void disableChannel(Channel channel)
bool selfTest() override
Check if the sensor is working.
InternalADCData sampleImpl() override
Read a data sample from the sensor. In case of errors, the method should return the last available co...
void enableTemperature(SampleTime sampleTime=CYCLES_480)
InternalADC(ADC_TypeDef *adc)
Resets the ADC configuration and automatically enables the peripheral clock.
Channel
ADC channels enumeration.
void disableTemperature()
Base sensor class with has to be extended by any sensor driver.
This file includes all the types the logdecoder script will decode.
Structure to handle ADC data.