+ if (nword >= tracking_pos + 2 && strcmp(words[tracking_pos], "SAT") == 0) {
+ int c, n, pos;
+ aoview_parse_int(&n, words[tracking_pos + 1]);
+ pos = tracking_pos + 2;
+ if (nword >= pos + n * 3) {
+ data.gps_tracking.channels = n;
+ for (c = 0; c < n; c++) {
+ aoview_parse_int(&data.gps_tracking.sats[c].svid,
+ words[pos + 0]);
+ aoview_parse_hex(&data.gps_tracking.sats[c].state,
+ words[pos + 1]);
+ aoview_parse_int(&data.gps_tracking.sats[c].c_n0,
+ words[pos + 2]);
+ pos += 3;
+ }
+ } else {
+ data.gps_tracking.channels = 0;
+ }
+ }