|
HardFOC Flux V1 HAL
Unified HAL API for the HardFOC Flux valve-control platform (ESP32-S3)
|
Temperature sensor management for the HardFOC Flux V1 platform. More...
#include <array>#include <atomic>#include <cstdint>#include <optional>#include <string_view>#include "core/hf-core-drivers/internal/hf-internal-interface-wrap/inc/base/BaseTemperature.h"#include "handlers/mcp9700/Mcp9700TemperatureHandler.h"#include "handlers/ntc/NtcTemperatureHandler.h"#include "handlers/logger/Logger.h"#include "RtosMutex.h"#include "flux_hal/flux_hal_types.hpp"Go to the source code of this file.
Classes | |
| struct | TempEntry |
| A single temperature sensor entry in the fixed-size registry. More... | |
| struct | TempSystemDiagnostics |
| Temperature subsystem diagnostics snapshot (cross-HAL compatible format). More... | |
| class | TemperatureManager |
| Singleton manager for all temperature sensors on Flux V1. More... | |
Enumerations | |
| enum class | TemperatureError : uint8_t { SUCCESS = 0 , NOT_INITIALIZED , INITIALIZATION_FAILED , SENSOR_NOT_FOUND , SENSOR_NOT_AVAILABLE , READ_FAILED , INVALID_PARAMETER , NO_SENSORS_AVAILABLE , ALLOCATION_FAILED , DEPENDENCY_NOT_READY , MUTEX_LOCK_FAILED } |
| Temperature manager error codes for consistent error reporting. More... | |
| enum class | FluxTempSensorType : uint8_t { ESP32_INTERNAL = 0 , NTC_THERMISTOR = 1 , MCP9700_THERMISTOR = 2 , SENSOR_COUNT } |
| Identifies the physical temperature sensor type on the Flux board. More... | |
Functions | |
| constexpr const char * | TemperatureErrorToString (TemperatureError error) noexcept |
| Convert TemperatureError to string for debugging. | |
| constexpr const char * | FluxTempSensorTypeToString (FluxTempSensorType type) noexcept |
| Convert FluxTempSensorType to a human-readable string. | |
| TemperatureManager & | GetTemperatureManager () noexcept |
| Convenience accessor — equivalent to TemperatureManager::GetInstance(). | |
Temperature sensor management for the HardFOC Flux V1 platform.
The Flux board temperature sources include:
No TMC9660 temperature sensor (Flux has no motor controller).
Stack-friendly design: fixed-size array of TempEntry structs, no heap vectors or unordered_maps. Sensor driver instances are individually heap-allocated via unique_ptr (singleton lifetime).
|
strong |
Identifies the physical temperature sensor type on the Flux board.
|
strong |
Temperature manager error codes for consistent error reporting.
Manager-layer errors that are sensor-family agnostic. Driver-level errors (hf_temp_err_t) are translated into this common manager error domain.
|
constexprnoexcept |
Convert FluxTempSensorType to a human-readable string.
| type | Sensor type to convert. |
|
inlinenoexcept |
Convenience accessor — equivalent to TemperatureManager::GetInstance().
|
constexprnoexcept |
Convert TemperatureError to string for debugging.
| error | Error code to convert. |