Generation 3 of the Harp project

Dependencies:   Servo TMP36 GZ buffered-serial1 chan_fatfs_sd nmea_parser watchdog mbed-rtos mbed

Fork of HARP2 by Tyler Weaver

Revision:
12:0d943d69d3ec
Parent:
11:890a721158a5
Child:
13:db6af0620264
--- a/main.cpp	Tue Dec 11 06:46:11 2012 +0000
+++ b/main.cpp	Tue Dec 11 23:57:13 2012 +0000
@@ -1,9 +1,7 @@
 #include "mbed.h"
 #include "rtos.h"
 #include "buffered_serial.h"
-#include "SDFileSystem.h"
- 
-SDFileSystem sd(p5, p6, p7, p8, "sd"); 
+#include "ff.h"
 
 #define CELLS       3.0
 #define LIPO_EMPTY  3.4
@@ -18,25 +16,27 @@
 BufferedSerial gps(NC, p14);
 AnalogIn gps_battery(p20);
 
+#define FSS_DBG
+
 void gps_thread(void const *args)
 {
     char buffer[80];
+    FATFS fs;
+    FIL fp;
 
     DigitalOut gps_led(LED4);
 
     gps.baud(4800);
-    mkdir("/sd/hab", 0777);
-    FILE *fp = fopen("/sd/hab/gps.txt", "a");
-    fputs("--- new log --- \r\n", fp);
-    fclose(fp);
+    
+    f_mount(0, &fs);
+    f_open(&fp, "0:gps.txt", FA_CREATE_ALWAYS | FA_WRITE);
 
     while(true) {
-        fp = fopen("/sd/hab/gps.txt", "a");
         gps.read_line(buffer);
         gps_led = !gps_led;
-        //pc.puts(buffer);
-        fputs(buffer, fp);
-        fclose(fp);
+        pc.puts(buffer);
+        f_puts(buffer, &fp);
+        f_sync(&fp);
     }
 }
 
@@ -47,11 +47,11 @@
     
     while(true) {
         float sample = gps_battery.read();
-        pc.printf("Sample: %f Volts\r\n", sample*3.3);
+        //pc.printf("Sample: %f Volts\r\n", sample*3.3);
         float voltage = sample*BAT_MUL*3.3;
-        pc.printf("Battery Voltage: %f Volts\r\n", voltage);
+        //pc.printf("Battery Voltage: %f Volts\r\n", voltage);
         float level = (voltage-BAT_EMPTY) / (BAT_RANGE);
-        pc.printf("Battery Level: %f \r\n", level);
+        //pc.printf("Battery Level: %f \r\n", level);
         Thread::wait(1000);
     }
 }
\ No newline at end of file