HF-Core Platform 0.1.0-dev
Hardware-Agnostic Handler Layer & RTOS Utilities for HardFOC
Loading...
Searching...
No Matches
NtcTemperatureHandler Class Reference

NTC temperature sensor handler implementing BaseTemperature interface. More...

#include <NtcTemperatureHandler.h>

Inheritance diagram for NtcTemperatureHandler:
[legend]
Collaboration diagram for NtcTemperatureHandler:
[legend]

Public Member Functions

 NtcTemperatureHandler (NtcType ntc_type, BaseAdc *adc_interface, const char *sensor_name=nullptr) noexcept
 Constructor with NTC type and ADC interface.
 
 NtcTemperatureHandler (BaseAdc *adc_interface, const ntc_temp_handler_config_t &config) noexcept
 Constructor with ADC interface and configuration.
 
 NtcTemperatureHandler (const NtcTemperatureHandler &)=delete
 Copy constructor is deleted.
 
NtcTemperatureHandleroperator= (const NtcTemperatureHandler &)=delete
 Assignment operator is deleted.
 
 NtcTemperatureHandler (NtcTemperatureHandler &&)=delete
 Non-movable (holds mutex, unique_ptrs, raw pointers, and timer resources).
 
NtcTemperatureHandleroperator= (NtcTemperatureHandler &&)=delete
 Non-movable.
 
virtual ~NtcTemperatureHandler () noexcept
 Virtual destructor - cleans up timer and thermistor resources.
 
bool Initialize () noexcept override
 
bool Deinitialize () noexcept override
 
hf_temp_err_t ReadTemperatureCelsiusImpl (float *temperature_celsius) noexcept override
 
hf_temp_err_t GetSensorInfo (hf_temp_sensor_info_t *info) const noexcept override
 
hf_u32_t GetCapabilities () const noexcept override
 
hf_temp_err_t SetRange (float min_celsius, float max_celsius) noexcept override
 
hf_temp_err_t GetRange (float *min_celsius, float *max_celsius) const noexcept override
 
hf_temp_err_t GetResolution (float *resolution_celsius) const noexcept override
 
hf_temp_err_t SetThresholds (float low_threshold_celsius, float high_threshold_celsius) noexcept override
 
hf_temp_err_t GetThresholds (float *low_threshold_celsius, float *high_threshold_celsius) const noexcept override
 
hf_temp_err_t EnableThresholdMonitoring (hf_temp_threshold_callback_t callback, void *user_data) noexcept override
 
hf_temp_err_t DisableThresholdMonitoring () noexcept override
 
hf_temp_err_t StartContinuousMonitoring (hf_u32_t sample_rate_hz, hf_temp_reading_callback_t callback, void *user_data) noexcept override
 
hf_temp_err_t StopContinuousMonitoring () noexcept override
 
bool IsMonitoringActive () const noexcept override
 
hf_temp_err_t SetCalibrationOffset (float offset_celsius) noexcept override
 
hf_temp_err_t GetCalibrationOffset (float *offset_celsius) const noexcept override
 
hf_temp_err_t ResetCalibration () noexcept override
 
hf_temp_err_t EnterSleepMode () noexcept override
 
hf_temp_err_t ExitSleepMode () noexcept override
 
bool IsSleeping () const noexcept override
 
hf_temp_err_t SelfTest () noexcept override
 
hf_temp_err_t CheckHealth () noexcept override
 
hf_temp_err_t GetStatistics (hf_temp_statistics_t &statistics) noexcept override
 
hf_temp_err_t GetDiagnostics (hf_temp_diagnostics_t &diagnostics) noexcept override
 
hf_temp_err_t ResetStatistics () noexcept override
 
hf_temp_err_t ResetDiagnostics () noexcept override
 
void * GetNtcThermistor () noexcept
 Get NTC thermistor instance.
 
const void * GetNtcThermistor () const noexcept
 Get NTC thermistor instance (const)
 
NtcError GetNtcReading (ntc_reading_t *reading) noexcept
 Get NTC reading.
 
NtcError GetNtcConfiguration (ntc_config_t *config) const noexcept
 Get NTC configuration.
 
NtcError SetNtcConfiguration (const ntc_config_t &config) noexcept
 Set NTC configuration.
 
NtcError GetResistance (float *resistance_ohms) noexcept
 Get thermistor resistance.
 
NtcError GetVoltage (float *voltage_volts) noexcept
 Get voltage across thermistor.
 
NtcError GetRawAdcValue (uint32_t *adc_value) noexcept
 Get raw ADC value.
 
hf_temp_err_t Calibrate (float reference_temperature_celsius) noexcept
 Calibrate the thermistor.
 
NtcError SetConversionMethod (NtcConversionMethod method) noexcept
 Set conversion method.
 
NtcError SetVoltageDivider (float series_resistance) noexcept
 Set voltage divider parameters.
 
NtcError SetReferenceVoltage (float reference_voltage) noexcept
 Set reference voltage.
 
NtcError SetBetaValue (float beta_value) noexcept
 Set beta value.
 
NtcError SetAdcChannel (uint8_t adc_channel) noexcept
 Set ADC channel.
 
NtcError SetSamplingParameters (uint32_t sample_count, uint32_t sample_delay_ms) noexcept
 Set sampling parameters.
 
NtcError SetFiltering (bool enable, float alpha=0.1f) noexcept
 Enable/disable filtering.
 
const char * GetSensorName () const noexcept
 Get sensor name.
 
const char * GetSensorDescription () const noexcept
 Get sensor description.
 
NtcThermistorConcreteGetDriver () noexcept
 Get the underlying NtcThermistor driver for advanced operations.
 
const NtcThermistorConcreteGetDriver () const noexcept
 

Private Member Functions

void SetLastError (hf_temp_err_t error) noexcept
 Set last error in diagnostics.
 
void UpdateStatistics (bool operation_successful, hf_u32_t operation_time_us) noexcept
 Update operation statistics.
 
void UpdateDiagnostics (hf_temp_err_t error) noexcept
 Update diagnostics with error code.
 
bool InitializeNtcThermistor () noexcept
 Initialize NTC thermistor with current configuration.
 
hf_temp_err_t ConvertNtcError (NtcError ntc_error) const noexcept
 Convert NTC error to BaseTemperature error.
 
void CheckThresholds (float temperature_celsius) noexcept
 Check thresholds and trigger callback if needed.
 
void UpdateBaseDiagnostics (hf_temp_err_t error) noexcept
 Update BaseTemperature diagnostics.
 
hf_temp_err_t ValidateConfiguration (const ntc_temp_handler_config_t &config) const noexcept
 Validate configuration.
 

Static Private Member Functions

static void ContinuousMonitoringCallback (uint32_t arg)
 Static callback for continuous monitoring timer.
 
static hf_u32_t RegisterMonitoringContext (NtcTemperatureHandler *handler) noexcept
 Register/unregister callback context IDs for timer callbacks.
 
static void UnregisterMonitoringContext (hf_u32_t context_id) noexcept
 
static NtcTemperatureHandlerResolveMonitoringContext (hf_u32_t context_id) noexcept
 
static hf_u64_t GetCurrentTimeUs () noexcept
 Get current timestamp in microseconds.
 

Private Attributes

RtosMutex mutex_
 Thread safety mutex (hardware-agnostic)
 
std::unique_ptr< NtcAdcAdapterntc_adc_adapter_
 ADC adapter (BaseAdc→ntc::AdcInterface)
 
std::unique_ptr< NtcThermistorConcretentc_thermistor_
 NTC thermistor driver instance.
 
BaseAdc * adc_interface_
 ADC interface pointer.
 
ntc_temp_handler_config_t config_
 Handler configuration.
 
hf_temp_state_t current_state_
 Current state.
 
hf_temp_config_t base_config_
 Base configuration.
 
float low_threshold_celsius_
 Low temperature threshold.
 
float high_threshold_celsius_
 High temperature threshold.
 
hf_temp_threshold_callback_t threshold_callback_
 Threshold callback.
 
void * threshold_user_data_
 Threshold callback user data.
 
hf_u32_t sample_rate_hz_
 Sample rate for continuous monitoring.
 
hf_temp_reading_callback_t continuous_callback_
 Continuous monitoring callback.
 
void * continuous_user_data_
 Continuous monitoring callback user data.
 
PeriodicTimer monitoring_timer_
 Hardware-agnostic periodic timer.
 
hf_u32_t monitoring_context_id_
 Timer callback context ID (0 = unassigned)
 
float calibration_offset_
 Current calibration offset.
 
hf_temp_statistics_t statistics_
 BaseTemperature statistics.
 
hf_temp_diagnostics_t diagnostics_
 BaseTemperature diagnostics.
 
bool initialized_
 Initialization status.
 
bool threshold_monitoring_enabled_
 Threshold monitoring status.
 
bool monitoring_active_
 Continuous monitoring status.
 

Static Private Attributes

static constexpr hf_u32_t kMonitoringContextSlots = 8
 
static RtosMutex callback_registry_mutex_ {}
 
static std::array< NtcTemperatureHandler *, kMonitoringContextSlotscallback_registry_ = {}
 

Detailed Description

NTC temperature sensor handler implementing BaseTemperature interface.

This class provides a complete implementation of the BaseTemperature interface for NTC thermistor temperature sensors. It uses a BaseAdc pointer for voltage measurements and wraps the NtcThermistor library to provide comprehensive temperature sensing capabilities.

Key features:

  • BaseTemperature interface compliance
  • Hardware-agnostic design using BaseAdc
  • Support for multiple NTC types
  • Dual conversion methods (lookup table and mathematical)
  • Built-in calibration and filtering
  • Comprehensive error handling
  • Thread-safe operations
  • Statistics and diagnostics
  • Threshold monitoring support
  • Continuous monitoring support
Note
This class is thread-safe and can be used in multi-threaded applications
The handler requires a BaseAdc interface for voltage measurements
Supports all BaseTemperature features including threshold and continuous monitoring

Constructor & Destructor Documentation

◆ NtcTemperatureHandler() [1/4]

NtcTemperatureHandler::NtcTemperatureHandler ( NtcType ntc_type,
BaseAdc * adc_interface,
const char * sensor_name = nullptr )
noexcept

Constructor with NTC type and ADC interface.

Parameters
ntc_typeNTC thermistor type
adc_interfacePointer to BaseAdc interface
sensor_nameOptional sensor name

◆ NtcTemperatureHandler() [2/4]

NtcTemperatureHandler::NtcTemperatureHandler ( BaseAdc * adc_interface,
const ntc_temp_handler_config_t & config )
noexcept

Constructor with ADC interface and configuration.

Parameters
adc_interfacePointer to BaseAdc interface
configNTC temperature handler configuration

◆ NtcTemperatureHandler() [3/4]

NtcTemperatureHandler::NtcTemperatureHandler ( const NtcTemperatureHandler & )
delete

Copy constructor is deleted.

◆ NtcTemperatureHandler() [4/4]

NtcTemperatureHandler::NtcTemperatureHandler ( NtcTemperatureHandler && )
delete

Non-movable (holds mutex, unique_ptrs, raw pointers, and timer resources).

◆ ~NtcTemperatureHandler()

NtcTemperatureHandler::~NtcTemperatureHandler ( )
virtualnoexcept

Virtual destructor - cleans up timer and thermistor resources.

Here is the call graph for this function:

Member Function Documentation

◆ Calibrate()

hf_temp_err_t NtcTemperatureHandler::Calibrate ( float reference_temperature_celsius)
noexcept

Calibrate the thermistor.

Parameters
reference_temperature_celsiusKnown reference temperature
Returns
Error code
Here is the call graph for this function:

◆ CheckHealth()

