Avalon Firmware
 
Loading...
Searching...
No Matches
adc_manager Class Reference

Class to manage ADC hardware sampling and filtering. More...

#include <adc_utils.hpp>

Inheritance diagram for adc_manager:
supercap_control_manager

Public Member Functions

 adc_manager (ADC_HandleTypeDef *adc_cap, ADC_HandleTypeDef *adc_bat, ADC_HandleTypeDef *adc_temp)
 Constructor.
 
HAL_StatusTypeDef adc_init (uint8_t *filters_length)
 Initializes ADCs and filter states.
 
float get_temperature ()
 Reads temperature using onboard NTC.
 

Data Fields

bool calibration_ready = false
 Optional flag for calibration flow.
 

Detailed Description

Class to manage ADC hardware sampling and filtering.

Constructor & Destructor Documentation

◆ adc_manager()

adc_manager::adc_manager ( ADC_HandleTypeDef * adc_cap,
ADC_HandleTypeDef * adc_bat,
ADC_HandleTypeDef * adc_temp )
inline

Constructor.

Parameters
adc_capPointer to ADC for capacitor-side sampling
adc_batPointer to ADC for battery-side sampling
adc_tempPointer to ADC for temperature sensing

Member Function Documentation

◆ adc_init()

HAL_StatusTypeDef adc_manager::adc_init ( uint8_t * filters_length)

Initializes ADCs and filter states.

Initializes ADC peripherals, DMA, and filter buffers.

Parameters
filters_lengthPointer to array of filter lengths per channel
Returns
HAL_OK if successful

Also starts internal ADC calibration and begins temperature ADC readings.

Parameters
filters_lengthPointer to an array specifying the filter window length per channel.
Returns
HAL_OK if successful.

◆ get_temperature()

float adc_manager::get_temperature ( )

Reads temperature using onboard NTC.

Calculates the ambient temperature using a thermistor connected to an analog input.

Returns
Temperature in Celsius

Converts ADC reading to voltage, calculates NTC resistance, and applies the B-parameter equation.

Returns
Temperature in Celsius.

Field Documentation

◆ calibration_ready

bool adc_manager::calibration_ready = false

Optional flag for calibration flow.


The documentation for this class was generated from the following files: