Sha256: a4e5d26394be364a65928e57e489b82fe36b36e49ace47e6d56dfd36256abea5
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
/* ========================================================================= CMock - Automatic Mock Generation for C ThrowTheSwitch.org Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams SPDX-License-Identifier: MIT ========================================================================= */ #include "Types.h" #include "TemperatureCalculator.h" #include <math.h> #ifndef logl #define logl log #endif float TemperatureCalculator_Calculate(uint16 millivolts) { const double supply_voltage = 3.0; const double series_resistance = 5000; const double coefficient_A = 316589.698; const double coefficient_B = -0.1382009; double sensor_voltage = ((double)millivolts / 1000); double resistance; if (millivolts == 0) { return -INFINITY; } // Series resistor is 5k Ohms; Reference voltage is 3.0V // R(t) = A * e^(B*t); R is resistance of thermisor; t is temperature in C resistance = ((supply_voltage * series_resistance) / sensor_voltage) - series_resistance; return (float)(logl(resistance / coefficient_A) / coefficient_B); }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-1.0.1 | vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c |
ceedling-1.0.0 | vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c |