A porting of a GPS decoding and presenting program within the mbos RTOS. It is not a definitive application but a study program to test NMEA full decoding library and a first approach to an RTOS. Many thanks to Andrew Levido for his support and his patience on teaching me the RTOS principles from the other side of the Earth. It uses NMEA library by Tim (xtimor@gmail.com) ported by Ken Todotani (http://mbed.org/users/todotani/) on public mbed library (http://mbed.org/users/todotani/programs/GPS_nmeaLib/5yo4h) also available, as original universal C library, on http://nmea.sourceforge.net

Dependencies:   mbos Watchdog TextLCD mbed ConfigFile

Committer:
guiott
Date:
Fri Feb 03 16:29:52 2012 +0000
Revision:
3:a2f9eb3b8a16
Parent:
0:d177c0087d1f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
guiott 0:d177c0087d1f 1 /*
guiott 0:d177c0087d1f 2 *
guiott 0:d177c0087d1f 3 * NMEA library
guiott 0:d177c0087d1f 4 * URL: http://nmea.sourceforge.net
guiott 0:d177c0087d1f 5 * Author: Tim (xtimor@gmail.com)
guiott 0:d177c0087d1f 6 * Licence: http://www.gnu.org/licenses/lgpl.html
guiott 0:d177c0087d1f 7 * $Id: sentence.c 17 2008-03-11 11:56:11Z xtimor $
guiott 0:d177c0087d1f 8 *
guiott 0:d177c0087d1f 9 */
guiott 0:d177c0087d1f 10
guiott 0:d177c0087d1f 11 #include "nmea/sentence.h"
guiott 0:d177c0087d1f 12
guiott 0:d177c0087d1f 13 #include <string.h>
guiott 0:d177c0087d1f 14
guiott 0:d177c0087d1f 15 void nmea_zero_GPGGA(nmeaGPGGA *pack)
guiott 0:d177c0087d1f 16 {
guiott 0:d177c0087d1f 17 memset(pack, 0, sizeof(nmeaGPGGA));
guiott 0:d177c0087d1f 18 nmea_time_now(&pack->utc);
guiott 0:d177c0087d1f 19 pack->ns = 'N';
guiott 0:d177c0087d1f 20 pack->ew = 'E';
guiott 0:d177c0087d1f 21 pack->elv_units = 'M';
guiott 0:d177c0087d1f 22 pack->diff_units = 'M';
guiott 0:d177c0087d1f 23 }
guiott 0:d177c0087d1f 24
guiott 0:d177c0087d1f 25 void nmea_zero_GPGSA(nmeaGPGSA *pack)
guiott 0:d177c0087d1f 26 {
guiott 0:d177c0087d1f 27 memset(pack, 0, sizeof(nmeaGPGSA));
guiott 0:d177c0087d1f 28 pack->fix_mode = 'A';
guiott 0:d177c0087d1f 29 pack->fix_type = NMEA_FIX_BAD;
guiott 0:d177c0087d1f 30 }
guiott 0:d177c0087d1f 31
guiott 0:d177c0087d1f 32 void nmea_zero_GPGSV(nmeaGPGSV *pack)
guiott 0:d177c0087d1f 33 {
guiott 0:d177c0087d1f 34 memset(pack, 0, sizeof(nmeaGPGSV));
guiott 0:d177c0087d1f 35 }
guiott 0:d177c0087d1f 36
guiott 0:d177c0087d1f 37 void nmea_zero_GPRMC(nmeaGPRMC *pack)
guiott 0:d177c0087d1f 38 {
guiott 0:d177c0087d1f 39 memset(pack, 0, sizeof(nmeaGPRMC));
guiott 0:d177c0087d1f 40 nmea_time_now(&pack->utc);
guiott 0:d177c0087d1f 41 pack->status = 'V';
guiott 0:d177c0087d1f 42 pack->ns = 'N';
guiott 0:d177c0087d1f 43 pack->ew = 'E';
guiott 0:d177c0087d1f 44 pack->declin_ew = 'E';
guiott 0:d177c0087d1f 45 }
guiott 0:d177c0087d1f 46
guiott 0:d177c0087d1f 47 void nmea_zero_GPVTG(nmeaGPVTG *pack)
guiott 0:d177c0087d1f 48 {
guiott 0:d177c0087d1f 49 memset(pack, 0, sizeof(nmeaGPVTG));
guiott 0:d177c0087d1f 50 pack->dir_t = 'T';
guiott 0:d177c0087d1f 51 pack->dec_m = 'M';
guiott 0:d177c0087d1f 52 pack->spn_n = 'N';
guiott 0:d177c0087d1f 53 pack->spk_k = 'K';
guiott 0:d177c0087d1f 54 }