hf_temp_err_t NtcTemperatureHandler::CheckHealth ( )
overridenoexcept

◆ CheckThresholds()

void NtcTemperatureHandler::CheckThresholds ( float temperature_celsius)
privatenoexcept

Check thresholds and trigger callback if needed.

Parameters
temperature_celsiusCurrent temperature reading

◆ ContinuousMonitoringCallback()

void NtcTemperatureHandler::ContinuousMonitoringCallback ( uint32_t arg)
staticprivate

Static callback for continuous monitoring timer.

Parameters
argTimer callback argument (registered context ID)
Here is the call graph for this function:

◆ ConvertNtcError()

hf_temp_err_t NtcTemperatureHandler::ConvertNtcError ( NtcError ntc_error) const
privatenoexcept

Convert NTC error to BaseTemperature error.

Parameters
ntc_errorNTC error code
Returns
BaseTemperature error code
Here is the caller graph for this function:

◆ Deinitialize()

bool NtcTemperatureHandler::Deinitialize ( )
overridenoexcept
Here is the call graph for this function:

◆ DisableThresholdMonitoring()

hf_temp_err_t NtcTemperatureHandler::DisableThresholdMonitoring ( )
overridenoexcept
Here is the call graph for this function:

◆ EnableThresholdMonitoring()

hf_temp_err_t NtcTemperatureHandler::EnableThresholdMonitoring ( hf_temp_threshold_callback_t callback,
void * user_data )
overridenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnterSleepMode()

hf_temp_err_t NtcTemperatureHandler::EnterSleepMode ( )
overridenoexcept
Here is the call graph for this function:

◆ ExitSleepMode()

hf_temp_err_t NtcTemperatureHandler::ExitSleepMode ( )
overridenoexcept
Here is the call graph for this function:

◆ GetCalibrationOffset()

hf_temp_err_t NtcTemperatureHandler::GetCalibrationOffset ( float * offset_celsius) const
overridenoexcept

◆ GetCapabilities()

hf_u32_t NtcTemperatureHandler::GetCapabilities ( ) const
overridenoexcept

◆ GetCurrentTimeUs()

static hf_u64_t NtcTemperatureHandler::GetCurrentTimeUs ( )
staticprivatenoexcept

Get current timestamp in microseconds.

Returns
Current timestamp

◆ GetDiagnostics()

hf_temp_err_t NtcTemperatureHandler::GetDiagnostics ( hf_temp_diagnostics_t & diagnostics)
overridenoexcept

◆ GetDriver() [1/2]

const NtcThermistorConcrete * NtcTemperatureHandler::GetDriver ( ) const
noexcept
Here is the call graph for this function:

◆ GetDriver() [2/2]

NtcThermistorConcrete * NtcTemperatureHandler::GetDriver ( )
noexcept

Get the underlying NtcThermistor driver for advanced operations.

Returns
Pointer to the NtcThermistor driver, or nullptr if not initialized.
Here is the caller graph for this function:

◆ GetNtcConfiguration()

NtcError NtcTemperatureHandler::GetNtcConfiguration ( ntc_config_t * config) const
noexcept

Get NTC configuration.

Parameters
configPointer to store configuration
Returns
Error code

◆ GetNtcReading()

NtcError NtcTemperatureHandler::GetNtcReading ( ntc_reading_t * reading)
noexcept

Get NTC reading.

Parameters
readingPointer to store NTC reading
Returns
NTC error code

◆ GetNtcThermistor() [1/2]

const void * NtcTemperatureHandler::GetNtcThermistor ( ) const
noexcept

Get NTC thermistor instance (const)

Returns
Pointer to const NtcThermistor instance
Note
Returns raw pointer for observation only; handler retains ownership.
Here is the call graph for this function:

◆ GetNtcThermistor() [2/2]

void * NtcTemperatureHandler::GetNtcThermistor ( )
noexcept

Get NTC thermistor instance.

Returns
Pointer to NtcThermistor instance (opaque)
Note
Returns raw pointer for observation only; handler retains ownership.
Here is the caller graph for this function:

