Nucleo based high altitude balloon computer

Dependencies:   SDFileSystem Venus838 mbed MS5611 TinyGPS

Revision:
5:1facb0e83e62
Parent:
4:96539c6e50c0
Child:
6:f91db4a7acf1
--- a/Atlas.cpp	Tue Jun 24 15:20:54 2014 +0000
+++ b/Atlas.cpp	Wed Jun 25 15:02:14 2014 +0000
@@ -7,6 +7,7 @@
 
 DigitalOut grn(LED_GRN);
 DigitalOut ylw(LED_YLW);
+AnalogIn    batt(PC_2);
 Serial pc(USBTX, USBRX);
 Venus838 venus(GPS_TX, GPS_RX);
 TinyGPS gps;
@@ -24,15 +25,15 @@
     venus.setNmeaMessages(true, false, false, false, true, false);
     
     printf("Attempting to open SD card...\n");
-    mkdir("/sd/mydir", 0777);
+    mkdir("/sd/debug", 0777);
     
     printf("Attempting to open file...\n");
-    FILE *fp = fopen("/sd/mydir/sdtest.txt", "w");
+    FILE *fp = fopen("/sd/debug/debug.txt", "w");
     if(fp == NULL) {
         error("Could not open file for write\n");
         ylw = LED_ON;
     }
-    fprintf(fp, "Hello fun SD Card World!");
+    fprintf(fp, "Hooray, we can write to the SD Card.  Go get a cookie.");
     
     printf("Closing file...\n");
     fclose(fp);
@@ -46,12 +47,15 @@
 int main() {
     unsigned long date, time, ttf;
     double latitude, longitude, altitude;
-    float pressure, temperature;
+    float pressure, temperature, battery;
     unsigned int writeCount = 0;
     
     init();
     FILE *fp = fopen("/sd/atlas.txt", "a");
-    
+    fprintf(fp, "Atlas Logger\r\n");
+    fprintf(fp, "Date   Time    Lon     Lat     Alt     Pressure    Temp    Battery\r\n");
+    fprintf(fp, "------------------------------------------------------------------\r\n");
+    //fclose(fp);
     while(true) {
         if(venus.readable()) {
             char c = venus.getc();
@@ -67,13 +71,15 @@
             altitude = gps.f_altitude();
             pressure = pres.getPressure();
             temperature = pres.getTemperature();
-            pc.printf("%u, %u, %f, %f, %f, %f, %f\n",
+            battery = (batt.read()*3.3f) * 4.0f;
+            wait_ms(1); 
+            pc.printf("%u, %u, %f, %f, %f, %f, %f, %f\n",
                 date, time, longitude, latitude, altitude,
-                pressure, temperature
+                pressure, temperature, battery
             );
-            fprintf(fp, "%u, %u, %f, %f, %f, %f, %f\n",
+            fprintf(fp, "%u, %u, %f, %f, %f, %f, %f %f\n",
                 date, time, longitude, latitude, altitude,
-                pressure, temperature
+                pressure, temperature, battery
             );
             writeCount++;
             if(writeCount > 100) {