-
Notifications
You must be signed in to change notification settings - Fork 18
/
NEWS
1002 lines (893 loc) · 53 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
GPSD project news
3.25.1~dev: WIP
Handle NTRIPv2 that comes in "chunks".
Add UBX-MON-COMMS, UB-MON-RXBUF, and UBX-MON-TXBUF decodes.
Improve TSIP and UBX intitalization.
Gather Antenna Status (ant_stat) and Jamming (jam) and send to JSON.
Always build u-blox, RTCM104V2, RTCM104V3 drivers.
Add partial support for badly documented ALLYSTAR GNSS messages.
Add minimal support for Unicore GNSS messages.
Try to work better as non-root using non-standard "capabilities".
Add SUBSYSTEM=gnss rule to gpsd.rules
Note: The new "chunk" code led to a short lived bug that led to
CVE-2023-43628, a buffer overrun. That bug never appeared in
any gpsd release.
3.25: 2022-10-09
Have ubxtool "-w 0" run forever.
Bump libgps version to 30.0
Change fixsource_t, store server locally, make pointers const.
Move gpsd_hexpack() to gps.h as gps_hexpack()
Move gpsd_hexdump() to gps.h as gps_hexdump()
Allow gpsctl -s/--ship to work without -f.
Grab prRes and quality from u-blox 8+, into JSON, then into xgps.
New GPSD-MIB, installed in share/mibs/gpsd.
gpssnmp supports GPSD-MIB in pass and pass_persist modes
Add decodes for NMEA $xxHDM, $xxROT and $xxXDR
Add Magnetic Heading (mheading) and Rate of Rotation (rot) to attitude_t
Allow NTP time from gpsd://, tcp:// and udp:// sources
Add the -B, --nobuffer, option to gpspipe.
gpsd opens $RUNDIR/chrony.clk.XXX.sock to supply serial time to chronyd.
Add -g and --garmin options to gpxlogger for depth.
Add -F and --filein options to gpxlogger to read GPSD JSON from a file.
3.24: 2022-04-22
NTRIP 2.0 now works. But still only plain HTML, not RTP, etc.
Remove ntrip option and NTRIP_ENABLE. Always build.
Remove passthrough option and PASSTHROUGH_ENABLE. Always build.
Remove nmea0183 option and NMEA0183_ENABLE. Always build.
Remove netfeed option and NETFEED_ENABLE. Always build.
gpsd will retry ntrip:// and tcp:// connections
cgps can expand to show more sats. Added --rtk option.
maidenhead() checks for input errors.
Better SHM logs.
PPS and TOFF JSON now include shm used, and real precision.
Add initial, untested, TSIPv1 support
split debug messages into different syslog() levels.
New ppscheck options, and can use /dev/ppsX devices.
First try at TSIPv1 protocol decodes.
Decode Quectel $PQVERNO for firmware version
Decode Skytrak PX1172RH_DS messages.
3.23.1: 2021-09-21
Improve ubx cycle detection.
Add quirks for Jackson Labs nonstandard NMEA
Change STATUS_NO_FIX to STATUS_UNK to avoid confusion with fix mode.
Change STATUS_FIX to STATUS_GPS to avoid confusion with fix mode.
Change STATUS_DGPS_FIX to STATUS_DGPS to avoid confusion with fix mode.
Split SOURCE_ACM from SOURCE_USB. ACM has no speeds.
Add speeds 1 mbps, 1.152 mbps, 1.5 mbps, and higher. When libc supports them.
Improve autobaud.
Add new u-blox M10 messages.
Fix u-blox M6, M7 initialization issues.
Various ubxtool and gpxlogger updates.
Add mtk3301_speed_switcher()
No API changes, except for STATUS_* as above.
No ABI changes.
Fallback to "python3" if "python" not found.
3.23: 2021-08-06
doc/*xml all moved into www/internals.adoc
Convert all DocBook (.xml) to AsciiDoctor (.adoc)
Remove all XSL remnants.
gpsplot: speedup, add new options.
driver_ubx.c: Add decode for UBX-NAV-STATUS
gps/ubx.py: Improve decode for UBX-NAV-STATUS
cgps: Add popup help, interactive options.
Reorganize and split the man pages.
Small updates for u-blox M8 and M10
Deprecated mtk3331 and ashtech build options. Use nmea0183 instead.
gpssnmp: Move from contrib/ to clients, add manpage
Add www/gpsd-client-example-code.adoc
Add gpsdebuginfo script and man page.
ubxtool: Add BeiDou, Galileo, GLONASS, QZSS, and partial SBAS subframe decodes
Max serial port speed raised to 921,600.
SUBFRAME JSON now includes new fields to support multiple constellations.
gpsd: Add some ADR and UDR message partial decodes.
ubxtool: Add some ADR and UDR message polls and decodes.
Remove COMPASS_ENABLE. Always compile attitude code.
contrib/webgps.py: use argparse, arguments -V, --version, --no-html-head.
Add readonly flag to DEVICE JSON.
Control messages to gpsd now return JSON, instead of, sometimes, OK or ERROR.
gpsfake uses "# Date: yyyy-mm-dd" to set initial time.
Don't compute wrong GPS rollover after 2021-10-23.
Bump libgps to version 29.
3.22: 2021-01-08
Added client/gpscsv to convert gpsd JSON to csv.
Added client/gpsplot to dynamically plot gpsd JSON.
Added client/gpssubframe to decode gpsd SUBFRAME JSON.
Added nSat and uSat to SKY JSON. Old clients can not read new SKY.
Move stuff from source root into clients/, include/, gpsmon/ and libgps/.
Move stuff from source root into gpsd/.
Move class ubx out of ubxtool and into gps/ubx.py.
Build all targets in gpsd-$VERSION/, not in tree.
NMEA 4.11 support for $GI (IRNSS) and $GZ (QZSS).
3.21: 2020-08-04
Create python programs from .in files to allow macro substitution.
Finally clean .sconsign*.dblite with "scons -c"
Remove revision.h. Move REVISION into gpsd_config.h
Change asciidoc to asciidoctor, and revise documents to match.
library version bumped to 27
Add leap_seconds to gps_data_t
Add/change many rtcm2 structs in gps.h
Add/change many rtcm3 structs in gps.h
Maindenhead now 8 chars.
Add icondir and sharedir install options
Install basic doc in sharedir
Move gps_data_t->status to gps_fix_t.status for better fix merging
The gps python module is now Pure Python + FFI. FFI only for packet.py
User should manually delete any old packet*so.
Add wspeedt, wspeedr, wanglem, wanglet, wangler to gps_fix_t
Add "-p CONFIG", "-p STATUS", "-t" and "-tt" options to ubxtool.
Add python_shebang option to scons config.
gpsrinex has long options and many new options.
Added long options to gpsd.
Remove unused FORCE_GLOBAL_ENABLE
Remove config option reconfigure, replace with -p, --passive runtime option.
Remove config option controlsend (RECONFIGURE_ENABLE)
Add config option rundir=XX. Default set to /run, or /var/run as required.
Fixes for Python 2.6 up to 3.9.
3.20: 2019-12-31
Change README into an asciidoc file and publish HTML from it
Add NED and geoid_sep to gps_fix_t and TPV JSON.
Add "-e NED" to ubxtool to enable NED messages.
gpsdata.separation replaced by gpsdata.fix.geoid_sep.
Remove nofloats build option.
TPV JSON "alt" is now fixed at WGS84. Probably.
xgps now uses XGPSOPTS environment variable.
add health variable to satellite_t
change satellite_t elevation and azimuth to double
satellite_t elevation, azimuth, and ss use NAN for unknown value.
add altMSL, altHAE, and depth, to gps_fix_t
altitude in gps_fix_t is deprecated and undefined
wgs84_separation() now return EGM2008 computed from 5x5 degree base data.
The best results are close to cm, the worst off up to 12m.
Move mag_var from gps_device_t to magnetic_var gps_data_t.
Added mag_var() to interpolate magnetic variation (deviation) from a table.
Remove true2magnetic() as mag_var() improves on it.
Remove TIMEHINT_ENABLE. It only worked when enabled.
Remove NTP_ENABLE and NTPSHM_ENABLE. It only worked when enabled.
Remove PPS_ENABLE and TIMING_ENABLE.
Add dgps_age and dgps_station to gps_fix_t
Convert all timestamp_t to timespec_t.
Remove FIXED_PORT_SPEED and FIXED_STOP_BITS build options.
Add -s [speed] and -f [framing] runtime options to gpsd.
A working CC and termios.h are mandatory.
use the current leap second to determine the current GPS epoch.
leapfetch.py, leapseconds.cache, timebase.h and leapfetch option gone.
See also change histories in gps.h and gpsd.h
3.19: 2019-07-01
Rearrange rawdata_t. Bump the API because gps_data_t changed.
Report sequence-ID fields in type 7 and 13 AIS messages.
Preliminary support for SiRFstar V
Improve error modeling.
Update pseudo NMEA to v3.0, with fractional time.
Improve cycle detection, mostly for NMEA.
Move epe from gps_data_t to be near its friends in gps_fix_t.
Preliminary u-blox 9 support.
Add qErr in gps_data_t to store PPS quantization error.
Add Android (AOSP) support
Improved multi gnss and multi signal support.
NMEA 4.10 multi gnss multi signal support.
The arguments to "ubxtool -p P" have been expanded and changed.
New options, -g, -x, -z, added to ubxtool for u-blox 9 support.
3.18.1: 2018-10-19 (Gary E. Miller <[email protected]>)
Fix some installation issues.
A few minor updates to ubxtool and driver_ubx.
Add contrib/skyview2svg
3.18: 2018-10-02 (Gary E. Miller <[email protected]>)
Add ECEF support to ievermore, italk,Skytraq, SiRF, U-blox drivers.
Add ECEF support to JSON, cgps and xgps.
Add GREIS (Javad) driver from Virgin Orbit.
Add CLI tools zerk and ubxtool to manage JAVAD and u-blox GPS.
Add gnssid:svid to satellite_t, cgps and xgps. PRN will die.
Add gnssid:svid to JSON, cgps and xgps.
Add stricter version checking (more to todo).
More and better regression tests.
Better Python dependency checking, at build time and runtime.
Fix several buffer issues.
New polar plots, and improved statistice, in gpsprof.
gpsd master/slave mode works, first time ever.
All isnan() changed to !isfinite(), fixing many bugs.
Client-side Python libraries may automatically reconnect
Too many other bug fixes and improvements to mention.
Over 1,000 commits from 46 different commiters.
3.17: 2017-09-07 (Eric S. Raymond <[email protected]>)
Repair support for non-NMEA devices requring active probing
(e.g. Garmin USB GPSes). Apply OS X build fixes. Fix a SiRF driver
bug that occasionally confused NTP. Support for Spectratime iSync
GRClok and LNRClok oscillators. gpxlogger can reconnect when
the GPS loses the fix. xgps and xgpsspeed moved to python-gi,
getting shut of the deprecated pygtk2 bindings. Default mode for
xgpsspeed is now the more interesting nautical display. gpsmon
includes the hostname with the device display. gpsprof now has
centimeter precision.
3.16: 2016-01-08 (Eric S. Raymond <[email protected]>)
Test rebuilds for mid-2015 leapsecond bump. Regression tests will
run even if "python" in Python 3. Build correctly on systems where
-ltinfo is split from -lncurses. Avoid some rare overflow conditions
in PPS code. Fix bugs in JSON sat-view parsing due to the JSON
parser stuffing ints into shorts. Various small fixes to AIS
interpretation. Prevent a memory leak in long-running gpsmon
instances. Fix Savannah bug #45270: serial driver does not work
properly on pipes. Fix Savannah bug #44648: GPSD won't build if
CCFLAGS contains options that are only compatible with the
cros1s-compiler. Fix Savannah bug #45342: SConstruct generates wrong
*.pc files. Fix Savannah bug #46495: gpsd_poll may crash due to
unitialized pointer (probably due to buggy FD_ISSET on host
system). Fix Savannah bug #46648: gpsd crashes and buffer overflow
is reported when terminated. Fix Savannah bug #46802: AIVDM to CSV
is broken in some weird cases. Fix Savannah bug #46804: JSON
satellite view parsing is somewhat broken.
3.15: 2015-06-03 (Eric S. Raymond <[email protected]>)
Fix a rare crash bug related to devices becoming inaccessible while timed out.
Accept NMEA 4.1 GSV sentences with the trailing signal-ID field.
Fixed incorrect decode of south latitudes in AIS Type 17 messages.
splint has been retired; this removes almost 2KLOC of annotations.
chrpath is no longer a build dependency. Corrected Beidou/QZNSS display
in the Python clients so the graphics don't look like SBAS.
3.14: 2015-03-14 (Eric S. Raymond <[email protected]>)
Pi Day release, 3.14 on 3/14 2015 at 9:26. Longer timeouts on test clients.
Skyview support for the Beidou and QZSS constellations in the NMEA0183 driver.
ntpmon rename to ntpshmmon - it doesn't actually monitor NTP itself.
New HOWTO on the website: "Introduction to Time Service".
3.13: 2015-02-26 (Eric S. Raymond <[email protected]>)
compiler.h inclusion removed for gps.h so it's standalone for /usr/include.
TOFF JSON report gives the offset between GPS top of second and clock time.
A new ntpmon tool supports capturing clock samples from NTP SHM segments.
3.12: 2015-02-22 (Eric S. Raymond <[email protected]>)
The daemon's power utilization has been reduced by changing from
non-blocking to blocking I/O; this may be significant on mobile devices.
Better protection against false matches of Inland AIS messages; this
required a libgps version bump to 22 (as a side effect, per-device
footprint has decreased). PPS feature is no longer marked
experimental/unstable. Sentence tag fields have been dropped from
the JSON reports. GNSS and GLONASS SKY reports are now
merged. Addressed versions of AIS Type 25 and 26 are now
handled. The 'nmea' build option is now 'nmea0183'. New 'minimal'
option sets all boolean options not explicitly set on the build
command line to false. The 'limited_max_devices' option is now
'max_devices'; the 'limited_max_clients' option is now 'max_clients'
The previously deprecated 'libQgpsmm' option has been removed; use 'qt'.
A bug fix for error modeling when NMEA 0183 reports empty DOP
fields. On OS X, the "osx-pl203" driver has been explicitly listed
as unsupported. The last remnants of the old pre-JSON query protocol
have been removed from the client library.
3.11: 2014-07-23 (Eric S. Raymond <[email protected]>)
A bug that prevented track interpolation has been fixed.
We now get vertical error position and speed estimates from the
u-blox driver rather than having to interpolate them.
Some unusual AIS talker IDs (NMEA 4.0 station classes) are supported.
chrpath is no longer a dependency for building and testing, and
now defaults to 'no'. Full systemd support. Fixes for handling
large PPS offsets. Improved recovery from device flakeouts,
gpsmon argument parsing.
3.10: 2013-11-22 (Eric S. Raymond <[email protected]>)
AIS: Adds gps2udp, an AIS data relay, split24 option supports
passing through Type 24 halves; support for Inland AIS; "scaled" no
longer controls dumping of controlled-vocabulary fields; instead,
the're always dumped numerically and as text, with text in an
attribute name generated by appending "_text" to the name of the
base attribute. The packetizer's handling of write boundaries not
coinciding with packet boundaries is improved. Better support for
mode and speed switching in the UBX driver. PPS message now ships
nsec. PPS events are visible in gpsmon. Time-reporting fix to TSIP.
3.9: 2013-05-01 (Eric S. Raymond <[email protected]>)
Note to packagers: this is an urgent release that fixes a possible
DoS or security hole! Armor the AIS driver against an implausible
overrun attack. A (different) fix for our first malformed-packet
crash since about 2007. Minor improvements to the NMEA2000
driver. New FAQ entry on how to know WAAS/EGNOS is working.
New -u and -uu options enable usec timestamps on gpspipe output.
3.8: 2013-02-25 (Eric S. Raymond <[email protected]>)
Fix various minor errors in the AIVDM/AIVDO description. Repair the
xmlto support in the build system. Add two more regression
tests. Significant improvements to NMEA2000 support. Upgrade the PHP
client to v3 of the Google Maps API. Support for the Telit SL869
chipset. Added a nautical-style display to xgpsspeed. Minor
improvements to leapsecond.py.
3.7: 2012-07-02 (Eric S. Raymond <[email protected]>)
Snap release to get the midnight change in the default leap-second
constant out the door. Port tests now pass on all Debian supported
architectures, including the Sparc and s390 that were giving us
trouble before. Pre-2003 Delorme Earthmate works again.
3.6: 2012-05-23 (Eric S. Raymond <[email protected]>)
It's the Fernando Poo Day release. Code has zero detectible defects
under Coverity scanning and cppcheck 1.52; this is mainly a cleanup
release to get those minor fixes into the field. If a leap-second
warning is available from GPS subframe information it is passed to
ntpd. NMEA2000 is now supported via the Linux kernel CAN interface.
There's a chrpath=no config option for distribution makers, so
chrpath is no longer a build dependency; see build.txt for
explanation.
3.5: 2012-04-14 (Eric S. Raymond <[email protected]>)
Use pselect when it's available to cut down on wakeups and improve
signal handling. New {PPS} message exporting clock drift. The AIVDM
driver now handles up to 16 interleaved 24A and 24B pair-halves.
The NMEA driver interprets depth-sounder returns from SDDBT and
reports them as negative altitudes. The pps-pin option is gone, the
PPS code now just accepts any handshake pin. A bug that sometimes
caused RTCM packets to be dropped rather than relayed is fixed.
3.4: 2012-01-12 (Eric S. Raymond <[email protected]>)
Don't barf when chrpath is not available, fall back to static linking;
helps people not running Linux.
3.3: 2011-10-29 (Eric S. Raymond <[email protected]>)
Improvements to build and release-procedure documentation. Make
sirf=no build work again. Main reason for this release is to make
chrpath a mandatory build dependency and explain why in the build
documentation.
3.2: 2011-10-25 (Eric S. Raymond <[email protected]>)
In the build recipe, (1) set pkgconfig properly for 64-bit Fedora
systems, (2) clean up various derived files including *.pyc on scons
-c, (3) add an option to disable stripping of binaries (strip=no),
(4) for embedded targets, add an option to disable building Python
support (python=no), (5) make the help for gpsd_group and gpsd_user
a little clearer, (6) add a force_global option to build gpsd to
listen to all addresses (rather than just loopback). The packet
sniffer now accepts NMEA packets with the ECDIS packet leader 'EC'.
SBAS satellites are now properly use-flagged in SiRF and UBX
skyviews. The -G option now works under IPv6. Cross-build is now
officially supported and instructions included. gpsprof works again
and does whole-cycle profiling. gpsd.php has Open Street Map
support. The pps-on-cts option is replaced by a pps_pin option that
lets you specify the pin; the default is still DCD. New supported
device; the Jackson Labs Fury. The chrpath utility has become a
build prerequisite.
3.1: 2011-07-28 (Eric S. Raymond <[email protected]>)
The Irene release, rocking you like a hurricane and brought to you
from the storm shelter in my basement. This is a snap release mainly
to get some scons recipe cleanups out the door. Parallelized builds
now work. Small but fatal problems with reconfigure=no, netfeed=no
and sock_export=no builds have been fixed. Build recipe ported for
Fedora, Darwin, FreeBSD and OpenBSD. libgps now brings -lm with it
on systems with implicit linking. One old bug fixed (code was
previously present but broken): Under Linux, gpsd will refrain from
opening serial or USB devices that another process has open,
avoiding potential problems with class 0xFF USB devices opened by
other programs. One new bug fix: we now use an atof()
implementation that ignores locale, avoiding problems where decimal
point is a comma. One new feature: Change -N semantics so it only
suppresses backgrounding; privileges are now dropped as in normal
background operation.
3.0: 2011-07-19 (Eric S. Raymond <[email protected]>)
POLL subobject name changes: fixes -> tpv, skyview -> sky.
Fix a timestamp-clobbering bug in the C library revealed by an
obscure car-nav device, the MyGuide 3100. The DEVICE 'activated'
attribute becomes an ISO8601 string; the client libraries will
still backward-compatibly read a float value. gps_unpack() is
now a documented part of the library API. There is now a
shared-memory export from the daemon that can be accessed through
the C and C++ client libraries. xgps and cgps may now display
the Maidenhead grid locator for current lat/lon. xgps displays
GST noise statistics if they are available. Codebase now has
an scons build recipe. Direct support for activation of gpsd from
Mac OS/X systemd. gpsdecode can now filter reports by RTCM2, RTCM3,
or AIS message type. NMEA HEHDT is implemented. Remote gpsd instances
can now be used as data sources via a gpsd:// URL. There is a client
for live-feeding GPSD data to Google Earth. The hotplug sequence no
longer requires Python.
2.96: 2011-03-21 (Eric S. Raymond <[email protected]>)
Bumped maximum channel count to 32 to accommodate GPS+GLONASS devices.
API version bumped to 5, redesign finished (changes are documented
in the Client HOWTO). cgps now handles resize signals. Code can now
link with uClibc for embedded use. Various bugs in the C++ binding
have been fixed. gpxlogger can now daemonize and write to a specified
log file. A gpsd client can now set any locale it likes, and JSON
will still be parsed using the C locale matching the daemon's. Clients
are no longer required to define a gpsd_report() hook. gpsd no longer
emits probe strings to unidentified USB devices at startup.
JSON timestamps in TPV and SKY are now ISO8601 rather than seconds since
the Unix epoch; the library handles the older style backward-compatibly.
GPGST sentences are now parsed for noise statistics when a device emits them.
AIS and RTCM2 JSON dumps have device fields. JSON reports now include 50bps
subframe data if the device allows access to it. gpsdecode can now dump NMEA
GPS binary, and subframe data to JSON. The RTCM2 code now understands and
analyzes RTCM2.3 messages 13, 14, and 31, and has been checked against another
analyzer. The ancient Sager dump format for RTCM2 is abolished in favor of
a JSON profile.
2.95: 2010-07-13 (Eric S. Raymond <[email protected]>)
The autonomous robot submarine total world domination release!
Rationalize clearing and generation of DOPs, this makes epx/epy much
more generally available. Fixed the test productions for the udev
magic and added a troubleshooting note in INSTALL. cgps now displays
epx/epy rather than eph. Speed is now always reported if our last
two fixes were good, even if the GPS didn't compute it. Reading
packets from UDP datagrams by specifying a listening address and
port is now supported, and the regression-test driver cam now be
told to force this with -u; this enables regression testing in
chroot jails where access to ptys is locked out. AIS code now
interprets message type 6 and 8 application IDs correctly as a
Designated Area Code and Functional ID pair. gpspipe has a new -T
option for setting the timestamp format. xgpsspeed is completely
rewritten in Python, eliminating some dependencies on ancient X
libraries. We now ship a Qt binding for the client library. Note
a GCC 4.2.1 optimizer bug. gpsdcode now uses | as a field separator
in -c mode, as string fields can contain commas. Corrected error
in reporting of AIS rate-of-turn fields.
2.94: 2010-04-20 (Eric S. Raymond <[email protected]>)
Error-checking in the 50bps subframe code has been greatly improved.
The Garmin GPS driver can now use libusb, if it is present, to do
device discovery. The libgps library has been split apart; the
service functions used by the daemon now live in libgpsd. This
will shave some code volume from GPSD client applications. A packaging
error that resulted in xgps not being shipped in 2.93 has been
corrected. We now have stronger checking for valid ephemeris before
extracting the leap-second offset; they should prevent many cases
where gpsd might previously have used an invalid leap-second offset.
2.93: 2010-04-16 (Eric S. Raymond <[email protected]>)
Support for JSON dumping and parsing of AIS message types 25 and 26,
not yet observed in the wild on AISHub. Fix Debian bug #569703. by
removing non-streaming mode from the Python exerciser. Fix Debian
bug #572900 by unsetting the appropriate in-use flag in the device
array. Change the libgps default from old protocol to JSON. Add a
close() method to the C++ binding. Try to recover better from
sporadic cases of false matches to Trimble packet format from a SiRF
binary datastream. gps_poll() now returns -1 with errno not set when
the gpsd socket closes. TPV now refrains from reporting fields the
fix quality won't support. gpsmon option for listing device types is
now -L to -l can be used to enable logging (to stay consistent with
the l command). There is new FAQ material on improving fix and time
reference accuracy. New sections have been added to NMEA.txt on
error status indications and satellite IDs. New POLL command brings
back polling-mode operation. A Client-HOWTO has been added to the
documentation. gpsd no longer eats CPU when a device is unexpectedly
unplugged. Support for the TNT revolution is back (run mode only).
There is now a gpsdfake diagnostic tool that fakes being gpsd shipping
arbitrary specified data to clients.
2.92: 2010-03-03 (Eric S. Raymond <[email protected]>)
Fix a packaging error. The new Python library module was
inadvertently omitted from the 2.91 tarball. Also, improve the json
import test slightly.
2.91: 2010-03-01 (Eric S. Raymond <[email protected]>)
We have support for NMEA GLONASS sentences, and a regression test.
Clients now get a DEVICE notification on every driver switch. It is
possible to specify a TCP/IP AIS feed such as AISHub as a data
source. Serious bitrot in the NTRIP support has been fixed - it was
probably nonfunctional for several releases before this. Fixed
buggy display of satellite-used flags in cgps. xgps is replaced by
a rewrite in Python that uses pygtk, eliminating a dependency on
Motif; also, it now displays AIS information. Uniform treatment of
display-unit defaulting and -u in xgps, cgps, and lcdgps. Support
for AIS message types 25 and 26. Support for IPv6. A numeric
instability in the earth_distance() function affecting track error
modeling has been fixed. Old protocol has been removed from the
daemon; the library still speaks it.
2.90: 2009-12-04 (Eric S. Raymond <[email protected]>)
GPSD-NG, the new JSON-based command protocol, is now deployed; as a
consequence, AIS is now fully supported in both daemon and client.
Detection of end of a fix-reporting cycle is now reliable;
accordingly data is accumulated from cycle start and the "J"
(nojitter) option on both server and client side is gone. We have
abandoned the gpsflash subproject since it has become apparent that
we can't do it without more vendor cooperation than we're likely to
get. Increase major version of shared library due to significant API
change. Added new driver for Motorola Oncore receivers, with help
from Håkan Johansson. gpsfake can now accept multiple logfiles,
interleaving test sentences from each. gpsd now accepts error
estimates from the NMEA $GPGBS sentence.
2.39: 2009-03-18 (Eric S. Raymond <[email protected]>)
Fixed potential core dump in C client handling of "K" responses.
Made device hotplugging work again; had been broken by changes in udev.
Introduced major and minor API version symbols into the public interfaces.
The sirfmon utility is gone, replaced by gpsmon which does the same
job for multiple GPS types. Fixed a two-year old error in NMEA parsing
that nobody noticed because its only effect was to trash VDOP values from
GSA sentences, and gpsd computes those with an internal error model
when they look wonky. cgpxlogger has been merged into gpxlogger.
Speed-setting commands now allow parity and stop-bit setting if the
GPS chipset and adaptor can support it. Specfile and other packaging
paraphenalia now live in a packaging subdirectory. rtcmdecode becomes
gpsdecode and can now de-armor and dump AIDVM packets. The client
library now works correctly in locales where the decimal separator is
not a period.
2.38: 2009-02-10 (Eric S. Raymond <[email protected]>)
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 mtk-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 RTCM104v3 is fully working.
2.37: 2008-02-17 (Chris Kuethe <[email protected]>)
The C++ bindings, Garmin USB support, and multiple instances of ntp
pps thread starting were fixed. Handling of odd PPS signals was
improved. The eye candy in the PHP visualizers was fixed.
2.36: 2008-01-01 (Eric S. Raymond <[email protected]>)
Urgent fix to leap-day calculation affecting dates from today to
28 Feb on generic NMEA GPSes, Zodiacs, and SirFs emitting message 0x62.
Integrated Garmin Simple Text Protocol driver from Peter Slansky.
Minor fixes in error modeling and a better NaN guard stabilize the
Trimble regression tests. Remove the wired-in NTP time offset from the
NMEA driver, this could only have worked by accident and should be
set in ntpd.conf. Integrated Ashtech driver from Chris Kuethe.
2.35: 2007-12-10 (Eric S. Raymond <[email protected]>)
Navcom driver merged. Removed -d -f and -p options of gpsd; these
have been undocumented for a while. Make gpsd play well with pkgconfig.
Incorrect computation of VDOP when GPSes didn't supply it has been fixed.
The xgps code has been revamped and now has a much nicer interface.
Add -b (no-configuration) option as a sadly clumsy workaround for some
problems with Bluetooth receivers. Added tests for Haicom-305N and Pharos
360; separated out the tests for the unstable Trimble drivers.
32-vs-64-bit problems in the regression tests have been solved.
2.34: 2006-12-14 (Eric S. Raymond <[email protected]>)
Fix for byte-swapping of Zodiac control messages on big-endian hardware.
Disable iTalk by default and note that it needs to be tested. Command line
arguments can now be DGPSIP or NTRIP URLs; -d is deprecated. Added udev
rules. Address excessive processor and memory utilization on SBCs; it's
now possible to configure compile-time limits on the number of devices
and client sessions. Eliminate use of fuser(1) in gpsfake. Get gpsd
working with EarthMates again, this had been broken since 2.15. Massive
string safety audit and OpenBSD port by Chris Kuethe. J command added.
The gpsctl and gpscat tools and the gpsd.phps script were added. Switched
to lesstif from openmotif. Better autodetection of DLE-led packet
protocols (notably TSIP and Garmin binary) and of SiRFStar I and III
devices. Fixed buggy parsing and generation of PGRME.
2.33: 2006-06-09 (Eric S. Raymond <[email protected]>)
Fix bad unit conversion in V output. Clean up some man-page messes.
Fixed buggy libgps parsing of multiple responses. It's now possible
to lock gpsd to a fixed speed at compile time for embedded use. Added
NTRIP support, thanks to Ville Nuorvala. O command now ships an
explicit mode field.
2.32: 2006-03-12 (Eric S. Raymond <[email protected]>)
Cleanup of the xgps layout, and minor memory-leak fixes for xgps. Fix
to cope with Antares u-blox by Andreas Stricker. Minor fix to libgps
cgpxlogger. Merge cgpxlogger and gpxlogger documentation onto
the xgps(1) manual page and rename it gps(1).
2.31: 2006-02-17 (Eric S. Raymond <[email protected]>)
Now builds and runs under Cygwin. Correct the speed units in
synthetic NMEA. Slightly better time handling under NMEA. Daemon
now builds with all but NMEA disabled. Update the leap-second
offset. cgpxlogger introduced. Upgrade gpxlogger to DBUS 0.60
conformance. Jason von Nieda's patch may fix the chronic TSIP
driver problems.
2.30: 2005-09-14 (Eric S. Raymond <[email protected]>)
Prevent core dump on -d option. The .log extension is no longer required for
test loads. cgps and xgps now have configurable latitude/longitude formats
via the -l option. Introduced new 'g' command that allows clients to
specify whether they want GPS or RTCM104 information.
2.29: 2005-07-19 (Eric S. Raymond <[email protected]>)
Added Sony CXD2951 support, untested. All error estimates are
now nailed to 95% confidence interval. Added rtcmdecode and its
documentation; also, gpsd can now monitor serial devices emitting
RTCM104 and display differential-GPS data in a readable format.
Added dangerous alpha version of gpsflash. Work around a nasty bug
in SiRFStar III firmware version < 3.1.1. Added support for True
North Technologies Revolution 2X Digital compass. Added the
gpxlogger client for systems with DBUS support and the gpspipe
and cgps clients for general use.
2.28: 2005-07-06 (Eric S. Raymond <[email protected]>)
The 2.27 source tarball somehow got truncated on upload.
Due to procedural mechanics at Berlios, shipping a new release
seems to be the least painful way to recover. This release is
identical to 2.27 except the roadmap stuff has been added to TODO.
2.27: 2005-07-06 (Eric S. Raymond <[email protected]>)
Arrange for the daemon to remove its pid file on exit. Fix some
buffering problems with the Python side of the hotplug interface.
gpsfake can now run sessions under a monitor like Valgrind. Most
of the gpsfake logic now lives in a module that can be used to write
other test loads; its progress baton is now optional. Fixed
some minor bugs found by valgrind audit, including (1) a slow
memory leak, (2) a possible but unconfirmed file-descriptor leak,
and (3) a subtle error in the channel-assignment logic that only
showed up with multiple sessions active. In fact, the daemon code
no longer uses dynamic-memory allocation at all. Also, the code
no longer relies on FIONREAD working. The track error field in the
O response is now computed. The project website has some new eye candy.
Client connections now time out when the mode is neither raw nor watcher.
Fixed a core-dump that could happen if C, B or I commands were issued
at odd times.
2.26: 2005-06-22 (Eric S. Raymond <[email protected]>)
Time DOP and total DOP are now passed on from GPSes that report
them. Ensure longitude has a leading zero when <100, for
compatibility with gpsdrive. Synchronous and thread hooks are now
separate in the client library. Packet-sniffing on a new device no
longer holds up incoming data on already-connected ones. There is
now a super-raw mode (R=2) that dumps a hex-encoding of every binary
packet received to the client; sirfmon uses it to operate through
the daemon if one is running. Support for Trimble TSIP GPSes
merged. gpsfake now works with SiRF and Zodiac logs. Python library
supports thread callbacks. New -p option of gpsfake supports
regression testing of the daemon, and there is a test suite included
with the distribution. PPS support is turned off, as there is some
pthreads problem that sometimes kills the daemon on pthreads exit.
Correct off-by-one error in GPZDA processing. The code has been
audited and cleaned with splint (www.splint.org).
2.25: 2005-05-21 (Eric S. Raymond <[email protected]>)
Various signedness and scaling fixes and an OpenBSD port patch for the
Zodiac driver. Command-line arguments to gpsd are now treated as a default
device list; -f is still supported but deprecated. sirfmon now tries not
changing the line speed first, so it syncs up much faster. Prevent a
potential buffer overrun in the client library. PPS-thread support is now
on by default. Lots of documentation improvements. D-BUS broadcast support
by Amaury Jacquot. Added Alfredo Pironti's thread-callback and C++
support. gpsd no longer uses the system clock for anything, so it
can be used to set that clock.
2.24: 2005-05-17 (Eric S. Raymond <[email protected]>)
Crazy-speed bug is finally fixed. Autobauding now starts with the
current speed of the device, not the stored gpsd speed; this means
hunting only takes place when device and GPS speed aren't matched.
xgpsspeed unit-conversion bug introduced in 2.22 is fixed. Satellite
display now really shows 12 channels, not just 11. Major improvements
in ntp notifications.
2.23: 2005-05- 4 (Eric S. Raymond <[email protected]>)
For better security, the daemon now drops root privileges after startup.
gpsd-clients is now a separate RPM; this is helpful on lean systems
that don't run X. The O command now reports speeds in meters per second
rather than knots, client code has been adjusted so there is no user-visible
change. We now compute the missing components of DOP when using SiRF chips.
/dev/gps is no longer special; there is no default GPS device unless you
specify one. The intermittent processor-hogging problem introduced by the
control-channel change in 2.21 has been solved.
2.22: 2005-04-25 (Eric S. Raymond <[email protected]>)
SiRF-binary driver can now get leap-second corrections from subframe data.
Device add/delete commands now send back OK or ERROR. Error-modeling
corrections from the SiRF folks. Higher precision in position reports.
2.21: 2005-04-12 (Eric S. Raymond <[email protected]>)
Add tag and timestamp to Y response. Use computed geoid separation as
SiRF packet 42 is flaky. Security fix: hotplug scripts now do device
add/removes through a separate local control channel. True multi-device
support is in place. When in watcher mode, device switches are announced.
2.20: 2005-03-31 (Eric S. Raymond <[email protected]>)
Rob Janssen's patches to fix timezone issues and improve cooperation
with NTP. License changed to BSD so linking to libgps won't make people
nervous. gpsprobe and gpsd.py are obsolete and have been removed, the
autoprobe and profiling capabilities in the daemon more than replace
them. gpsprof now ships self-contained GNUPLOT scripts to stdout,
so they can be saved and redisplayed. Zodiac sort of works again, but
occasionally spins madly during autobauding.
2.19: 2005-03-26 (Eric S. Raymond <[email protected]>)
Fix brown-paper-bag bug with NMEA parsing. Set SiRF GPSes to use
SBAS. sirfmon now displays SBAS parameters, and is included in the
installed programs. Add to FAQ a fix for spurious high speeds reported
in XTrac mode. We now interpret GPZDA. We no longer fudge a missing
ddmmyy in NMEA timestamps from the system clock, so replay will work better.
2.18-1: 2005-03-23 (Eric S. Raymond <[email protected]>)
First cut at cooperating with NTP. Major library restructuring;
a fix is now a data structure of its own, and per-field timestamps
are gone. Use new 'o' command for watcher mode. Compute some estimated
error bounds.
2.17: 2005-03-16 (Eric S. Raymond <[email protected]>)
Fix packet-engine problem that made disconnect/reconnect unreliable
(important!). Fix bonehead error in interpretation of PGRME. We
don't use O_SYNC (it turned out not to be reliable) so remove it to make
life easier under Mac OS X. Allow gpsfake to accept subsecond cycle times.
Add a FAQ to the HTML documentation. gps_poll() now handles multi-line
responses. Add N command for switching driver modes.
2.16: 2005-03-11 (Eric S. Raymond <[email protected]>)
New F command allows changing the GPS device after startup time.
Hotplug scripts to go with it are now installed by the RPM. The
Garmin probe is working. The -T and -s options are gone. We have
achieved zero configuration!
2.15: 2005-03-02 (Eric S. Raymond <[email protected]>)
A new packet engine autobauds much more quickly, and now iterates
over both 1 and 2 stopbits. Explicit support for FV18 (the -T f
option) is gone; instead, gpsd syncs with any 7N2 device and always
ships a suitable init string. New E command, supporting the Garmin
position-error sentence or computing these numbers from DOP and an
error model. New U command reports climb/sink from GPSes that report
vertical velocity. There is a prototype driver for SiRF-binary GPses,
invoked automatically when SiRF packets present themselves on the
wire after device open.
2.14: 2005-02-25 (Eric S. Raymond <[email protected]>)
Pass zero magnetic variation in generated NMEA from binary GPSes
correctly. Use O_SYNC rather than timeouts to guarantee that
baud-rate change strings get to the GPS before changing the line
parameters. Introduced I command. Spatial scattergram plotting
moved from gpsprobe to gpsprof.
2.13: 2005-02-21 (Eric S. Raymond <[email protected]>)
Correct a bug in binary-protocol dumping (applies to Zodiac and
Garmin only). Gary Miller's patch to deal gracefully with GPSes
like the Magellan EC10X that send only GPRMC and never GPGGA or
GPGSA, and thus never set mode or status fields. Fixed buggy
handling of units options in xgps and xgpsspeed. Bumped library
major version, since seen_sentences is now exposed and drivers have
more capabilities. Stricter NMEA buffer validation. Withdrew the
change that always passed up a timestamp; on SiRF receivers, the year
part is garbage when the PVT fields are garbage. Can now recognize
SiRF GPSes. Experimental baud-switching support for Zodiac.
2.12: 2005-02-15 (Eric S. Raymond <[email protected]>)
Fixed core-dump bug in processing of the GLL variant that does not
include an FAA Mode Indicator. When using the NMEA driver, gpsd now
hunts for a baud rate rather than requiring a fixed one to be set.
A new 'B' command returns the RS232 parameters, and a new 'C'
command returns the update cycle time. Added gpsfake test harness.
Alpha driver for Garmin binary protocol added, requires Linux
garmin_usb kernel driver. The daemon now always passes up a
timestamp for every sentence that has one, even if the PVT fields
aren't valid.
2.11: 2005-02-10 (Eric S. Raymond <[email protected]>)
Added gpsprof and the capability to generate GPS latency profiles.
gpsprobe now hunts through plausible baud rates when looking for NMEA
data from a GPS. The -b (baudrate) option fixes a speed, disabling
the baud-matching logic. Also, gpsprobe can now recognize SiRF
protocol, though not speak it. Fixed a math domain error in
gps.EarthDistance due to numeric blowup on points very close together,
and another in gps.MeterOffset() that was screwing up gpsprobe plots.
2.10: 2005-02-01 (Eric S. Raymond <[email protected]>)
Add -N option to explicitly foreground the daemon. Fixed a bug
that was causing gpsd to keep reopening the GPS device after
leaving raw or watcher mode. Fixed Gary Miller's core-dump bug.
2.9: 2005-01-27 (Eric S. Raymond <[email protected]>)
Python files restored to RPM.
2.8: 2005-01-27 (Eric S. Raymond <[email protected]>)
Embarrassing typo fix in gps.py. Avoid buffer overrun in xgps.c.
Plug Debian security bug 292347, CVE number CAN-2004-1388.
This version issued on an emergency basis without Python libraries,
which have packaging problems due to the 2.3/2.4 transition.
2.7: 2005-01-14 (Eric S. Raymond <[email protected]>)
More compiler-warning cleanups. gps client name changed to xgps.
Added --speedunits option to xgpsspeed, --speedunits and --altunits
options to xgps. Improved GPGSV parsing so it copes gracefully if
we start in the middle of a sequence. Merged Petter Reinholdtsen's
fix for GPGSA lists with holes. In xgps, satellites used in the
last fix are now dotted in the middle. New -P option to create
pidfile. Audited for potential buffer overruns, found and fixed
two.
2.6: 2005-01-01 (Eric S. Raymond <[email protected]>)
Petter Reinholdtsen's fix for gps.py buffering. Fix syntax errors
in udev scriptlets. Clean up after GCC warning messages. Drop use of
vsprintf, so we get a link-time error on systems that might produce
buffer overruns (all modern Unixes support vsnsprintf which is safe).
2.5: 2004-12-23 (Eric S. Raymond <[email protected]>)
Use gmtime instead of localtime when guessing the day or year of a date;
this avoids jitter in the day after 19:00 GMT. Added -v option to dump
version and exit. Commented out a crash-causing debug line in gps.py.
2.4: 2004-12-09 (Eric S. Raymond <[email protected]>)
Minor bugs in gpsd.py fixed. M now returns 0 status if GPGSA not yet
seen; this change also fixes a bug where gpsd claimed it was confused
if GPGSA had not been seen and status was set. RPM will now install
a udevd rule if the host system uses it. Don't set the online flag
on activate. HP port changes and -Wall cleanup. James Cameron's
fixes to clean up gps.c and use X timeouts rather than alarms.
2.3: 2004-10-25 (Eric S. Raymond <[email protected]>)
Documentation and comment fixes. Last two globals removed from
low-level interface; library should now be fully re-entrant. Mac OS X
port fixes. Q command fix from Robin L Darroch <[email protected]>.
2.2: 2004-10-18 (Eric S. Raymond <[email protected]>)
Documentation improvements. BSD port fixes. Bug fix: speed timestamp
wasn't initialized properly in libgps. Device is now an optional
command-line argument of gpsprobe, in line with the clients. gpsd.py
now should handle fvwm devices correctly. Values in gps data
panel are now labeled with units. Attempted fix for 2.1 bug of DTR
not being pulled low on exit.
2.1: 2004-09-30 (Eric S. Raymond <[email protected]>)
Various internal cleanups, including fossil removal in the
configuration machinery. FV-18, Tripmate, Earthmate and are now
enabled but can be disable with --disable-$NAME at configure time.
When you call configure with --disable-shared, libgps is linked
statically to the binaries (native libs are still linked
shared). Fixed buggy handling of -p option in gps.c and xgpsspeed.c;
it's now an optional command-line argument.
2.0: 2004-09-16 (Eric S. Raymond <[email protected]>)
Packaging fixes for 2.0 release.
1.98: 2004-09-08 (Eric S. Raymond <[email protected]>)
Only do one getdtablesize() call, otherwise we do several
getrlimits() each poll cycle. TripMate is working. gpsprobe now
deduces NMEA version. Zodiac Earthmate seems to work.
1.97: 2004-08-08 (Eric S. Raymond <[email protected]>)
Removed PRWIZCH support (it still passes through in raw mode).
Build Motif-dependent programs conditionally. Added gpsprobe.
Fixed a brown-paper-bag-bug in 1.96 RPM packaging.
1.96: 2004-08-31 (Eric S. Raymond <[email protected]>)
Implemented non-blocking writes to clients, so a stalled client
cannot stall gpsd. Fixed a nasty array-overrun bug. Timestamps
are now in ISO8601 format, with sub-second precision if the GPS
delivers that. First cuts at Python interfaces included. libgps.a
interface now bundles session fd into an allocated session block.
Automake-based build machinery from Jens Oberender; RPM now
installs shared libraries. FV18 driver added. Offline timer in GPS.
1.95: 2004-08-25 (Eric S. Raymond <[email protected]>)
Fixed broken 'make dist', missing display.c and Tachometer.c
are in there now.
1.94: 2004-08-24 (Eric S. Raymond <[email protected]>)
Fix embarrassing bug -- watcher mode did not work for more than one
client at a time. Y command now carries information about which
satellites were used in the last fix. New timeout mechanism, no
longer dependent on FIONREAD.
1.93: 2004-08-23 (Eric S. Raymond <[email protected]>)
Fourth prerelease. Daemon-side timeouts are gone, they complicated
the interface without adding anything. Command responses now
contain ? to tag invalid data. -D2 feature of 1.92 backed out.
1.92: 2004-08-22 (Eric S. Raymond <[email protected]>)
Third prerelease. Clients in watcher mode now get notified when
the GPS goes online or offline. Major name changes -- old libgps
is new libgpsd and vice-versa (so the high-level interface is more
prominent). Specfile now includes code to install gpsd so it will
be started at boot time. -D2 now causes command error messages
to be echoed to the client.
1.91: 2004-08-21 (Eric S. Raymond <[email protected]>)
Second pre-2.0 release. Features a linkable C library that hides the
details of communicating with the daemon. The daemon now recovers
gracefully from having the GPS unplugged and plugged in at any time;
one of the bits of status it can report is whether the GPS is online.
The gps and xgpsspeed clients now query the daemon; their code
for direct access to the serial port has been deliberately removed.
1.90: 2004-08-15 (Eric S. Raymond <[email protected]>)
Creation of specfile.
?: 2004-03-21 (Remco Treffkorn <[email protected]>)
Without PRWIZCH sentence: sat. colors in gps according to ss, grey==lt20,
yellow==lt40 else green.
Added L Q and I to the protocol. Removed G and T.
Changed the timeout mechanism. Try to not return Lat/Lon/Alt if
validity is in doubt.
?: 2004-01-29 (Remco Treffkorn <[email protected]>)
Make applications null-terminate their resource lists.
?: 2003-12-20 (Remco Treffkorn <[email protected]>)
Removed <varargs.h> from netlib. Not needed, and new gcc does not support
it any more.
1.10: 2003-08-20 (Remco Treffkorn <[email protected]>)
Add install target. Fix clean target. Make GPS timeout configurable.
Make xgpsspeed build with Apple's X11.
Make sure that we don't segfault if the NMEA is badly formed.
?: 2003-08-18 (Remco Treffkorn <[email protected]>)
Use cfset[io]speed() to set speed in serial.h. Glibc is quite insane
and I am tired to chase it, so I give up. Hope this works for BSD.
Set status and mode 0 after GPS timeout (5 sec) - Cougar <[email protected]>
1.09: 2003-02-16 (Remco Treffkorn <[email protected]>)
Include sys/time.h in gpsd.c for struct timeval.
?: 2002-11-03 (Remco Treffkorn <[email protected]>)
G or g command returns six-digit Maidenhead grid square (like FN12fx)
1.08: 2002-10-03 (Remco Treffkorn <[email protected]>)
Added sockopt SO_REUSEADDR to netlib.c passive_sock.
1.07: 2002-02-05 (Remco Treffkorn <[email protected]>)
em.c uses <time.h> (as it should). Removed some <sys/time.h>
where they were not needed.
Russ Nelson: Improved Earthmate support: added state machine for
EARTHA recognizer, removed alignment problems seen on ARM architecture.
Added setsockopt to add SO_REUSEADDR, so that
gpsd can stop and immediately restart. Added support for bitrates
higher than 38400, needed for the SIRF chipset.
Derrick: my patch causes longitude when under 100 degrees to be printed
zero-padded as needed, the latitude same deal under 10, fixes the GGA
sentence to not erroneously print fix type (2/3) instead of fix quality,
and calculates fix type correctly.
1.06: 2000-08-11 (Remco Treffkorn <[email protected]>)
Change from C++ (/) to C comments (/* */)for compatibility.
Added -n (need init) flag.
Don't init unless lat/lon specified.
Remove gps.mayko.com as the default hostname.
1.05: 2000-05-12 (Remco Treffkorn <[email protected]>)
(even though version.h says 1.04)
Added some includes to xgpsspeed.c for portability.
Fix problem with flags being overwritten, and using the wrong port
variable also in xgpsspeed.c
Add a note about Y2K compatibility fix.
Pass latitude and longitude into em_init().
1.02: 2000-03-17 (Remco Treffkorn <[email protected]>)
(even though version.h says 1.01)
1.01: 2000-03-05 (Remco Treffkorn <[email protected]>)
Updated to IANA port. Fixes to DGPS support.
1.0: 2000-01-02 (Remco Treffkorn <[email protected]>)
Added DGPS fixes from Curt Mills. (See README for contact info.)
0.99dgps: 1999-12-13 (Remco Treffkorn <[email protected]>)
Added minimal DGPS support by Derrick J Brashear
0.99: 1999-07-17 (Remco Treffkorn <[email protected]>)
Rockwell binary is now translated to NMEA format, so that
clients like gps will work with an EarthMate.
Added speedometer application. Thanks to Derrick J Brashear
for his work (see README for contact info).
0.96: 1999-03-04 (Remco Treffkorn <[email protected]>)
Changed EarthMate support. Rockwell binary is now almost properly
supported. Only the minimum required information is extracted.
0.95: 1999-02-06 (Remco Treffkorn <[email protected]>)
Added support for EarthMate receivers. Since I do not have one, this is
untested.
If it works, it does the following: You start gpsd with a baudrate of 9600
and give it the -Te option. If gpsd gets the EartMate it will enable the
receiver and then attempt to switch it into NMEA mode. If the EarthMate id
is not received, but a binary data header is received, then we will try to
switch NMEA too.
0.94: 1999-01-24 (Remco Treffkorn <[email protected]>)
Y2K compliant ;-) (... is NOT. Look for "FIXME:" in nmea_parse.c)
0.93: 1998-01-27 (Remco Treffkorn <[email protected]>)
using GNU autoconf now.
combined gpsd + gpsclient. No more init files, command line only.
0.9: 1997-05-13 (Remco Treffkorn <[email protected]>)
some cleanups in the ini code. version 0.9 ...
0.8: 1997-04-25 (Remco Treffkorn <[email protected]>)
version 0.8, some bug fixes. New MODE member, STATUS member changed.