From 350147a3d79faba9dc6a993f04f0ab1325bab380 Mon Sep 17 00:00:00 2001 From: Richard Meadows Date: Fri, 9 Oct 2015 18:08:19 +0100 Subject: [PATCH] Add BMP180 to data.c, format output correctly --- firmware/inc/data.h | 2 +- firmware/src/data.c | 8 ++++++++ firmware/src/main.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/firmware/inc/data.h b/firmware/inc/data.h index d69e7af..e640a16 100644 --- a/firmware/inc/data.h +++ b/firmware/inc/data.h @@ -46,7 +46,7 @@ typedef struct tracker_datapoint { /* Sensors */ float battery; /* Volts */ float solar; /* Volts */ - float main_pressure; /* Pa */ + int32_t main_pressure; /* Pa */ float thermistor_temperature; /* ºC */ float bmp180_temperature; /* ºC */ float radio_die_temperature; /* ºC */ diff --git a/firmware/src/data.c b/firmware/src/data.c index 4bba777..12b5b6f 100644 --- a/firmware/src/data.c +++ b/firmware/src/data.c @@ -29,6 +29,7 @@ #include "xosc.h" #include "hw_config.h" #include "analogue.h" +#include "bmp180.h" #include "gps.h" #include "ubx_messages.h" #include "telemetry.h" @@ -68,6 +69,13 @@ struct tracker_datapoint* collect_data(void) datapoint.solar = get_solar(); /* Will return zero by default */ datapoint.radio_die_temperature = telemetry_si_temperature(); + /** + * ---- Barometer ---- + */ + struct barometer* b = get_barometer(); + datapoint.main_pressure = b->pressure; + datapoint.bmp180_temperature = (float)b->temperature; + /** * ---- GPS ---- */ diff --git a/firmware/src/main.c b/firmware/src/main.c index e7bf3d2..0e9e9d4 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -68,7 +68,7 @@ uint16_t format_telemetry_string(char* string, struct tracker_datapoint* dp, /* sprintf - full string (approx 90 chars) */ len += sprintf(telemetry_string + len, - "%s,%02u:%02u:%02u,%02u%02u%02u,%02.5f,%03.5f,%ld,%u,%.2f,%.0f,%.1f,%.1f,%.1f,%ld", + "%s,%02u:%02u:%02u,%02u%02u%02u,%02.5f,%03.5f,%ld,%u,%.2f,%d,%.1f,%.1f,%.1f,%ld", CALLSIGN, /* 2+6+2+1=11 */ dp->time.hour, dp->time.minute, dp->time.second, /* 2+1+2+1+2+1=9 */ dp->time.year%100, dp->time.month, dp->time.day, /* 2+2+2+1=7 */