Committer:
slisgrinder
Date:
Wed Mar 28 23:29:35 2012 +0000
Revision:
3:d01d7593384d
Parent:
2:6f49c74ab3b9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
slisgrinder 3:d01d7593384d 1 #include "mbed.h"
slisgrinder 3:d01d7593384d 2 #include "MODSERIAL.h"
slisgrinder 3:d01d7593384d 3
slisgrinder 3:d01d7593384d 4 class GPSParser
slisgrinder 3:d01d7593384d 5 {
slisgrinder 3:d01d7593384d 6 public:
slisgrinder 3:d01d7593384d 7
slisgrinder 3:d01d7593384d 8 struct GPS
slisgrinder 3:d01d7593384d 9 {
slisgrinder 3:d01d7593384d 10 float latitude, lat_deg, lat_min, deg_latitude, longitude, long_deg, long_min, deg_longitude, altitude, HDOP, geoidal_sep, AODC, heading, mag_heading, speed_knots, speed_kph;
slisgrinder 3:d01d7593384d 11 char ns, ew, mode;
slisgrinder 3:d01d7593384d 12 int hours, minutes, seconds, m_seconds, fix, sats_used, DGPS_ID;
slisgrinder 3:d01d7593384d 13 unsigned short checksum_gga, checksum_vtg;
slisgrinder 3:d01d7593384d 14 };
slisgrinder 3:d01d7593384d 15
slisgrinder 3:d01d7593384d 16 struct GPS readings;
slisgrinder 3:d01d7593384d 17
slisgrinder 3:d01d7593384d 18
slisgrinder 3:d01d7593384d 19 GPSParser (PinName tx, PinName rx, int baud, int num_sentence, MODSERIAL &pc, PwmOut &indicator);
slisgrinder 3:d01d7593384d 20
slisgrinder 3:d01d7593384d 21 void process_readings ();
slisgrinder 3:d01d7593384d 22
slisgrinder 3:d01d7593384d 23 void ready_buffer(MODSERIAL_IRQ_INFO *q);
slisgrinder 3:d01d7593384d 24 /*{
slisgrinder 3:d01d7593384d 25 MODSERIAL *serial = q->serial;
slisgrinder 3:d01d7593384d 26
slisgrinder 3:d01d7593384d 27 if (serial->rxGetLastChar() == '\n')
slisgrinder 3:d01d7593384d 28 ctr++;
slisgrinder 3:d01d7593384d 29
slisgrinder 3:d01d7593384d 30 if (ctr == num_sentences)
slisgrinder 3:d01d7593384d 31 {
slisgrinder 3:d01d7593384d 32 read_gps();
slisgrinder 3:d01d7593384d 33 ctr = 0;
slisgrinder 3:d01d7593384d 34 }
slisgrinder 3:d01d7593384d 35 };*/
slisgrinder 3:d01d7593384d 36
slisgrinder 3:d01d7593384d 37 protected:
slisgrinder 3:d01d7593384d 38
slisgrinder 3:d01d7593384d 39 int GLL, RMC, VTG, GGA, GSA, GSV, GRS, GST, MALM, MEPH, MDGP, MDBG, ZDA, MCHN;
slisgrinder 3:d01d7593384d 40 int num_sentences;// = 0;
slisgrinder 3:d01d7593384d 41 volatile int ctr;// = 0;
slisgrinder 3:d01d7593384d 42 int baudrate;
slisgrinder 3:d01d7593384d 43
slisgrinder 3:d01d7593384d 44 MODSERIAL gps;
slisgrinder 3:d01d7593384d 45 MODSERIAL pc;
slisgrinder 3:d01d7593384d 46 PwmOut indicator;
slisgrinder 3:d01d7593384d 47
slisgrinder 3:d01d7593384d 48
slisgrinder 1:e143afe9a7ea 49 };