EmbeddedArtists AB
/
lpc812_exp_solution_exp-port-gps-lib
Solutions for the GPS with MTK3339 lib experiments for LPC812 MAX
main.cpp@0:bae4bbbfa70b, 2013-11-24 (annotated)
- Committer:
- embeddedartists
- Date:
- Sun Nov 24 12:46:19 2013 +0000
- Revision:
- 0:bae4bbbfa70b
First version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
embeddedartists | 0:bae4bbbfa70b | 1 | #include "mbed.h" |
embeddedartists | 0:bae4bbbfa70b | 2 | #include "MTK3339.h" |
embeddedartists | 0:bae4bbbfa70b | 3 | |
embeddedartists | 0:bae4bbbfa70b | 4 | static int waitData = 0; |
embeddedartists | 0:bae4bbbfa70b | 5 | static MTK3339 gps(P0_4, P0_0); |
embeddedartists | 0:bae4bbbfa70b | 6 | |
embeddedartists | 0:bae4bbbfa70b | 7 | |
embeddedartists | 0:bae4bbbfa70b | 8 | static void dataAvailable() { |
embeddedartists | 0:bae4bbbfa70b | 9 | waitData |= gps.getAvailableDataType(); |
embeddedartists | 0:bae4bbbfa70b | 10 | } |
embeddedartists | 0:bae4bbbfa70b | 11 | |
embeddedartists | 0:bae4bbbfa70b | 12 | int main(void) { |
embeddedartists | 0:bae4bbbfa70b | 13 | |
embeddedartists | 0:bae4bbbfa70b | 14 | gps.start(&dataAvailable, (MTK3339::NmeaGga|MTK3339::NmeaVtg)); |
embeddedartists | 0:bae4bbbfa70b | 15 | |
embeddedartists | 0:bae4bbbfa70b | 16 | while(1) { |
embeddedartists | 0:bae4bbbfa70b | 17 | while(waitData == 0); |
embeddedartists | 0:bae4bbbfa70b | 18 | |
embeddedartists | 0:bae4bbbfa70b | 19 | if ((waitData & MTK3339::NmeaGga) != 0) { |
embeddedartists | 0:bae4bbbfa70b | 20 | waitData &= ~(MTK3339::NmeaGga); |
embeddedartists | 0:bae4bbbfa70b | 21 | printf("gpa: fix=%d, sats=%d, alt=%f, lat=%f, lon=%f\n", |
embeddedartists | 0:bae4bbbfa70b | 22 | gps.gga.fix, gps.gga.satellites, gps.gga.altitude, |
embeddedartists | 0:bae4bbbfa70b | 23 | gps.getLatitudeAsDegrees(), gps.getLongitudeAsDegrees()); |
embeddedartists | 0:bae4bbbfa70b | 24 | } |
embeddedartists | 0:bae4bbbfa70b | 25 | if ((waitData & MTK3339::NmeaVtg) != 0) { |
embeddedartists | 0:bae4bbbfa70b | 26 | waitData &= ~(MTK3339::NmeaVtg); |
embeddedartists | 0:bae4bbbfa70b | 27 | printf("vtg: course=%f, speed=%f km/h, mode=%c\n", |
embeddedartists | 0:bae4bbbfa70b | 28 | gps.vtg.course, gps.vtg.speedKmHour, gps.vtg.mode); |
embeddedartists | 0:bae4bbbfa70b | 29 | } |
embeddedartists | 0:bae4bbbfa70b | 30 | |
embeddedartists | 0:bae4bbbfa70b | 31 | waitData &= (MTK3339::NmeaGga|MTK3339::NmeaVtg); |
embeddedartists | 0:bae4bbbfa70b | 32 | } |
embeddedartists | 0:bae4bbbfa70b | 33 | } |