From 247b56166f2038a3afc1450cfee17d80bceecc02 Mon Sep 17 00:00:00 2001 From: Nuno Goncalves Date: Mon, 18 Jul 2016 14:41:10 -0700 Subject: TSIP: improve comments Signed-off-by: Gary E. Miller --- driver_tsip.c | 2 ++ packet.c | 50 +++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 41 insertions(+), 11 deletions(-) diff --git a/driver_tsip.c b/driver_tsip.c index 6fa79b66..5647c97e 100644 --- a/driver_tsip.c +++ b/driver_tsip.c @@ -2,6 +2,7 @@ * Handle the Trimble TSIP packet format * by Rob Janssen, PE1CHL. * Accutime Gold support by Igor Socec + * Trimble RES multi-constelation support by Nuno Goncalves * * Week counters are not limited to 10 bits. It's unknown what * the firmware is doing to disambiguate them, if anything; it might just @@ -948,6 +949,7 @@ static gps_mask_t tsip_parse_input(struct gps_device_t *session) } if ((now - session->driver.tsip.last_5c) >= 5) { + /* 5d in multi-gnss devices */ /* Request Current Satellite Tracking Status */ putbyte(buf, 0, 0x00); /* All satellites */ (void)tsip_write(session, 0x3c, buf, 1); diff --git a/packet.c b/packet.c index 6e3125f8..30c24799 100644 --- a/packet.c +++ b/packet.c @@ -1881,29 +1881,57 @@ void packet_parse(struct gps_lexer_t *lexer) #ifdef TSIP_ENABLE /* check for some common TSIP packet types: * 0x13, TSIP Parsing Error Notification - * 0x38, Request SV system data * 0x1c, Hardware/Software Version Information + * 0x38, Request SV system data + * 0x40, Almanac * 0x41, GPS time, data length 10 - * 0x42, Single Precision Fix, data length 16 - * 0x43, Velocity Fix, data length 20 + * 0x42, Single Precision Fix XYZ, data length 16 + * 0x43, Velocity Fix XYZ, ECEF, data length 20 * 0x45, Software Version Information, data length 10 * 0x46, Health of Receiver, data length 2 + * 0x47, Signal Levels for all sats * 0x48, GPS System Messages, data length 22 * 0x49, Almanac Health Page, data length 32 - * 0x4a, LLA Position, data length 20 + * 0x4a, Signle Precision Fix LLA, data length 20 * 0x4b, Machine Code Status, data length 3 * 0x4c, Operating Parameters Report, data length 17 - * 0x54, One Satellite Bias, data length 4 - * 0x56, Velocity Fix (ENU), data length 20 + * 0x4d, Oscillator Offset + * 0x4e, Response to set GPS time + * 0x54, One Satellite Bias, data length 12 + * 0x55, I/O Options, data length 4 + * 0x56, Velocity Fix ENU, data length 20 * 0x57, Last Computed Fix Report, data length 8 + * 0x58, Satellite System Data + * 0x58-05, UTC + * 0x59, Satellite Health * 0x5a, Raw Measurements * 0x5b, Satellite Ephemeris Status, data length 16 * 0x5c, Satellite Tracking Status, data length 24 * 0x5e, Additional Fix Status Report - * 0x6d, All-In-View Satellite Selection, data length 16+numSV + * 0x5f, Severe Failure Notification + * 0x5F-01-0B: Reset Error Codes + * 0x5F-02: Ascii text message + * 0x6d, All-In-View Satellite Selection, data length 17+numSV + * 0x6f, Synced Measurement Packet + * 0x72, PV filter parameters + * 0x74, Altitude filter parameters + * 0x78, Max DGPS correction age + * 0x7b, NMEA message schedule * 0x82, Differential Position Fix Mode, data length 1 - * 0x83, Double Precision XYZ, data length 36 - * 0x84, Double Precision LLA, data length 36 + * 0x83, Double Precision Fix XYZ, data length 36 + * 0x84, Double Precision Fix LLA, data length 36 + * 0x85, DGPS Correction status + * 0x8f, Superpackets + * 0x8f-01, + * 0x8f-02, + * 0x8f-03, port configration + * 0x8f-14, datum + * 0x8f-15, datum + * 0x8f-17, Single Precision UTM + * 0x8f-18, Double Precision UTM + * 0x8f-20, LLA & ENU + * 0x8f-26, SEEPROM write status + * 0x8f-40, TAIP Configuration * 0xbb, GPS Navigation Configuration * 0xbc, Receiver Port Configuration * @@ -1976,8 +2004,8 @@ void packet_parse(struct gps_lexer_t *lexer) else if (TSIP_ID_AND_LENGTH(0x5e, 2)) /* pass */ ; /* - * Not in [TSIP]. It's unclear where this test came from or - * why it's here; the TSIP driver doesn't use type 0x5f. + * Not in [TSIP]. the TSIP driver doesn't use type 0x5f. + * but we test for it so as to avoid setting packet not_tsip */ else if (TSIP_ID_AND_LENGTH(0x5f, 66)) /* pass */ ; -- cgit v1.2.1