summaryrefslogtreecommitdiff
path: root/nmea_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'nmea_parse.c')
-rw-r--r--nmea_parse.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/nmea_parse.c b/nmea_parse.c
index 2c46e537..cd3be39f 100644
--- a/nmea_parse.c
+++ b/nmea_parse.c
@@ -669,7 +669,11 @@ int nmea_send(int fd, const char *fmt, ... )
va_start(ap, fmt) ;
(void)vsnprintf(buf, sizeof(buf)-5, fmt, ap);
va_end(ap);
- if (fmt[0] == '$') {
+ /*
+ * @ is used as a private leader character by some devices,
+ * like the True North magnetic compass and the Sony CXD2951.
+ */
+ if (fmt[0] == '$' || fmt[0] == '@') {
(void)strlcat(buf, "*", BUFSIZ);
nmea_add_checksum(buf);
} else