◆ GetRange()

hf_temp_err_t NtcTemperatureHandler::GetRange ( float * min_celsius,
float * max_celsius ) const
overridenoexcept

◆ GetRawAdcValue()

NtcError NtcTemperatureHandler::GetRawAdcValue ( uint32_t * adc_value)
noexcept

Get raw ADC value.

Parameters
adc_valuePointer to store ADC value
Returns
Error code

◆ GetResistance()

NtcError NtcTemperatureHandler::GetResistance ( float * resistance_ohms)
noexcept

Get thermistor resistance.

Parameters
resistance_ohmsPointer to store resistance
Returns
Error code

◆ GetResolution()

hf_temp_err_t NtcTemperatureHandler::GetResolution ( float * resolution_celsius) const
overridenoexcept

◆ GetSensorDescription()

const char * NtcTemperatureHandler::GetSensorDescription ( ) const
noexcept

Get sensor description.

Returns
Sensor description string

◆ GetSensorInfo()

hf_temp_err_t NtcTemperatureHandler::GetSensorInfo ( hf_temp_sensor_info_t * info) const
overridenoexcept

◆ GetSensorName()

const char * NtcTemperatureHandler::GetSensorName ( ) const
noexcept

Get sensor name.

Returns
Sensor name string

◆ GetStatistics()

hf_temp_err_t NtcTemperatureHandler::GetStatistics ( hf_temp_statistics_t & statistics)
overridenoexcept

◆ GetThresholds()

hf_temp_err_t NtcTemperatureHandler::GetThresholds ( float * low_threshold_celsius,
float * high_threshold_celsius ) const
overridenoexcept

◆ GetVoltage()

NtcError NtcTemperatureHandler::GetVoltage ( float * voltage_volts)
noexcept

Get voltage across thermistor.

Parameters
voltage_voltsPointer to store voltage
Returns
Error code

◆ Initialize()

bool NtcTemperatureHandler::Initialize ( )
overridenoexcept
Here is the call graph for this function:

◆ InitializeNtcThermistor()

bool NtcTemperatureHandler::InitializeNtcThermistor ( )
privatenoexcept

Initialize NTC thermistor with current configuration.

Returns
true if successful, false otherwise

◆ IsMonitoringActive()

bool NtcTemperatureHandler::IsMonitoringActive ( ) const
overridenoexcept

◆ IsSleeping()

bool NtcTemperatureHandler::IsSleeping ( ) const
overridenoexcept

◆ operator=() [1/2]

NtcTemperatureHandler & NtcTemperatureHandler::operator= ( const NtcTemperatureHandler & )
delete

Assignment operator is deleted.

◆ operator=() [2/2]

NtcTemperatureHandler & NtcTemperatureHandler::operator= ( NtcTemperatureHandler && )
delete

Non-movable.

◆ ReadTemperatureCelsiusImpl()

hf_temp_err_t NtcTemperatureHandler::ReadTemperatureCelsiusImpl ( float * temperature_celsius)
overridenoexcept

◆ RegisterMonitoringContext()

hf_u32_t NtcTemperatureHandler::RegisterMonitoringContext ( NtcTemperatureHandler * handler)
staticprivatenoexcept

Register/unregister callback context IDs for timer callbacks.

◆ ResetCalibration()

hf_temp_err_t NtcTemperatureHandler::ResetCalibration ( )
overridenoexcept
Here is the call graph for this function:

◆ ResetDiagnostics()

hf_temp_err_t NtcTemperatureHandler::ResetDiagnostics ( )
overridenoexcept
Here is the call graph for this function:

◆ ResetStatistics()

hf_temp_err_t NtcTemperatureHandler::ResetStatistics ( )
overridenoexcept
Here is the call graph for this function:

◆ ResolveMonitoringContext()

NtcTemperatureHandler * NtcTemperatureHandler::ResolveMonitoringContext ( hf_u32_t context_id)
staticprivatenoexcept
Here is the caller graph for this function:

