tracker
Dependencies: C12832_lcd CMPS03 FatFileSystemCpp GPS_copy mbed
Fork of Tracker_2 by
main.cpp@5:c58216bb4e32, 2018-03-12 (annotated)
- 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?
User | Revision | Line number | New 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 | } |