Sha256: 8ffc3c06a3449fd560275736c5cc3202137f00d0513e651304c836fd78128a56

Contents?: true

Size: 765 Bytes

Versions: 27

Compression:

Stored size: 765 Bytes

Contents

#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

27 entries across 14 versions & 1 rubygems

Version Path
ceedling-0.31.1 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.31.1 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.31.0 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.31.0 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.30.0 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.30.0 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.28.3 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.28.3 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.28.2 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.28.2 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.28.1 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.28.1 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.27.0 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.27.0 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.25.0 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.25.0 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.24.0 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.24.0 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.22.0 examples/temp_sensor/src/TemperatureCalculator.c
ceedling-0.22.0 vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c