summaryrefslogtreecommitdiff
path: root/packet.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2011-02-28 00:58:00 -0500
committerEric S. Raymond <esr@thyrsus.com>2011-02-28 00:58:00 -0500
commit4483ba1966cdc93cb9c9f7e1e766cdf1f1ed0772 (patch)
treeb34f9d413dd7f3ac28b464c0a1a54f6b43b18c02 /packet.c
parent2a8d28a670848846d0917557a3c51df2d31a08b9 (diff)
downloadgpsd-4483ba1966cdc93cb9c9f7e1e766cdf1f1ed0772.tar.gz
Hide something that doesn't have to be globally visible.
Diffstat (limited to 'packet.c')
-rw-r--r--packet.c115
1 files changed, 58 insertions, 57 deletions
diff --git a/packet.c b/packet.c
index c346ad9a..55134bc6 100644
--- a/packet.c
+++ b/packet.c
@@ -104,6 +104,64 @@ enum
#define STX (unsigned char)0x02
#define ETX (unsigned char)0x03
+#ifdef ONCORE_ENABLE
+static size_t oncore_payload_cksum_length(unsigned char id1, unsigned char id2)
+{
+ size_t l;
+
+ /* For the packet sniffer to not terminate the message due to
+ * payload data looking like a trailer, the known payload lengths
+ * including the checksum are given. Return -1 for unknown IDs.
+ */
+
+#define ONCTYPE(id2,id3) ((((unsigned int)id2)<<8)|(id3))
+
+ /* *INDENT-OFF* */
+ switch (ONCTYPE(id1,id2)) {
+ case ONCTYPE('A','b'): l = 10; break; /* GMT offset */
+ case ONCTYPE('A','w'): l = 8; break; /* time mode */
+ case ONCTYPE('A','c'): l = 11; break; /* date */
+ case ONCTYPE('A','a'): l = 10; break; /* time of day */
+ case ONCTYPE('A','d'): l = 11; break; /* latitude */
+ case ONCTYPE('A','e'): l = 11; break; /* longitude */
+ case ONCTYPE('A','f'): l = 15; break; /* height */
+ case ONCTYPE('E','a'): l = 76; break; /* position/status/data */
+ case ONCTYPE('A','g'): l = 8; break; /* satellite mask angle */
+ case ONCTYPE('B','b'): l = 92; break; /* visible satellites status */
+ case ONCTYPE('B','j'): l = 8; break; /* leap seconds pending */
+ case ONCTYPE('A','q'): l = 8; break; /* atmospheric correction mode */
+ case ONCTYPE('A','p'): l = 25; break; /* set user datum / select datum */
+ /* Command "Ao" gives "Ap" response (select datum) */
+ case ONCTYPE('C','h'): l = 9; break; /* almanac input ("Cb" response) */
+ case ONCTYPE('C','b'): l = 33; break; /* almanac output ("Be" response) */
+ case ONCTYPE('S','z'): l = 8; break; /* system power-on failure */
+ case ONCTYPE('C','j'): l = 294; break; /* receiver ID */
+ case ONCTYPE('F','a'): l = 9; break; /* self-test */
+ case ONCTYPE('C','f'): l = 7; break; /* set-to-defaults */
+ case ONCTYPE('E','q'): l = 96; break; /* ASCII position */
+ case ONCTYPE('A','u'): l = 12; break; /* altitide hold height */
+ case ONCTYPE('A','v'): l = 8; break; /* altitude hold mode */
+ case ONCTYPE('A','N'): l = 8; break; /* velocity filter */
+ case ONCTYPE('A','O'): l = 8; break; /* RTCM report mode */
+ case ONCTYPE('C','c'): l = 80; break; /* ephemeris data input ("Bf") */
+ case ONCTYPE('C','k'): l = 7; break; /* pseudorng correction inp. ("Ce")*/
+ /* Command "Ci" (switch to NMEA, GT versions only) has no response */
+ case ONCTYPE('B','o'): l = 8; break; /* UTC offset status */
+ case ONCTYPE('A','z'): l = 11; break; /* 1PPS cable delay */
+ case ONCTYPE('A','y'): l = 11; break; /* 1PPS offset */
+ case ONCTYPE('A','P'): l = 8; break; /* pulse mode */
+ case ONCTYPE('A','s'): l = 20; break; /* position-hold position */
+ case ONCTYPE('A','t'): l = 8; break; /* position-hold mode */
+ case ONCTYPE('E','n'): l = 69; break; /* time RAIM setup and status */
+ default:
+ return 0;
+ }
+ /* *INDENT-ON* */
+
+ return l - 6; /* Subtract header and trailer. */
+}
+#endif /* ONCORE_ENABLE */
+
static void character_pushback(struct gps_packet_t *lexer)
/* push back the last character grabbed */
{
@@ -1876,60 +1934,3 @@ void packet_pushback(struct gps_packet_t *lexer)
}
#endif /* __UNUSED */
-#ifdef ONCORE_ENABLE
-size_t oncore_payload_cksum_length(unsigned char id1, unsigned char id2)
-{
- size_t l;
-
- /* For the packet sniffer to not terminate the message due to
- * payload data looking like a trailer, the known payload lengths
- * including the checksum are given. Return -1 for unknown IDs.
- */
-
-#define ONCTYPE(id2,id3) ((((unsigned int)id2)<<8)|(id3))
-
- /* *INDENT-OFF* */
- switch (ONCTYPE(id1,id2)) {
- case ONCTYPE('A','b'): l = 10; break; /* GMT offset */
- case ONCTYPE('A','w'): l = 8; break; /* time mode */
- case ONCTYPE('A','c'): l = 11; break; /* date */
- case ONCTYPE('A','a'): l = 10; break; /* time of day */
- case ONCTYPE('A','d'): l = 11; break; /* latitude */
- case ONCTYPE('A','e'): l = 11; break; /* longitude */
- case ONCTYPE('A','f'): l = 15; break; /* height */
- case ONCTYPE('E','a'): l = 76; break; /* position/status/data */
- case ONCTYPE('A','g'): l = 8; break; /* satellite mask angle */
- case ONCTYPE('B','b'): l = 92; break; /* visible satellites status */
- case ONCTYPE('B','j'): l = 8; break; /* leap seconds pending */
- case ONCTYPE('A','q'): l = 8; break; /* atmospheric correction mode */
- case ONCTYPE('A','p'): l = 25; break; /* set user datum / select datum */
- /* Command "Ao" gives "Ap" response (select datum) */
- case ONCTYPE('C','h'): l = 9; break; /* almanac input ("Cb" response) */
- case ONCTYPE('C','b'): l = 33; break; /* almanac output ("Be" response) */
- case ONCTYPE('S','z'): l = 8; break; /* system power-on failure */
- case ONCTYPE('C','j'): l = 294; break; /* receiver ID */
- case ONCTYPE('F','a'): l = 9; break; /* self-test */
- case ONCTYPE('C','f'): l = 7; break; /* set-to-defaults */
- case ONCTYPE('E','q'): l = 96; break; /* ASCII position */
- case ONCTYPE('A','u'): l = 12; break; /* altitide hold height */
- case ONCTYPE('A','v'): l = 8; break; /* altitude hold mode */
- case ONCTYPE('A','N'): l = 8; break; /* velocity filter */
- case ONCTYPE('A','O'): l = 8; break; /* RTCM report mode */
- case ONCTYPE('C','c'): l = 80; break; /* ephemeris data input ("Bf") */
- case ONCTYPE('C','k'): l = 7; break; /* pseudorng correction inp. ("Ce")*/
- /* Command "Ci" (switch to NMEA, GT versions only) has no response */
- case ONCTYPE('B','o'): l = 8; break; /* UTC offset status */
- case ONCTYPE('A','z'): l = 11; break; /* 1PPS cable delay */
- case ONCTYPE('A','y'): l = 11; break; /* 1PPS offset */
- case ONCTYPE('A','P'): l = 8; break; /* pulse mode */
- case ONCTYPE('A','s'): l = 20; break; /* position-hold position */
- case ONCTYPE('A','t'): l = 8; break; /* position-hold mode */
- case ONCTYPE('E','n'): l = 69; break; /* time RAIM setup and status */
- default:
- return 0;
- }
- /* *INDENT-ON* */
-
- return l - 6; /* Subtract header and trailer. */
-}
-#endif /* ONCORE_ENABLE */