Update of /cvsroot/firebug/fireboard/beta/apps/XSensorMTS400
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28568/apps/XSensorMTS400
Modified Files:
TestMTS400M.nc
Log Message:
Added code for parsing blocked sirf messages.
Index: TestMTS400M.nc
===================================================================
RCS file: /cvsroot/firebug/fireboard/beta/apps/XSensorMTS400/TestMTS400M.nc,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** TestMTS400M.nc 20 Jun 2005 03:06:04 -0000 1.15
--- TestMTS400M.nc 17 Aug 2005 01:56:47 -0000 1.16
***************
*** 845,848 ****
--- 845,906 ----
}
+
+
+ event TOS_MsgPtr GpsReceive.receiveNew(TOS_MsgPtr data) {
+
+ char * leadtek_string = (char*)data;
+ uint8_t sirftype;
+
+ if (data[0] == '$') {
+
+ // get NMEA or LTC type
+ if(is_gga_string(data)) {
+ call nmea.gga_parse(gga_data_ptr, leadtek_string);
+ }
+
+ // Deal with the following later.
+ #if 0
+ else if (is_gsa_string(data)) {
+ call nmea.gsa_parse(gsa_data_ptr, leadtek_string);
+ } else if (is_gva_string(data)) {
+ call nmea.gsv_parse(gsv_data_ptr, leadtek_string);
+ } else if (is_gll_string(data)) {
+ call nmea.gll_parse(gll_data_ptr, leadtek_string);
+ } else if (is_rmc_string(data)) {
+ call nmea.rmc_parse(rmc_data_ptr, leadtek_string);
+ } else if (is_vtg_string(data)) {
+ call nmea.vtg_parse(vtg_data_ptr, leadtek_string);
+ } else if (is_mss_string(data)) {
+ call nmea.mss_parse(mss_data_ptr, leadtek_string);
+ } else if (is_ltc_string(data)) {
+ call nmea.ltc_parse(ltc_data_ptr, leadtek_string);
+ } else {
+ // signal error
+ }
+ #endif
+
+ } else if (data[0] == 0xA0) {
+
+ sirftype = sirf.get_type(data);
+ switch sirftype {
+ case SIRF2:
+ call sirf.id2_parse(leadtek_string);
+ break;
+ case SIRF28:
+ call sirf.id28_parse(leadtek_string);
+ break;
+ default:
+ // signal error;
+ ;
+ }
+ } else {
+ // signal an error
+ }
+
+ return data;
+ }
+
+
+
}
|