87 float resistance_at_25c,
89 float *temperature_celsius)
noexcept;
100 float resistance_at_25c,
102 float *resistance_ohms)
noexcept;
126 float resistance_ohms,
float coeff_a,
float coeff_b,
float coeff_c,
127 float *temperature_celsius)
noexcept;
144 float temperature_celsius,
float coeff_a,
float coeff_b,
float coeff_c,
145 float *resistance_ohms)
noexcept;
159 float *temperature_celsius)
noexcept;
169 float *resistance_ohms)
noexcept;
184 float reference_voltage,
185 float series_resistance,
186 float *resistance_ohms)
noexcept;
197 float series_resistance,
198 float *voltage_thermistor)
noexcept;
208 float series_resistance,
209 float *ratio)
noexcept;
223 float max_resistance)
noexcept;
233 float max_temperature)
noexcept;
243 float max_voltage)
noexcept;
265 float coeff_c)
noexcept;
281 float temp2_celsius,
float resistance2_ohms,
282 float *beta_value)
noexcept;
303 float temp1_celsius,
float resistance1_ohms,
float temp2_celsius,
304 float resistance2_ohms,
float temp3_celsius,
float resistance3_ohms,
305 float *coeff_a,
float *coeff_b,
float *coeff_c)
noexcept;
325 float resistance_at_25c,
float beta_value,
326 float resistance_tolerance,
327 float beta_tolerance,
328 float *accuracy_celsius)
noexcept;
335[[deprecated(
"pass R25 and B: CalculateTemperatureAccuracy(R, r25, beta, "
336 "tol_r, tol_b, &acc)")]]
338 float resistance_tolerance,
339 float beta_tolerance,
340 float *accuracy_celsius)
noexcept;
356 float beta_value,
float min_temperature,
357 float max_temperature,
358 float *optimal_resistance)
noexcept;
364[[deprecated(
"pass B: CalculateOptimalSeriesResistance(r25, beta, t_min, "
367 float min_temperature,
368 float max_temperature,
369 float *optimal_resistance)
noexcept;
399 float resistance_at_25c,
401 float *temperature_celsius)
noexcept;
412 float resistance_at_25c,
414 float *resistance_ohms)
noexcept;
438 float resistance_ohms,
float coeff_a,
float coeff_b,
float coeff_c,
439 float *temperature_celsius)
noexcept;
456 float temperature_celsius,
float coeff_a,
float coeff_b,
float coeff_c,
457 float *resistance_ohms)
noexcept;
471 float *temperature_celsius)
noexcept;
481 float *resistance_ohms)
noexcept;
496 float reference_voltage,
497 float series_resistance,
498 float *resistance_ohms)
noexcept;
509 float series_resistance,
510 float *voltage_thermistor)
noexcept;
520 float series_resistance,
521 float *ratio)
noexcept;
535 float max_resistance)
noexcept;
545 float max_temperature)
noexcept;
555 float max_voltage)
noexcept;
577 float coeff_c)
noexcept;
593 float temp2_celsius,
float resistance2_ohms,
594 float *beta_value)
noexcept;
615 float temp1_celsius,
float resistance1_ohms,
float temp2_celsius,
616 float resistance2_ohms,
float temp3_celsius,
float resistance3_ohms,
617 float *coeff_a,
float *coeff_b,
float *coeff_c)
noexcept;
628 float resistance_tolerance,
629 float beta_tolerance,
630 float *accuracy_celsius)
noexcept;
641 float min_temperature,
642 float max_temperature,
643 float *optimal_resistance)
noexcept;
Definition ntc_conversion.hpp:14
constexpr float CELSIUS_TO_FAHRENHEIT_MULTIPLIER_
Celsius to Fahrenheit multiplier.
Definition ntc_conversion.hpp:54
constexpr float MAX_BETA_VALUE_
Maximum valid beta value (K)
Definition ntc_conversion.hpp:41
constexpr float MAX_TEMPERATURE_CELSIUS_
Maximum valid temperature (°C)
Definition ntc_conversion.hpp:38
constexpr float EPSILON_DOUBLE_
Double precision epsilon.
Definition ntc_conversion.hpp:45
constexpr float MIN_TEMPERATURE_CELSIUS_
Minimum valid temperature (°C)
Definition ntc_conversion.hpp:36
constexpr float MIN_BETA_VALUE_
Minimum valid beta value (K)
Definition ntc_conversion.hpp:40
constexpr float ZERO_FLOAT_
Zero as float.
Definition ntc_conversion.hpp:47
constexpr float EPSILON_FLOAT_
Float comparison epsilon.
Definition ntc_conversion.hpp:44
constexpr float MAX_RESISTANCE_OHMS_
Maximum valid resistance (ohms)
Definition ntc_conversion.hpp:34
constexpr float ABSOLUTE_ZERO_CELSIUS_
Absolute zero in Celsius.
Definition ntc_conversion.hpp:15
constexpr float MIN_RESISTANCE_OHMS_
Minimum valid resistance (ohms)
Definition ntc_conversion.hpp:32
constexpr float FAHRENHEIT_TO_CELSIUS_MULTIPLIER_
Fahrenheit to Celsius multiplier.
Definition ntc_conversion.hpp:57
constexpr float STEINHART_HART_C_
Steinhart-Hart coefficient C (1/K)
Definition ntc_conversion.hpp:28
constexpr uint32_t MILLISECONDS_PER_SECOND_
Milliseconds per second.
Definition ntc_conversion.hpp:50
constexpr float FAHRENHEIT_OFFSET_
Fahrenheit offset.
Definition ntc_conversion.hpp:56
constexpr float REFERENCE_TEMPERATURE_C_
Reference temperature (25°C)
Definition ntc_conversion.hpp:18
constexpr float STEINHART_HART_A_
Steinhart-Hart coefficient A (1/K)
Definition ntc_conversion.hpp:24
constexpr float ONE_FLOAT_
One as float.
Definition ntc_conversion.hpp:46
constexpr float KELVIN_OFFSET_
Celsius to Kelvin conversion offset.
Definition ntc_conversion.hpp:16
constexpr float STEINHART_HART_B_
Steinhart-Hart coefficient B (1/K)
Definition ntc_conversion.hpp:26
Definition ntc_conversion.hpp:14
bool ValidateResistance(float resistance_ohms, float min_resistance, float max_resistance) noexcept
Validate resistance value.
Definition ntc_conversion.cpp:312
bool CalculateOptimalSeriesResistance(float thermistor_resistance_at_25c, float beta_value, float min_temperature, float max_temperature, float *optimal_resistance) noexcept
Calculate optimal series resistance for voltage divider.
Definition ntc_conversion.cpp:515
bool ConvertResistanceToTemperatureBeta(float resistance_ohms, float resistance_at_25c, float beta_value, float *temperature_celsius) noexcept
Convert resistance to temperature using beta parameter.
Definition ntc_conversion.cpp:27
bool CalculateTemperatureAccuracy(float resistance_ohms, float resistance_at_25c, float beta_value, float resistance_tolerance, float beta_tolerance, float *accuracy_celsius) noexcept
Worst-case temperature error from the R25 and B tolerances.
Definition ntc_conversion.cpp:465
bool CalculateBetaValue(float temp1_celsius, float resistance1_ohms, float temp2_celsius, float resistance2_ohms, float *beta_value) noexcept
Calculate beta value from two temperature-resistance pairs.
Definition ntc_conversion.cpp:356
bool CalculateThermistorResistance(float voltage_thermistor, float reference_voltage, float series_resistance, float *resistance_ohms) noexcept
Calculate thermistor resistance from voltage divider.
Definition ntc_conversion.cpp:221
bool CalculateVoltageDividerRatio(float resistance_ohms, float series_resistance, float *ratio) noexcept
Calculate voltage divider ratio.
Definition ntc_conversion.cpp:282
bool ConvertTemperatureToResistanceSteinhartHart(float temperature_celsius, float coeff_a, float coeff_b, float coeff_c, float *resistance_ohms) noexcept
Convert temperature to resistance using Steinhart-Hart equation.
Definition ntc_conversion.cpp:147
bool CalculateThermistorVoltage(float resistance_ohms, float reference_voltage, float series_resistance, float *voltage_thermistor) noexcept
Calculate voltage across thermistor from resistance.
Definition ntc_conversion.cpp:252
bool ValidateTemperature(float temperature_celsius, float min_temperature, float max_temperature) noexcept
Validate temperature value.
Definition ntc_conversion.cpp:318
bool ValidateBetaValue(float beta_value) noexcept
Validate beta value.
Definition ntc_conversion.cpp:329
bool ConvertResistanceToTemperatureDefault(float resistance_ohms, float *temperature_celsius) noexcept
Convert resistance to temperature using default Steinhart-Hart coefficients.
Definition ntc_conversion.cpp:201
bool ConvertResistanceToTemperatureSteinhartHart(float resistance_ohms, float coeff_a, float coeff_b, float coeff_c, float *temperature_celsius) noexcept
Convert resistance to temperature using Steinhart-Hart equation.
Definition ntc_conversion.cpp:113
bool ConvertTemperatureToResistanceDefault(float temperature_celsius, float *resistance_ohms) noexcept
Convert temperature to resistance using default Steinhart-Hart coefficients.
Definition ntc_conversion.cpp:209
bool ValidateVoltage(float voltage_volts, float min_voltage, float max_voltage) noexcept
Validate voltage value.
Definition ntc_conversion.cpp:324
bool ValidateSteinhartHartCoefficients(float coeff_a, float coeff_b, float coeff_c) noexcept
Validate Steinhart-Hart coefficients.
Definition ntc_conversion.cpp:335
bool CalculateSteinhartHartCoefficients(float temp1_celsius, float resistance1_ohms, float temp2_celsius, float resistance2_ohms, float temp3_celsius, float resistance3_ohms, float *coeff_a, float *coeff_b, float *coeff_c) noexcept
Calculate Steinhart-Hart coefficients from three temperature-resistance pairs.
Definition ntc_conversion.cpp:404
bool ConvertTemperatureToResistanceBeta(float temperature_celsius, float resistance_at_25c, float beta_value, float *resistance_ohms) noexcept
Convert temperature to resistance using beta parameter.
Definition ntc_conversion.cpp:70