tracker with usb

Dependencies:   C12832_lcd CMPS03 FatFileSystemCpp GPS_copy mbed

Fork of MSCUsbHost by Igor Skochinsky

Committer:
Noah_Newsom
Date:
Sat Mar 10 12:17:10 2018 +0000
Revision:
4:6c258ed4635e
Parent:
0:e294af8d0e07
tracker with usb

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 4:6c258ed4635e 26 while(1) {
Noah_Newsom 4:6c258ed4635e 27 if(gps.parseData()) {
Noah_Newsom 4:6c258ed4635e 28 FILE *fp = fopen( "/" FSNAME "/Tracker_data.txt", "w");
Noah_Newsom 4:6c258ed4635e 29 lcd.cls();
Noah_Newsom 4:6c258ed4635e 30 lcd.locate(1,0);
Noah_Newsom 4:6c258ed4635e 31 lcd.printf("%f, %f, %d\n", gps.latitude, gps.longitude, gps.hours);
Noah_Newsom 4:6c258ed4635e 32 lcd.locate(1,11);
Noah_Newsom 4:6c258ed4635e 33 lcd.printf("%02d:%02d:%02.0f Bearing is: %f\n",
Noah_Newsom 4:6c258ed4635e 34 gps.hours, gps.minutes, gps.seconds,
Noah_Newsom 4:6c258ed4635e 35 (compass.readBearing() / 10.0));
Noah_Newsom 4:6c258ed4635e 36 lcd.locate(1,22);
Noah_Newsom 4:6c258ed4635e 37 lcd.printf("Satellites: %02d\n", gps.satellites);
Noah_Newsom 4:6c258ed4635e 38 lcd.invert(0);
Noah_Newsom 4:6c258ed4635e 39 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 40 fclose(fp);
Noah_Newsom 4:6c258ed4635e 41 } else {
Noah_Newsom 4:6c258ed4635e 42 lcd.cls();//clear LCD for next reading round
Noah_Newsom 4:6c258ed4635e 43 lcd.locate(1,0);
Noah_Newsom 4:6c258ed4635e 44 lcd.printf("No satellite lock\n");
Noah_Newsom 4:6c258ed4635e 45 lcd.locate(1,11);
Noah_Newsom 4:6c258ed4635e 46 lcd.printf("%02d:%02d:%02.0f %02d/%02d/%02d\n",
Noah_Newsom 4:6c258ed4635e 47 gps.hours, gps.minutes, gps.seconds,
Noah_Newsom 4:6c258ed4635e 48 gps.day, gps.month, gps.year);
Noah_Newsom 4:6c258ed4635e 49 lcd.locate(1,22);
Noah_Newsom 4:6c258ed4635e 50 lcd.printf("Satellites: %02d\n",gps.satellites);
Noah_Newsom 4:6c258ed4635e 51 lcd.invert(0);
igorsk 0:e294af8d0e07 52 }
igorsk 0:e294af8d0e07 53 }
Noah_Newsom 4:6c258ed4635e 54 }