test

Dependents:   FM_integration_copy

Fork of MPL3115A2 by Michael Lange

Committer:
pyonta2017
Date:
Wed Sep 06 15:12:42 2017 +0000
Revision:
4:a9ee44b59212
Parent:
0:beb43bc3d6d4
?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sophtware 0:beb43bc3d6d4 1 #include "Temperature.h"
sophtware 0:beb43bc3d6d4 2 #include "mbed.h"
sophtware 0:beb43bc3d6d4 3
sophtware 0:beb43bc3d6d4 4 Temperature::Temperature()
sophtware 0:beb43bc3d6d4 5 {
sophtware 0:beb43bc3d6d4 6 _temperature = 0.0;
sophtware 0:beb43bc3d6d4 7
sophtware 0:beb43bc3d6d4 8 _compressed[0] = 0;
sophtware 0:beb43bc3d6d4 9 _compressed[1] = 0;
sophtware 0:beb43bc3d6d4 10 }
sophtware 0:beb43bc3d6d4 11
sophtware 0:beb43bc3d6d4 12 Temperature::Temperature(float t, unitsType units)
sophtware 0:beb43bc3d6d4 13 {
sophtware 0:beb43bc3d6d4 14 setTemperature(t, units);
sophtware 0:beb43bc3d6d4 15 }
sophtware 0:beb43bc3d6d4 16
sophtware 0:beb43bc3d6d4 17 Temperature::Temperature(const char* compressed)
sophtware 0:beb43bc3d6d4 18 {
sophtware 0:beb43bc3d6d4 19 setTemperature(compressed);
sophtware 0:beb43bc3d6d4 20 }
sophtware 0:beb43bc3d6d4 21
sophtware 0:beb43bc3d6d4 22 Temperature::Temperature(const char msb, const char lsb)
sophtware 0:beb43bc3d6d4 23 {
sophtware 0:beb43bc3d6d4 24 setTemperature(msb, lsb);
sophtware 0:beb43bc3d6d4 25 }
sophtware 0:beb43bc3d6d4 26
sophtware 0:beb43bc3d6d4 27 void Temperature::setTemperature()
sophtware 0:beb43bc3d6d4 28 {
sophtware 0:beb43bc3d6d4 29 setTemperature(_compressed[0], _compressed[1]);
sophtware 0:beb43bc3d6d4 30 }
sophtware 0:beb43bc3d6d4 31
sophtware 0:beb43bc3d6d4 32 void Temperature::setTemperature(float t, unitsType units)
sophtware 0:beb43bc3d6d4 33 {
sophtware 0:beb43bc3d6d4 34 // TODO:
sophtware 0:beb43bc3d6d4 35 }
sophtware 0:beb43bc3d6d4 36
sophtware 0:beb43bc3d6d4 37 void Temperature::setTemperature(const char* compressed)
sophtware 0:beb43bc3d6d4 38 {
sophtware 0:beb43bc3d6d4 39 setTemperature(compressed[0], compressed[1]);
sophtware 0:beb43bc3d6d4 40 }
sophtware 0:beb43bc3d6d4 41
sophtware 0:beb43bc3d6d4 42 void Temperature::setTemperature(const char msb, const char lsb)
sophtware 0:beb43bc3d6d4 43 {
sophtware 0:beb43bc3d6d4 44 float templsb = (lsb>>4) / 16.0; //temp, fraction of a degree
sophtware 0:beb43bc3d6d4 45 _temperature = (float)(msb + templsb);
sophtware 0:beb43bc3d6d4 46 }
sophtware 0:beb43bc3d6d4 47
sophtware 0:beb43bc3d6d4 48 float Temperature::temperature(unitsType units)
sophtware 0:beb43bc3d6d4 49 {
sophtware 0:beb43bc3d6d4 50 switch (units)
sophtware 0:beb43bc3d6d4 51 {
sophtware 0:beb43bc3d6d4 52 case FAHRENHEIT:
sophtware 0:beb43bc3d6d4 53 return (_temperature * 9.0)/ 5.0 + 32.0;
sophtware 0:beb43bc3d6d4 54
sophtware 0:beb43bc3d6d4 55 case KELVIN:
sophtware 0:beb43bc3d6d4 56 return _temperature + 273.15;
sophtware 0:beb43bc3d6d4 57 }
sophtware 0:beb43bc3d6d4 58
sophtware 0:beb43bc3d6d4 59 return _temperature;
sophtware 0:beb43bc3d6d4 60 }
sophtware 0:beb43bc3d6d4 61
sophtware 0:beb43bc3d6d4 62 const char* Temperature::print(unitsType units)
sophtware 0:beb43bc3d6d4 63 {
sophtware 0:beb43bc3d6d4 64 sprintf(_printBuffer, "%.1f", temperature(units));
sophtware 0:beb43bc3d6d4 65 return _printBuffer;
sophtware 0:beb43bc3d6d4 66 }