diff options
Diffstat (limited to 'nmea_parse.c')
-rw-r--r-- | nmea_parse.c | 6 |
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 |