test

Fork of MPL3115A2 by Michael Lange

Committer:
pyonta2017
Date:
Tue Sep 05 14:54:16 2017 +0000
Revision:
4:249d5270511d
Parent:
0:beb43bc3d6d4
test

Who changed what in which revision?

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