- updating to 2.38
- creating init script and sysconfig files - migrating hotplug rules to udev + hotplug wrapper script from svn r5147 - updating pyexecdir patch - fixing udev rule subsystem match - Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added - Scaling on E error-estimate fields fixed to match O - Listen on localhost only by default to avoid security problems; this can be overridden with the -G command-line option - The packet-state machine can now recognize RTCM3 packets, though support is not yet complete - Added support for ublox5 and mkt-3301 devices - Add a wrapper around gpsd_hexdump to save CPU - Lots of little fixes to various packet parsers - Always keep the device open: "-n" is not optional any more - xgpsspeed no longer depends on Motif - gpsctl can now ship arbitrary payloads to a device; It's possible to send binary through the control channel with the new "&" command - Experimental new driver for Novatel SuperStarII - The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather than 'rtcm104'; this is design forward for when RTCM104v2 is fully working
This commit is contained in:
parent
ea58a0bde3
commit
532b77d09c
@ -1,2 +1 @@
|
||||
gpsd-2.37.tar.gz
|
||||
gpsd-logo.png
|
||||
gpsd-2.38.tar.gz
|
||||
|
BIN
gpsd-logo.png
Normal file
BIN
gpsd-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
28
gpsd.hotplug.wrapper
Normal file
28
gpsd.hotplug.wrapper
Normal file
@ -0,0 +1,28 @@
|
||||
#! /bin/bash
|
||||
# $Id$
|
||||
|
||||
if [ "$ACTION" == "remove" ] ; then
|
||||
if [ $(echo $DEVLINKS | grep -q /dev/gps) ] ; then
|
||||
exec /lib/udev/gpsd.hotplug "$ACTION" "$DEVNAME"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# This was formerly in /lib/udev/hotplug.functions
|
||||
wait_for_file() {
|
||||
[ -e "$1" ] && return 0
|
||||
local count=0
|
||||
while sleep 1; do
|
||||
let count=count+1
|
||||
[ -e "$1" ] && return 0
|
||||
if [ $count -gt 60 ]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# wait for /usr & /var to be mounted
|
||||
wait_for_file /usr/bin/python && \
|
||||
wait_for_file /var/run && \
|
||||
exec /lib/udev/gpsd.hotplug "$ACTION" "$DEVNAME"
|
||||
|
91
gpsd.init
Normal file
91
gpsd.init
Normal file
@ -0,0 +1,91 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# gpsd Service daemon for mediating access to a GPS
|
||||
#
|
||||
# chkconfig: - 44 66
|
||||
# description: gpsd is a service daemon that mediates access to a GPS sensor \
|
||||
# connected to the host computer by serial or USB interface, \
|
||||
# making its data on the location/course/velocity of the sensor \
|
||||
# available to be queried on TCP port 2947 of the host computer.
|
||||
# processname: gpsd
|
||||
# pidfile: /var/run/gpsd.pid
|
||||
|
||||
# http://fedoraproject.org/wiki/FCNewInit/Initscripts
|
||||
### BEGIN INIT INFO
|
||||
# Provides: gpsd
|
||||
# Required-Start: network
|
||||
# Required-Stop: network
|
||||
# Should-Start:
|
||||
# Should-Stop:
|
||||
# Default-Start:
|
||||
# Default-Stop:
|
||||
# Short-Description: Service daemon for mediating access to a GPS
|
||||
# Description: gpsd is a service daemon that mediates access to a GPS sensor
|
||||
# connected to the host computer by serial or USB interface, making its
|
||||
# data on the location/course/velocity of the sensor available to be
|
||||
# queried on TCP port 2947 of the host computer.
|
||||
### END INIT INFO
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
exec="/usr/bin/gpsd"
|
||||
prog=$(basename $exec)
|
||||
PIDFILE=/var/run/gpsd.pid
|
||||
CONTROL_SOCKET=/var/run/gpsd.sock
|
||||
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
OPTIONS="-n"
|
||||
DEVICE="/dev/ttyUSB0"
|
||||
|
||||
lockfile=/var/lock/subsys/$prog
|
||||
|
||||
start() {
|
||||
echo -n $"Starting $prog: "
|
||||
daemon $exec -p $PIDFILE -F $CONTROL_SOCKET $OPTIONS $DEVICE
|
||||
retval=$?
|
||||
echo
|
||||
[ $retval -eq 0 ] && touch $lockfile
|
||||
return $retval
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
killproc $prog
|
||||
retval=$?
|
||||
echo
|
||||
[ $retval -eq 0 ] && rm -f $lockfile
|
||||
return $retval
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start|stop|restart)
|
||||
$1
|
||||
;;
|
||||
force-reload)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
;;
|
||||
try-restart|condrestart)
|
||||
if status $prog >/dev/null ; then
|
||||
restart
|
||||
fi
|
||||
;;
|
||||
reload)
|
||||
status $prog >/dev/null || exit 7
|
||||
# If config can be reloaded without restarting, implement it here,
|
||||
# remove the "exit", and add "reload" to the usage message below.
|
||||
action $"Service $prog does not support the reload action: " /bin/false
|
||||
exit 3
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
|
||||
exit 2
|
||||
esac
|
41
gpsd.rules
Normal file
41
gpsd.rules
Normal file
@ -0,0 +1,41 @@
|
||||
# udev rules for gpsd
|
||||
# $Id$
|
||||
#
|
||||
# GPSes don't have their own USB device class. They're serial-over-USB
|
||||
# devices, so what you see is actually the ID of the serial-over-USB chip.
|
||||
# Fortunately, just two of these account for over 80% of consumer-grade
|
||||
# GPS sensors. The gpsd.hotplug.wrapper script will tell a running gpsd
|
||||
# that it should look at the device that just went active, because it
|
||||
# might be a GPS.
|
||||
#
|
||||
# The following setup works on Debian - something similar will apply on
|
||||
# other distributions:
|
||||
#
|
||||
# /etc/udev/gpsd.rules
|
||||
# /etc/udev/rules.d/025_gpsd.rules -> ../gpsd.rules
|
||||
# /lib/udev/gpsd.hotplug.wrapper
|
||||
# /lib/udev/gpsd.hotplug
|
||||
#
|
||||
# Setting the link in /etc/udev/rules.d activates the rule and determines
|
||||
# when to run it on boot (similar to init.d processing).
|
||||
|
||||
SUBSYSTEM!="usb", GOTO="gpsd_rules_end"
|
||||
|
||||
# Prolific Technology, Inc. PL2303 Serial Port
|
||||
SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
# ATEN International Co., Ltd UC-232A Serial Port [pl2303]
|
||||
SYSFS{idVendor}=="0557", SYSFS{idProduct}=="2008", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
# FTDI 8U232AM
|
||||
SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
# Cypress M8/CY7C64013 (DeLorme uses these)
|
||||
SYSFS{idVendor}=="1163", SYSFS{idProduct}=="0100", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
# PS-360 OEM (Microsoft GPS sold with Street and Trips 2005)
|
||||
SYSFS{idVendor}=="067b", SYSFS{idProduct}=="aaa0", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
# Garmin International GPSmap, various models (tested with Garmin GPS 18 USB)
|
||||
SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0003", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
# Cygnal Integrated Products, Inc. CP210x Composite Device (Used by Holux m241)
|
||||
SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
|
||||
ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug.wrapper"
|
||||
|
||||
LABEL="gpsd_rules_end"
|
67
gpsd.spec
67
gpsd.spec
@ -1,8 +1,8 @@
|
||||
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
||||
|
||||
Name: gpsd
|
||||
Version: 2.37
|
||||
Release: 4%{?dist}
|
||||
Version: 2.38
|
||||
Release: 2%{?dist}
|
||||
Summary: Service daemon for mediating access to a GPS
|
||||
|
||||
Group: System Environment/Daemons
|
||||
@ -12,14 +12,18 @@ Source0: http://download.berlios.de/gpsd/%{name}-%{version}.tar.gz
|
||||
Source1: xgps.desktop
|
||||
Source2: xgpsspeed.desktop
|
||||
Source3: gpsd-logo.png
|
||||
Patch0: python-pyexecdir-install-gpsd-2.37.patch
|
||||
Patch1: zero.patch
|
||||
Source10: gpsd.init
|
||||
Source11: gpsd.sysconfig
|
||||
Source20: gpsd.rules
|
||||
Source21: gpsd.hotplug.wrapper
|
||||
Patch0: python-pyexecdir-install-gpsd-2.38.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: dbus-devel dbus-glib-devel ncurses-devel xmlto python-devel
|
||||
BuildRequires: lesstif-devel libXaw-devel desktop-file-utils
|
||||
BuildRequires: python
|
||||
|
||||
Requires: udev
|
||||
Requires(post): /sbin/ldconfig
|
||||
Requires(postun): /sbin/ldconfig
|
||||
|
||||
@ -64,7 +68,6 @@ can run on a serial terminal or terminal emulator.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p0
|
||||
|
||||
|
||||
%build
|
||||
@ -84,10 +87,24 @@ make DESTDIR=%{buildroot} install
|
||||
%{__install} -p -m 0644 xgpsspeed.ad \
|
||||
%{buildroot}%{_datadir}/X11/app-defaults/xgpsspeed
|
||||
|
||||
# init scripts
|
||||
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/init.d
|
||||
%{__install} -p -m 0644 %{SOURCE10} \
|
||||
%{buildroot}%{_sysconfdir}/init.d/gpsd
|
||||
|
||||
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
|
||||
%{__install} -p -m 0644 %{SOURCE11} \
|
||||
%{buildroot}%{_sysconfdir}/sysconfig/gpsd
|
||||
|
||||
# udev rules
|
||||
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/udev/rules.d
|
||||
%{__install} -p -m 0644 %{SOURCE20} \
|
||||
%{buildroot}%{_sysconfdir}/udev/rules.d/99-gpsd.rules
|
||||
|
||||
# hotplug script
|
||||
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/hotplug.d/usb
|
||||
%{__install} -p -m 0644 gpsd.hotplug gpsd.usermap \
|
||||
%{buildroot}%{_sysconfdir}/hotplug.d/usb/
|
||||
%{__install} -d -m 0755 %{buildroot}/lib/udev
|
||||
%{__install} -p -m 0755 gpsd.hotplug %{SOURCE21} \
|
||||
%{buildroot}/lib/udev
|
||||
|
||||
# remove .la files
|
||||
rm -f %{buildroot}%{_libdir}/libgps.la
|
||||
@ -126,19 +143,23 @@ rm -rf %{buildroot}
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc README INSTALL COPYING
|
||||
%config(noreplace) %{_sysconfdir}/init.d/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/udev/rules.d/*
|
||||
%{_sbindir}/gpsd
|
||||
%{_bindir}/gpsprof
|
||||
%{_bindir}/sirfmon
|
||||
%{_bindir}/gpsctl
|
||||
%{_libdir}/libgps.so.*
|
||||
/lib/udev/gpsd*
|
||||
%{python_sitearch}/gps.py*
|
||||
%{python_sitearch}/gpscap.py*
|
||||
%{python_sitearch}/gpslib.so
|
||||
%{python_sitearch}/gpspacket.so
|
||||
%{_mandir}/man8/gpsd.8*
|
||||
%{_mandir}/man1/gpsprof.1*
|
||||
%{_mandir}/man1/sirfmon.1*
|
||||
%{_mandir}/man1/gpsctl.1*
|
||||
%{_sysconfdir}/hotplug.d/usb/gpsd.hotplug
|
||||
%{_sysconfdir}/hotplug.d/usb/gpsd.usermap
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
@ -166,6 +187,7 @@ rm -rf %{buildroot}
|
||||
%{_bindir}/xgps
|
||||
%{_bindir}/xgpsspeed
|
||||
%{_bindir}/cgps
|
||||
%{_bindir}/gpsdlcdd
|
||||
%{_bindir}/gpspipe
|
||||
%{_bindir}/gpxlogger
|
||||
%{_bindir}/cgpxlogger
|
||||
@ -185,6 +207,30 @@ rm -rf %{buildroot}
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Mar 16 2009 Douglas E. Warner <silfreed@silfreed.net> - 2.38-2
|
||||
- updating to 2.38
|
||||
- creating init script and sysconfig files
|
||||
- migrating hotplug rules to udev + hotplug wrapper script from svn r5147
|
||||
- updating pyexecdir patch
|
||||
- fixing udev rule subsystem match
|
||||
- Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added
|
||||
- Scaling on E error-estimate fields fixed to match O
|
||||
- Listen on localhost only by default to avoid security problems; this can be
|
||||
overridden with the -G command-line option
|
||||
- The packet-state machine can now recognize RTCM3 packets, though support is
|
||||
not yet complete
|
||||
- Added support for ublox5 and mkt-3301 devices
|
||||
- Add a wrapper around gpsd_hexdump to save CPU
|
||||
- Lots of little fixes to various packet parsers
|
||||
- Always keep the device open: "-n" is not optional any more
|
||||
- xgpsspeed no longer depends on Motif
|
||||
- gpsctl can now ship arbitrary payloads to a device;
|
||||
It's possible to send binary through the control channel with the
|
||||
new "&" command
|
||||
- Experimental new driver for Novatel SuperStarII
|
||||
- The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather
|
||||
than 'rtcm104'; this is design forward for when RTCM104v2 is fully working
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.37-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
@ -193,7 +239,6 @@ rm -rf %{buildroot}
|
||||
|
||||
* Wed Mar 19 2008 Douglas E. Warner <silfreed@silfreed.net> - 2.37-2
|
||||
- moving gpspacket.so python lib to main package
|
||||
- adding zero.patch to make ZEROIZE error go away on fedora 7
|
||||
|
||||
* Wed Feb 27 2008 Douglas E. Warner <silfreed@silfreed.net> - 2.37-1
|
||||
- update to 2.37
|
||||
|
2
gpsd.sysconfig
Normal file
2
gpsd.sysconfig
Normal file
@ -0,0 +1,2 @@
|
||||
OPTIONS="-n"
|
||||
DEVICE="/dev/ttyUSB0"
|
@ -1,7 +1,7 @@
|
||||
diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in
|
||||
--- gpsd-2.37/Makefile.in 2008-02-17 12:41:06.000000000 -0500
|
||||
+++ gpsd-2.37-new/Makefile.in 2008-02-28 11:45:00.000000000 -0500
|
||||
@@ -77,7 +77,7 @@
|
||||
diff -ruN gpsd-2.38-orig/Makefile.in gpsd-2.38/Makefile.in
|
||||
--- gpsd-2.38-orig/Makefile.in 2009-02-10 15:44:43.000000000 -0500
|
||||
+++ gpsd-2.38/Makefile.in 2009-02-12 11:04:18.000000000 -0500
|
||||
@@ -75,7 +75,7 @@
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
|
||||
"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \
|
||||
@ -10,12 +10,12 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in
|
||||
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \
|
||||
"$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" \
|
||||
"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" \
|
||||
@@ -966,21 +966,21 @@
|
||||
uninstall-info-am:
|
||||
@@ -1005,21 +1005,21 @@
|
||||
-rm -f libtool
|
||||
install-nodist_pythonPYTHON: $(nodist_python_PYTHON)
|
||||
@$(NORMAL_INSTALL)
|
||||
- test -z "$(pythondir)" || $(mkdir_p) "$(DESTDIR)$(pythondir)"
|
||||
+ test -z "$(pyexecdir)" || $(mkdir_p) "$(DESTDIR)$(pyexecdir)"
|
||||
- test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)"
|
||||
+ test -z "$(pyexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pyexecdir)"
|
||||
@list='$(nodist_python_PYTHON)'; dlist=''; for p in $$list; do\
|
||||
if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
|
||||
if test -f $$b$$p; then \
|
||||
@ -37,7 +37,7 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in
|
||||
fi; \
|
||||
else :; fi
|
||||
|
||||
@@ -988,27 +988,27 @@
|
||||
@@ -1027,27 +1027,27 @@
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(nodist_python_PYTHON)'; dlist=''; for p in $$list; do\
|
||||
f=$(am__strip_dir) \
|
||||
@ -50,8 +50,8 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in
|
||||
done
|
||||
install-pythonPYTHON: $(python_PYTHON)
|
||||
@$(NORMAL_INSTALL)
|
||||
- test -z "$(pythondir)" || $(mkdir_p) "$(DESTDIR)$(pythondir)"
|
||||
+ test -z "$(pyexecdir)" || $(mkdir_p) "$(DESTDIR)$(pyexecdir)"
|
||||
- test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)"
|
||||
+ test -z "$(pyexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pyexecdir)"
|
||||
@list='$(python_PYTHON)'; dlist=''; for p in $$list; do\
|
||||
if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
|
||||
if test -f $$b$$p; then \
|
||||
@ -73,7 +73,7 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in
|
||||
fi; \
|
||||
else :; fi
|
||||
|
||||
@@ -1016,9 +1016,9 @@
|
||||
@@ -1055,9 +1055,9 @@
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(python_PYTHON)'; dlist=''; for p in $$list; do\
|
||||
f=$(am__strip_dir) \
|
||||
@ -86,12 +86,12 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in
|
||||
done
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@@ -1436,7 +1436,7 @@
|
||||
@@ -1478,7 +1478,7 @@
|
||||
install-binPROGRAMS: install-libLTLIBRARIES
|
||||
|
||||
installdirs:
|
||||
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \
|
||||
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: $(BUILT_SOURCES)
|
4
sources
4
sources
@ -1,3 +1 @@
|
||||
6c96cc0b2df0279cb7baac1ebc5881d3 gpsd-2.37.tar.gz
|
||||
f742145dff43d607f7014aa387835738 gpsd-logo.png
|
||||
|
||||
725c320ca6fa35bcdaa1de2d8908f392 gpsd-2.38.tar.gz
|
||||
|
26
zero.patch
26
zero.patch
@ -1,26 +0,0 @@
|
||||
--- libgpsd_core.c.orig 2008-03-19 12:11:55.000000000 -0700
|
||||
+++ libgpsd_core.c 2008-03-19 12:14:28.000000000 -0700
|
||||
@@ -415,6 +415,7 @@
|
||||
tm.tm_mon++;
|
||||
tm.tm_year %= 100;
|
||||
}
|
||||
+#define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x)
|
||||
/*@ -usedef @*/
|
||||
(void)snprintf(bufp, len,
|
||||
"$GPRMC,%02d%02d%02d,%c,%09.4f,%c,%010.4f,%c,%.4f,%.3f,%02d%02d%02d,,",
|
||||
@@ -426,14 +427,13 @@
|
||||
((session->gpsdata.fix.latitude > 0) ? 'N' : 'S'),
|
||||
degtodm(fabs(session->gpsdata.fix.longitude)),
|
||||
((session->gpsdata.fix.longitude > 0) ? 'E' : 'W'),
|
||||
-#define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x)
|
||||
ZEROIZE(session->gpsdata.fix.speed * MPS_TO_KNOTS),
|
||||
ZEROIZE(session->gpsdata.fix.track),
|
||||
-#undef ZEROIZE
|
||||
tm.tm_mday,
|
||||
tm.tm_mon,
|
||||
tm.tm_year);
|
||||
/*@ +usedef @*/
|
||||
+#undef ZEROIZE
|
||||
nmea_add_checksum(bufp);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user