Abstract base class for temperature sensor implementations in the HardFOC system.
More...
|
| enum | hf_temp_err_t {
TEMP_SUCCESS = 0
, TEMP_ERR_FAILURE = 1
, TEMP_ERR_NOT_INITIALIZED = 2
, TEMP_ERR_ALREADY_INITIALIZED = 3
,
TEMP_ERR_INVALID_PARAMETER = 4
, TEMP_ERR_NULL_POINTER = 5
, TEMP_ERR_OUT_OF_MEMORY = 6
, TEMP_ERR_SENSOR_NOT_AVAILABLE = 7
,
TEMP_ERR_SENSOR_BUSY = 8
, TEMP_ERR_SENSOR_DISABLED = 9
, TEMP_ERR_SENSOR_NOT_READY = 10
, TEMP_ERR_READ_FAILED = 11
,
TEMP_ERR_INVALID_READING = 12
, TEMP_ERR_OUT_OF_RANGE = 13
, TEMP_ERR_TIMEOUT = 14
, TEMP_ERR_INVALID_RANGE = 15
,
TEMP_ERR_RANGE_TOO_NARROW = 16
, TEMP_ERR_RANGE_TOO_WIDE = 17
, TEMP_ERR_UNSUPPORTED_RANGE = 18
, TEMP_ERR_CALIBRATION_FAILED = 19
,
TEMP_ERR_NOT_CALIBRATED = 20
, TEMP_ERR_INVALID_CALIBRATION = 21
, TEMP_ERR_COMMUNICATION_FAILED = 22
, TEMP_ERR_CHECKSUM_FAILED = 23
,
TEMP_ERR_POWER_DOWN_FAILED = 24
, TEMP_ERR_POWER_UP_FAILED = 25
, TEMP_ERR_HARDWARE_FAULT = 26
, TEMP_ERR_OVERCURRENT = 27
,
TEMP_ERR_OVERVOLTAGE = 28
, TEMP_ERR_UNDERVOLTAGE = 29
, TEMP_ERR_OVERHEATING = 30
, TEMP_ERR_RESOURCE_BUSY = 31
,
TEMP_ERR_RESOURCE_UNAVAILABLE = 32
, TEMP_ERR_INSUFFICIENT_RESOURCES = 33
, TEMP_ERR_OPERATION_ABORTED = 34
, TEMP_ERR_OPERATION_PENDING = 35
,
TEMP_ERR_INVALID_STATE = 36
, TEMP_ERR_STATE_TRANSITION_FAILED = 37
, TEMP_ERR_DATA_CORRUPTION = 38
, TEMP_ERR_CONVERSION_FAILED = 39
,
TEMP_ERR_FILTERING_FAILED = 40
, TEMP_ERR_THRESHOLD_EXCEEDED = 41
, TEMP_ERR_INVALID_THRESHOLD = 42
, TEMP_ERR_MONITORING_FAILED = 43
,
TEMP_ERR_UNSUPPORTED_OPERATION = 44
, TEMP_ERR_DRIVER_ERROR = 45
, TEMP_ERR_UNKNOWN = 46
, TEMP_ERR_MAX = 47
} |
| | Temperature sensor error codes enumeration. More...
|
| |
| enum | hf_temp_sensor_type_t {
HF_TEMP_SENSOR_TYPE_UNKNOWN = 0
, HF_TEMP_SENSOR_TYPE_INTERNAL
, HF_TEMP_SENSOR_TYPE_EXTERNAL_DIGITAL
, HF_TEMP_SENSOR_TYPE_EXTERNAL_ANALOG
,
HF_TEMP_SENSOR_TYPE_THERMOCOUPLE
, HF_TEMP_SENSOR_TYPE_RTD
, HF_TEMP_SENSOR_TYPE_THERMISTOR
, HF_TEMP_SENSOR_TYPE_INFRARED
,
HF_TEMP_SENSOR_TYPE_MAX
} |
| | Temperature sensor types. More...
|
| |
| enum | hf_temp_state_t {
HF_TEMP_STATE_UNINITIALIZED = 0
, HF_TEMP_STATE_INITIALIZED
, HF_TEMP_STATE_ENABLED
, HF_TEMP_STATE_READING
,
HF_TEMP_STATE_ERROR
, HF_TEMP_STATE_DISABLED
, HF_TEMP_STATE_CALIBRATING
, HF_TEMP_STATE_SLEEPING
,
HF_TEMP_STATE_MAX
} |
| | Temperature sensor states. More...
|
| |
| enum | hf_temp_unit_t {
HF_TEMP_UNIT_CELSIUS = 0
, HF_TEMP_UNIT_FAHRENHEIT
, HF_TEMP_UNIT_KELVIN
, HF_TEMP_UNIT_RANKINE
,
HF_TEMP_UNIT_MAX
} |
| | Temperature measurement units. More...
|
| |
| enum | hf_temp_capabilities_t {
HF_TEMP_CAP_NONE = 0x00
, HF_TEMP_CAP_THRESHOLD_MONITORING = 0x01
, HF_TEMP_CAP_CONTINUOUS_READING = 0x02
, HF_TEMP_CAP_CALIBRATION = 0x04
,
HF_TEMP_CAP_POWER_MANAGEMENT = 0x08
, HF_TEMP_CAP_SELF_TEST = 0x10
, HF_TEMP_CAP_ALARM_OUTPUT = 0x20
, HF_TEMP_CAP_HIGH_PRECISION = 0x40
,
HF_TEMP_CAP_FAST_RESPONSE = 0x80
} |
| | Temperature sensor capabilities flags. More...
|
| |
Abstract base class for temperature sensor implementations in the HardFOC system.
This header-only file defines the abstract base class for temperature sensing that provides a consistent API across different temperature sensor implementations. Concrete implementations for various platforms and sensor types inherit from this class.
- Author
- Nebiyu Tadesse
- Date
- 2025
- Copyright
- HardFOC
- Note
- This is a header-only abstract base class following the same pattern as BaseGpio/BaseAdc.
-
Users should program against this interface, not specific implementations.
-
Temperature readings are provided in Celsius, with conversion utilities available.