Example using the MTK3339 (GPS) library.
This example has been tested using the Embedded Artists GPS Receiver Board, EA-ACC-023
Revision 0:828a0c36c3e2, committed 2013-11-07
- Comitter:
- embeddedartists
- Date:
- Thu Nov 07 11:53:56 2013 +0000
- Commit message:
- First commit
Changed in this revision
diff -r 000000000000 -r 828a0c36c3e2 MTK3339.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MTK3339.lib Thu Nov 07 11:53:56 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/embeddedartists/code/MTK3339/#bd0fe2412980
diff -r 000000000000 -r 828a0c36c3e2 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Nov 07 11:53:56 2013 +0000 @@ -0,0 +1,36 @@ +#include "mbed.h" +#include "MTK3339.h" + +static int waitData = 0; +static MTK3339 gps(P4_22, P4_23); + + +static void dataAvailable() { + waitData |= gps.getAvailableDataType(); +} + +int main(void) { + + gps.start(&dataAvailable, (MTK3339::NmeaGga|MTK3339::NmeaVtg)); + + while(1) { + while(waitData == 0); + + if ((waitData & MTK3339::NmeaGga) != 0) { + waitData &= ~(MTK3339::NmeaGga); + printf("gpa: fix=%d, sats=%d, alt=%f, lat=%f, lon=%f\n", + gps.gga.fix, gps.gga.satellites, gps.gga.altitude, + gps.getLatitudeAsDegrees(), gps.getLongitudeAsDegrees()); + } + if ((waitData & MTK3339::NmeaVtg) != 0) { + waitData &= ~(MTK3339::NmeaVtg); + printf("vtg: course=%f, speed=%f km/h, mode=%c\n", + gps.vtg.course, gps.vtg.speedKmHour, gps.vtg.mode); + } + + waitData &= (MTK3339::NmeaGga|MTK3339::NmeaVtg); + } + + + +} \ No newline at end of file
diff -r 000000000000 -r 828a0c36c3e2 mbed.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.lib Thu Nov 07 11:53:56 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/#f37f3b9c9f0b