summaryrefslogtreecommitdiff
path: root/drivers.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-07-13 04:35:28 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-07-13 04:35:28 +0000
commitcd9e8185b043d49b245a897d71963891d6619e22 (patch)
treec9c8cfef0d1ec7c0ebbfda7331a8c2c67a55b066 /drivers.c
parente07c0dce8368860e643f8dfa7a90adb1c9c7c17f (diff)
downloadgpsd-cd9e8185b043d49b245a897d71963891d6619e22.tar.gz
In theory we now have an RTCM104 driver...
...but there's no reporting code that ships the results to clients.
Diffstat (limited to 'drivers.c')
-rw-r--r--drivers.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers.c b/drivers.c
index 9333ae87..9c6fc41d 100644
--- a/drivers.c
+++ b/drivers.c
@@ -404,6 +404,37 @@ static struct gps_type_t itrax = {
#endif /* ITRAX_ENABLE */
#endif /* NMEA_ENABLE */
+#ifdef RTCM104_ENABLE
+/**************************************************************************
+ *
+ * This stub driver for RTCM-104 simply accepts incomping packets.
+ * The packet getter does all the work; the unpacked packets end up
+ * in structures in private storage.
+ *
+ **************************************************************************/
+
+static void rtcm104_initializer(struct gps_device_t *session)
+{
+ rtcm_init(&session->rtcm);
+}
+
+static struct gps_type_t rtcm104 = {
+ "RTCM104", /* full name of type */
+ NULL, /* no recognition string */
+ NULL, /* no probe */
+ rtcm104_initializer,/* initialize the packet engine */
+ packet_get, /* how to get a packet */
+ NULL, /* packet getter does all the parsing */
+ NULL, /* don't send RTCM data, */
+ NULL, /* no speed switcher */
+ NULL, /* no mode switcher */
+ NULL, /* no sample-rate switcher */
+ -1, /* not relevant, no rate switch */
+ NULL, /* no wrapup code */
+ 1, /* updates every second */
+};
+#endif /* RTCM104_ENABLE */
+
extern struct gps_type_t garmin_binary, sirf_binary, tsip_binary;
extern struct gps_type_t evermore_binary, italk_binary;
@@ -444,6 +475,9 @@ static struct gps_type_t *gpsd_driver_array[] = {
#ifdef ITALK_ENABLE
&italk_binary,
#endif /* ITALK_ENABLE */
+#ifdef RTCM104_ENABLE
+ &rtcm104,
+#endif /* RTCM104_ENABLE */
NULL,
};
/*@ +nullassign @*/