NTC Thermistor Driver
API reference
Loading...
Searching...
No Matches
ntc_types.hpp
Go to the documentation of this file.
1
6#pragma once
7#include <cstdint>
8
9//--------------------------------------
10// NTC Error Codes
11//--------------------------------------
12
24enum class NtcError : uint8_t {
25 Success = 0,
26 Failure = 1,
27 NotInitialized = 2,
30 NullPointer = 5,
31 OutOfMemory = 6,
32 AdcReadFailed = 7,
35 LookupTableError = 10,
36 ConversionFailed = 11,
39 Timeout = 14,
40 HardwareFault = 15,
41 Max = 16
42};
43
44//--------------------------------------
45// NTC Types
46//--------------------------------------
47
58enum class NtcType : uint8_t {
59 Unknown = 0,
63 Custom = 4,
64 Max = 5
65};
66
82enum class NtcConversionMethod : uint8_t {
83 LookupTable = 0,
84 Mathematical = 1,
85 Auto = 2
86};
87
88//--------------------------------------
89// NTC Configuration
90//--------------------------------------
91
124
148
149//--------------------------------------
150// Default Configurations
151//--------------------------------------
152
158 10000.0F;
159constexpr float DEFAULT_BETA_VALUE_ = 3435.0F;
161 3.3F;
163 10000.0F;
165 0.0F;
166constexpr uint8_t DEFAULT_ADC_CHANNEL_ = 0;
168 12U;
169constexpr uint32_t DEFAULT_SAMPLE_COUNT_ = 1U;
170constexpr uint32_t DEFAULT_SAMPLE_DELAY_MS_ = 0U;
172 -40.0F;
174 125.0F;
175constexpr bool DEFAULT_ENABLE_FILTERING_ = false;
176constexpr float DEFAULT_FILTER_ALPHA_ = 0.1F;
177} // namespace NTC::DefaultConfig
178
194[[nodiscard]] constexpr ntc_config_t
213
224[[nodiscard]] constexpr ntc_config_t GetDefaultNtcConfig() noexcept {
226}
Default NTC configuration constants.
Definition ntc_types.hpp:156
constexpr float DEFAULT_MIN_TEMPERATURE_
Default minimum temperature (°C)
Definition ntc_types.hpp:171
constexpr bool DEFAULT_ENABLE_FILTERING_
Default filtering enabled.
Definition ntc_types.hpp:175
constexpr float DEFAULT_BETA_VALUE_
Default beta value (3435K)
Definition ntc_types.hpp:159
constexpr uint32_t DEFAULT_SAMPLE_COUNT_
Default sample count.
Definition ntc_types.hpp:169
constexpr float DEFAULT_FILTER_ALPHA_
Default filter alpha value.
Definition ntc_types.hpp:176
constexpr float DEFAULT_CALIBRATION_OFFSET_
Default calibration offset.
Definition ntc_types.hpp:164
constexpr float DEFAULT_REFERENCE_VOLTAGE_
Default reference voltage (3.3V)
Definition ntc_types.hpp:160
constexpr uint32_t DEFAULT_ADC_RESOLUTION_BITS_
Default ADC resolution (12-bit)
Definition ntc_types.hpp:167
constexpr uint8_t DEFAULT_ADC_CHANNEL_
Default ADC channel.
Definition ntc_types.hpp:166
constexpr float DEFAULT_RESISTANCE_AT_25C_
Default resistance at 25°C (10kΩ)
Definition ntc_types.hpp:157
constexpr float DEFAULT_MAX_TEMPERATURE_
Default maximum temperature (°C)
Definition ntc_types.hpp:173
constexpr uint32_t DEFAULT_SAMPLE_DELAY_MS_
Default sample delay (ms)
Definition ntc_types.hpp:170
constexpr float DEFAULT_SERIES_RESISTANCE_
Default series resistance (10kΩ)
Definition ntc_types.hpp:162
NtcError
NTC thermistor error codes.
Definition ntc_types.hpp:24
@ TemperatureOutOfRange
Temperature out of range.
@ NullPointer
Null pointer.
@ LookupTableError
Lookup table error.
@ Success
Operation successful.
@ HardwareFault
Hardware fault.
@ AdcReadFailed
ADC read failed.
@ InvalidParameter
Invalid parameter.
@ InvalidResistance
Invalid resistance value.
@ Max
Maximum error code.
@ NotInitialized
Not initialized.
@ AlreadyInitialized
Already initialized.
@ OutOfMemory
Out of memory.
@ CalibrationFailed
Calibration failed.
@ Timeout
Operation timeout.
@ Failure
General failure.
@ UnsupportedOperation
Operation not supported.
@ ConversionFailed
Temperature conversion failed.
constexpr ntc_config_t GetDefaultNtcConfig() noexcept
Default NTC configuration.
Definition ntc_types.hpp:224
NtcConversionMethod
Temperature conversion methods.
Definition ntc_types.hpp:82
@ Auto
Auto-select based on accuracy requirements.
@ Mathematical
Use mathematical conversion (slower, more accurate)
@ LookupTable
Use lookup table (faster, less accurate)
constexpr ntc_config_t GetDefaultNtcG163Jft103Ft1SConfig() noexcept
Default NTC configuration for NTCG163JFT103FT1S.
Definition ntc_types.hpp:195
NtcType
NTC thermistor types.
Definition ntc_types.hpp:58
@ NtcG163Jft103Ft1S
NTCG163JFT103FT1S (10kΩ @ 25°C, β=3435K)
@ NtcG164Jf103Ft1S
NTCG164JF103FT1S (10kΩ @ 25°C, β=3435K)
@ NtcG163Jf103Ft1S
NTCG163JF103FT1S (10kΩ @ 25°C, β=3435K)
@ Unknown
Unknown type.
@ Custom
Custom NTC type.
NTC thermistor configuration structure.
Definition ntc_types.hpp:107
float filter_alpha
Filter alpha value (0.0-1.0)
Definition ntc_types.hpp:122
float reference_voltage
Reference voltage (V)
Definition ntc_types.hpp:111
float min_temperature
Minimum temperature (°C)
Definition ntc_types.hpp:119
uint32_t sample_count
Number of samples to average.
Definition ntc_types.hpp:117
NtcConversionMethod conversion_method
Conversion method.
Definition ntc_types.hpp:114
uint32_t sample_delay_ms
Delay between samples (ms)
Definition ntc_types.hpp:118
float beta_value
Beta value (K)
Definition ntc_types.hpp:110
NtcType type
NTC type.
Definition ntc_types.hpp:108
float resistance_at_25c
Resistance at 25°C (ohms)
Definition ntc_types.hpp:109
bool enable_filtering
Enable temperature filtering.
Definition ntc_types.hpp:121
float series_resistance
Series resistance in voltage divider (ohms)
Definition ntc_types.hpp:112
float calibration_offset
Calibration offset (°C)
Definition ntc_types.hpp:113
uint32_t adc_resolution_bits
ADC resolution in bits.
Definition ntc_types.hpp:116
float max_temperature
Maximum temperature (°C)
Definition ntc_types.hpp:120
uint8_t adc_channel
ADC channel number.
Definition ntc_types.hpp:115
NTC thermistor reading structure.
Definition ntc_types.hpp:136
uint32_t adc_raw_value
Raw ADC value.
Definition ntc_types.hpp:142
bool is_valid
Whether reading is valid.
Definition ntc_types.hpp:145
float accuracy_celsius
Estimated accuracy (°C)
Definition ntc_types.hpp:146
float temperature_kelvin
Temperature in Kelvin.
Definition ntc_types.hpp:139
float temperature_fahrenheit
Temperature in Fahrenheit.
Definition ntc_types.hpp:138
float temperature_celsius
Temperature in Celsius.
Definition ntc_types.hpp:137
float voltage_volts
Voltage across thermistor (V)
Definition ntc_types.hpp:141
uint64_t timestamp_us
Timestamp (microseconds)
Definition ntc_types.hpp:143
float resistance_ohms
Thermistor resistance (ohms)
Definition ntc_types.hpp:140
NtcError error
Error code.
Definition ntc_types.hpp:144