summaryrefslogtreecommitdiff
path: root/TODO
blob: b1d865186ed941e4c220ac3a24b5b65c5b4e9e37 (plain)
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
* Testing on EarthMate and TripMate

Would somebody please test the device types that aren't straight NMEA?
(This translates as: Hey, you, Russ!  Get off your tuchis! :-))

Remco has suggested that maybe it's time to forget about this ancient
hardware.  Perhaps he's right.  

* Do the research to figure out just what the heck is going on with status bits

NMEA actually has *three* kinds of validity bits.  Mode, status, and the
Active/Void bit (some sources interpret 'V' as 'Navigation receiver warning').
Sentences that have an Active/Void send V when there is no fix, so the 
position data is no good.

Let's look at which sentences send what:

                GPRMC     GPGLL     GPGGA     GPGSA
Returns fix      Yes       Yes       Yes        No
Returns status   No        Yes       Yes        No
Returns mode     No        No        No         Yes
Returns A/V      Yes       Yes       No         No

In addition, some sentences use empty fields to signify invalid data.

My first conclusion from looking at this table is that the designers
of NMEA 0183 should be hung for galloping incompetence.  But never mind that.
What are we to make of this mess?

The fact that the FV18 sends GPMRC/GPGLL/GPGGA but not GPGSA
argues that GPGSA is optional.  I don't see how it can be, since it
seems to be the only status bit that applies to altitude.  Just how are
we supposed to know when altitude is valid if it doesn't ship GSA?  
Can a receiver ever ship a non-empty but invalid altitude?

Which of these override which other bits?  I don't think status is ever
nonzero when mode is zero. So status overrides mode.  What other such
relationships are there?

* Mine the contrib directory for good ideas

This is a post-2.0 item.  There is code in there that can do some interesting
tricks with SiRF-II chipsets.

* gpsd.py is unsatisfactory

It only handles straight NMEA devices.  It should be replaced by a
Python extension built around libgps.a.

* Autodetect USB GPS by scanning the USB bus, if no device is specified.

This is a long-term wishlist item.  It's going to be difficult, since there
is no GPS device class yet.  Here are some IDs:

BU-303          	067b:2303	This IDs itself as a serial port
DeLorme Earthmate	0x1163:0x0100	This IDs itself as a HIDDEV.