Original Author Paul Laughton, 2011
Page 192
De Re BASIC!
The GPS status report is not timestamped, and the first event reported to your program may be stale.
Do not rely on the data from the first status report alone to determine when the GPS hardware gets a
current location fix..
<status_var>: If provided, this variable returns the type of last GPS event that occurred. If you provide a
numeric variable, the event type is reported as a number. If it is a string variable, the event type is
reported as an English-language event name.
Event Number
Event Name
Meaning
1
Started
The GPS system has been started, no location fixed yet
2
Stopped
The GPS system has been stopped
3
First Fix
The GPS system has received its first location fix since starting
4
Updated
The GPS system has updated its location data
<infix_nvar>: If provided, this numeric variable returns the number of satellites used in the last location
fix. This is the number of satellites in the satellite list describe below whose "infix" value is TRUE (non-
zero). If the status report could not get a satellite list the number is unknown, so the variable is set to -1.
<inview_nvar>: If provided, this numeric variable returns the number of satellites detected by the GPS
hardware. This is the number of satellites in the satellite list described below that have current data. It is
not necessarily the size of the list. If the status report could not get a satellite list the number is
unknown, so the variable is set to -1.
<sat_list_nexp>: If provided, the value of this numeric expression is used as a list pointer. If the value is
not a valid numeric list pointer, and the numeric expression is a single numeric variable, then a new list
is created and the numeric variable is set to point to the new list.
The satellite list is a list of bundle pointers. When the GPS system reports GPS status, it provides data
collected from the satellites it can detect. The data from each satellite is put in a bundle. The satellite list
has pointers to all of the satellite data bundles. You can use these pointers with any Bundle command,
just like any other bundle pointer.
If you provide an existing list, any bundles already in the list are cleared, except for the identifying
pseudo-random number (PRN). Anything else in the list is discarded. Then the new satellite data is
written into the satellite bundle. This is done so that a satellite that is lost and then regained will be
remembered in the satellite bundle, but its stale data will not be kept.
The number of satellite bundles with complete data matches the value of the <inview_var>. These
bundles are listed first. Any cleared bundles for satellites not currently visible are at the end of the list.
Each satellite bundle has five key/value pairs. All values are numeric. The value of "infix" is interpreted
as logical (Boolean).
KEY
VALUE
prn
Pseudo-Random Number assigned to the satellite for identification