tracker

Dependencies:   C12832_lcd CMPS03 FatFileSystemCpp GPS_copy mbed

Fork of Tracker_2 by Noah Newsom

Committer:
Noah_Newsom
Date:
Mon Mar 12 18:15:16 2018 +0000
Revision:
5:c58216bb4e32
Parent:
4:6c258ed4635e
Tracker new with __

Who changed what in which revision?

UserRevisionLine numberNew contents of line
igorsk 0:e294af8d0e07 1 #include "mbed.h"
Noah_Newsom 4:6c258ed4635e 2 #include "CMPS03.h"
Noah_Newsom 4:6c258ed4635e 3 #include "GPS.h"
Noah_Newsom 4:6c258ed4635e 4 #include "C12832_lcd.h"
igorsk 0:e294af8d0e07 5 #include "MSCFileSystem.h"
igorsk 0:e294af8d0e07 6 #define FSNAME "msc"
Noah_Newsom 4:6c258ed4635e 7 C12832_LCD lcd;// Local name for the LCD
igorsk 0:e294af8d0e07 8 MSCFileSystem msc(FSNAME);
Noah_Newsom 4:6c258ed4635e 9 Serial pc(USBTX, USBRX);
Noah_Newsom 4:6c258ed4635e 10 GPS gps(p9, p10);
Noah_Newsom 4:6c258ed4635e 11 CMPS03 compass(p28, p27, CMPS03_DEFAULT_I2C_ADDRESS);
igorsk 0:e294af8d0e07 12
Noah_Newsom 4:6c258ed4635e 13 int lock = 0;
Noah_Newsom 4:6c258ed4635e 14 int main() {
Noah_Newsom 4:6c258ed4635e 15 DIR *d;
Noah_Newsom 4:6c258ed4635e 16 struct dirent *p;
Noah_Newsom 4:6c258ed4635e 17 d = opendir("/" FSNAME);
igorsk 0:e294af8d0e07 18
Noah_Newsom 4:6c258ed4635e 19 lcd.cls();
Noah_Newsom 4:6c258ed4635e 20 lcd.locate(1,0);
Noah_Newsom 4:6c258ed4635e 21 lcd.printf("GPS Tester");
Noah_Newsom 4:6c258ed4635e 22 lcd.locate(1,11);
Noah_Newsom 4:6c258ed4635e 23 lcd.printf("Connect GPS to pins 9 & 10");
Noah_Newsom 4:6c258ed4635e 24 gps.Init();
Noah_Newsom 4:6c258ed4635e 25 gps.parseData();
Noah_Newsom 5:c58216bb4e32 26 FILE *fp = fopen( "/" FSNAME "/Tracker_data.txt", "a");
Noah_Newsom 5:c58216bb4e32 27 fprintf(fp,"---A New reset---");
Noah_Newsom 5:c58216bb4e32 28 fclose(fp);
Noah_Newsom 4:6c258ed4635e 29 while(1) {
Noah_Newsom 4:6c258ed4635e 30 if(gps.parseData()) {
Noah_Newsom 5:c58216bb4e32 31 FILE *fp = fopen( "/" FSNAME "/Tracker_data.txt", "a");
Noah_Newsom 4:6c258ed4635e 32 lcd.cls();
Noah_Newsom 4:6c258ed4635e 33 lcd.locate(1,0);
Noah_Newsom 4:6c258ed4635e 34 lcd.printf("%f, %f, %d\n", gps.latitude, gps.longitude, gps.hours);
Noah_Newsom 4:6c258ed4635e 35 lcd.locate(1,11);
Noah_Newsom 4:6c258ed4635e 36 lcd.printf("%02d:%02d:%02.0f Bearing is: %f\n",
Noah_Newsom 4:6c258ed4635e 37 gps.hours, gps.minutes, gps.seconds,
Noah_Newsom 4:6c258ed4635e 38 (compass.readBearing() / 10.0));
Noah_Newsom 4:6c258ed4635e 39 lcd.locate(1,22);
Noah_Newsom 4:6c258ed4635e 40 lcd.printf("Satellites: %02d\n", gps.satellites);
Noah_Newsom 4:6c258ed4635e 41 lcd.invert(0);
Noah_Newsom 5:c58216bb4e32 42 fprintf(fp, "%f %f %f %02d:%02d:%02.0f__\n", gps.latitude, gps.longitude,(compass.readBearing() / 10.0),gps.hours, gps.minutes, gps.seconds);
Noah_Newsom 4:6c258ed4635e 43 fclose(fp);
Noah_Newsom 4:6c258ed4635e 44 } else {
Noah_Newsom 4:6c258ed4635e 45 lcd.cls();//clear LCD for next reading round
Noah_Newsom 4:6c258ed4635e 46 lcd.locate(1,0);
Noah_Newsom 4:6c258ed4635e 47 lcd.printf("No satellite lock\n");
Noah_Newsom 4:6c258ed4635e 48 lcd.locate(1,11);
Noah_Newsom 4:6c258ed4635e 49 lcd.printf("%02d:%02d:%02.0f %02d/%02d/%02d\n",
Noah_Newsom 4:6c258ed4635e 50 gps.hours, gps.minutes, gps.seconds,
Noah_Newsom 4:6c258ed4635e 51 gps.day, gps.month, gps.year);
Noah_Newsom 4:6c258ed4635e 52 lcd.locate(1,22);
Noah_Newsom 4:6c258ed4635e 53 lcd.printf("Satellites: %02d\n",gps.satellites);
Noah_Newsom 4:6c258ed4635e 54 lcd.invert(0);
igorsk 0:e294af8d0e07 55 }
igorsk 0:e294af8d0e07 56 }
Noah_Newsom 4:6c258ed4635e 57 }