Nucleo based high altitude balloon computer
Dependencies: SDFileSystem Venus838 mbed MS5611 TinyGPS
Diff: Atlas.cpp
- 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) {