◆ SelfTest()

hf_temp_err_t NtcTemperatureHandler::SelfTest ( )
overridenoexcept
Here is the call graph for this function:

◆ SetAdcChannel()

NtcError NtcTemperatureHandler::SetAdcChannel ( uint8_t adc_channel)
noexcept

Set ADC channel.

Parameters
adc_channelADC channel number
Returns
Error code

◆ SetBetaValue()

NtcError NtcTemperatureHandler::SetBetaValue ( float beta_value)
noexcept

Set beta value.

Parameters
beta_valueBeta value (K)
Returns
Error code

◆ SetCalibrationOffset()

hf_temp_err_t NtcTemperatureHandler::SetCalibrationOffset ( float offset_celsius)
overridenoexcept
Here is the call graph for this function:

◆ SetConversionMethod()

NtcError NtcTemperatureHandler::SetConversionMethod ( NtcConversionMethod method)
noexcept

Set conversion method.

Parameters
methodConversion method
Returns
Error code

◆ SetFiltering()

NtcError NtcTemperatureHandler::SetFiltering ( bool enable,
float alpha = 0.1f )
noexcept

Enable/disable filtering.

Parameters
enableEnable filtering
alphaFilter alpha value (0.0-1.0)
Returns
Error code

◆ SetLastError()

void NtcTemperatureHandler::SetLastError ( hf_temp_err_t error)
privatenoexcept

Set last error in diagnostics.

Parameters
errorError code to record
Here is the caller graph for this function:

◆ SetNtcConfiguration()

NtcError NtcTemperatureHandler::SetNtcConfiguration ( const ntc_config_t & config)
noexcept

Set NTC configuration.

Parameters
configNew configuration
Returns
Error code

◆ SetRange()

hf_temp_err_t NtcTemperatureHandler::SetRange ( float min_celsius,
float max_celsius )
overridenoexcept

◆ SetReferenceVoltage()

NtcError NtcTemperatureHandler::SetReferenceVoltage ( float reference_voltage)
noexcept

Set reference voltage.

Parameters
reference_voltageReference voltage (V)
Returns
Error code

◆ SetSamplingParameters()

NtcError NtcTemperatureHandler::SetSamplingParameters ( uint32_t sample_count,
uint32_t sample_delay_ms )
noexcept

Set sampling parameters.

Parameters
sample_countNumber of samples
sample_delay_msDelay between samples (ms)
Returns
Error code

◆ SetThresholds()

hf_temp_err_t NtcTemperatureHandler::SetThresholds ( float low_threshold_celsius,
float high_threshold_celsius )
overridenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetVoltageDivider()

NtcError NtcTemperatureHandler::SetVoltageDivider ( float series_resistance)
noexcept

Set voltage divider parameters.

Parameters
series_resistanceSeries resistance (ohms)
Returns
Error code

◆ StartContinuousMonitoring()

hf_temp_err_t NtcTemperatureHandler::StartContinuousMonitoring ( hf_u32_t sample_rate_hz,
hf_temp_reading_callback_t callback,
void * user_data )
overridenoexcept
Here is the call graph for this function:

◆ StopContinuousMonitoring()

hf_temp_err_t NtcTemperatureHandler::StopContinuousMonitoring ( )
overridenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UnregisterMonitoringContext()

void NtcTemperatureHandler::UnregisterMonitoringContext ( hf_u32_t context_id)
staticprivatenoexcept
Here is the caller graph for this function:

◆ UpdateBaseDiagnostics()

void NtcTemperatureHandler::UpdateBaseDiagnostics ( hf_temp_err_t error)
privatenoexcept

Update BaseTemperature diagnostics.

Parameters
errorError code

◆ UpdateDiagnostics()

void NtcTemperatureHandler::UpdateDiagnostics ( hf_temp_err_t error)
privatenoexcept

Update diagnostics with error code.

Parameters
errorError code

◆ UpdateStatistics()

