tracker with usb
Dependencies: C12832_lcd CMPS03 FatFileSystemCpp GPS_copy mbed
Fork of MSCUsbHost by
main.cpp@4:6c258ed4635e, 2018-03-10 (annotated)
- 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?
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 | 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 | } |