# HG changeset patch # User mkroening@CL-ENS241-07.cedarville.edu # Date 2013-02-14 15:14:30 # Node ID 82502877a2188a345a9625167946192b8eac681f # Parent f510f51941a0f65001e56ccc06d35b706e0633f3 Altitude added diff --git a/slave/slave/lib/sensors.c b/slave/slave/lib/sensors.c --- a/slave/slave/lib/sensors.c +++ b/slave/slave/lib/sensors.c @@ -7,6 +7,7 @@ #include +#include #include #include #include "../config.h" @@ -46,6 +47,7 @@ int32_t b6; uint32_t b7; int32_t trueTemp; int32_t pressure; +uint32_t altitude; @@ -179,6 +181,9 @@ void sensors_readPressure() x1 = (x1 * 3038) >> 16; x2 = (-7357 * pressure) >> 16; pressure += (x1 + x2 + 3791) >> 4; //This is the final value for our pressure + + altitude = 44330 * (1 - pow((pressure / 101325), (1 / 5.255))); + //altitude = (float)44330 * (1 - pow(((float) pressure/101325), 0.190295)); } void sensors_readHumid() @@ -239,4 +244,9 @@ uint8_t sensors_getLight(void) // Gets int8_t sensors_getBatt(void) // Gets battery voltage from variable { return batt; +} + +uint32_t sensors_getAltitude(void) +{ + return altitude; } \ No newline at end of file diff --git a/slave/slave/lib/sensors.h b/slave/slave/lib/sensors.h --- a/slave/slave/lib/sensors.h +++ b/slave/slave/lib/sensors.h @@ -24,5 +24,6 @@ int32_t sensors_getPressure(void); // Ge uint16_t sensors_getHumid(void); // Gets humidity from variable uint8_t sensors_getLight(void); // Gets lux from variable int8_t sensors_getBatt(void); // Gets battery voltage from variable +uint32_t sensors_getAltitude(void); // Gets altitude from variable #endif /* SENSORS_H_ */ \ No newline at end of file