void NtcTemperatureHandler::UpdateStatistics ( bool operation_successful,
hf_u32_t operation_time_us )
privatenoexcept

Update operation statistics.

Parameters
operation_successfulWhether operation was successful
operation_time_usOperation time in microseconds

◆ ValidateConfiguration()

hf_temp_err_t NtcTemperatureHandler::ValidateConfiguration ( const ntc_temp_handler_config_t & config) const
privatenoexcept

Validate configuration.

Parameters
configConfiguration to validate
Returns
Error code

Member Data Documentation

◆ adc_interface_

BaseAdc* NtcTemperatureHandler::adc_interface_
private

ADC interface pointer.

◆ base_config_

hf_temp_config_t NtcTemperatureHandler::base_config_
private

Base configuration.

◆ calibration_offset_

float NtcTemperatureHandler::calibration_offset_
private

Current calibration offset.

◆ callback_registry_

std::array< NtcTemperatureHandler *, NtcTemperatureHandler::kMonitoringContextSlots > NtcTemperatureHandler::callback_registry_ = {}
staticprivate

◆ callback_registry_mutex_

RtosMutex NtcTemperatureHandler::callback_registry_mutex_ {}
staticprivate

◆ config_

ntc_temp_handler_config_t NtcTemperatureHandler::config_
private

Handler configuration.

◆ continuous_callback_

hf_temp_reading_callback_t NtcTemperatureHandler::continuous_callback_
private

Continuous monitoring callback.

◆ continuous_user_data_

void* NtcTemperatureHandler::continuous_user_data_
private

Continuous monitoring callback user data.

◆ current_state_

hf_temp_state_t NtcTemperatureHandler::current_state_
private

Current state.

◆ diagnostics_

hf_temp_diagnostics_t NtcTemperatureHandler::diagnostics_
private

BaseTemperature diagnostics.

◆ high_threshold_celsius_

float NtcTemperatureHandler::high_threshold_celsius_
private

High temperature threshold.

◆ initialized_

bool NtcTemperatureHandler::initialized_
private

Initialization status.

◆ kMonitoringContextSlots

constexpr hf_u32_t NtcTemperatureHandler::kMonitoringContextSlots = 8
staticconstexprprivate

◆ low_threshold_celsius_

float NtcTemperatureHandler::low_threshold_celsius_
private

Low temperature threshold.

◆ monitoring_active_

bool NtcTemperatureHandler::monitoring_active_
private

Continuous monitoring status.

◆ monitoring_context_id_

hf_u32_t NtcTemperatureHandler::monitoring_context_id_
private

Timer callback context ID (0 = unassigned)

◆ monitoring_timer_

PeriodicTimer NtcTemperatureHandler::monitoring_timer_
private

Hardware-agnostic periodic timer.

◆ mutex_

RtosMutex NtcTemperatureHandler::mutex_
mutableprivate

Thread safety mutex (hardware-agnostic)

◆ ntc_adc_adapter_

std::unique_ptr<NtcAdcAdapter> NtcTemperatureHandler::ntc_adc_adapter_
private

ADC adapter (BaseAdc→ntc::AdcInterface)

◆ ntc_thermistor_

std::unique_ptr<NtcThermistorConcrete> NtcTemperatureHandler::ntc_thermistor_
private

NTC thermistor driver instance.

◆ sample_rate_hz_

hf_u32_t NtcTemperatureHandler::sample_rate_hz_
private

Sample rate for continuous monitoring.

◆ statistics_

hf_temp_statistics_t NtcTemperatureHandler::statistics_
private

BaseTemperature statistics.

◆ threshold_callback_

hf_temp_threshold_callback_t NtcTemperatureHandler::threshold_callback_
private

Threshold callback.

◆ threshold_monitoring_enabled_

bool NtcTemperatureHandler::threshold_monitoring_enabled_
private

Threshold monitoring status.

◆ threshold_user_data_

void* NtcTemperatureHandler::threshold_user_data_
private

Threshold callback user data.


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