
                    GPS or LORAN INTERFACED TO APRS

VERSION 5.00 added the GET-GPS-TIME command so that you can SYNC your PC
clock to the next incommming GGA or RMC sentence.  Version 4.03  added the
very handy Hardware Single Port (HSP) interface so you can operate
ANY GPS in the single port mode!  (no longer requires a special programmable
GPS device).  5.02 fixed an anoying occassional map scroll when using HSP
mode.  Also PACCOMM now (as of Dayton 94) includes a universal GPS
interface in all their version 3.2 TNC ROMS.  Now you can make a stand-alone
tracker with ANY GPS and one of their TNC's.


OVERVIEW: This file has evolved radically as this APRS project has developed.
We began seriously parsing GPS data within APRS for amateur applications when
the Magellan GPS card became available for $445 in September 92 (down from
$1000).  Later the Motorola GPS card came down to the same price range, and
these two devices were the only ones that we could find that were cheap AND
which had USER programmable reporting rates so that they could be set up to
operate stand-alone with only a TNC and radio as a tracking device.  Several
HAMS began to build these autonomous tracking devices.  DRSI made a special
APRS ROM for TAPR-2 clone TNC's to permit power-up in the proper mode.

    Next, in version 2.0, I added an optional GPS serial interface to APRS so
that a laptop user could see himself tracked on the map.  Since I could
put my own parsing and timing routines in APRS, this interface did not require
any unique programming of the GPS device and so it was compatible with ANY GPS
or LORAN device using the NMEA-0183 interface, but required a dual port laptop
if both GPS and TNC operations were needed.  In version 3.05 this capability
was enhanced for single port laptops to permit simultaneous operation of the
GPS and TNC on the same serial port as long as one of the two programmable
GPS devices was used.  See Single Port Mode (SPM) below. (and also HSP below)

    Next, PACCOM added a universal GPS interface into all of its product line
of TNC's.  This capability reversed the previous situation, by now permitting
MOST GPS's to be used with PACCOM TNC's instead of ONLY MAGELLAN/MOTOROLA
GPS units with ANY TNC.  Modifications to APRS in versions 3.04 and 3.14
improved the tracking of these devices.  NOTE, however, that this first PACCOM
implementation only reported position (and not course and speed) and was
designed for stand-alone tracking devices only; When the TNC is
configured in the GPS mode, it CANNOT be used also as a TNC for normal packet
communications.  Howie Goldstein, who writes the software for many TAPR-2
Clone TNC's is working to improve this situation by adding code to the TNC
that will permit ANY TNC to work with ANY GPS/LORAN.  Sometime after Howie
writes this code, it should be available (at least as an optional ROM)
through the TAPR-2 clone manufacturers (DRSI, MFJ, etc).  BUT
NOTE, that this is still for stand-alone tracking, these TNCs will not be
useable at the same time for TNC (APRS) operations while in this mode.

    Recently, when I visited the boat store in December 93, I found that
the typical hand-held GPS was now selling below $500!  This week (March 94)
I visited again, and the 8 channel GARMIN GPS-50 was on sale all month for
$398.  I bought one!  This means two things:  First, it is hard now to choose
between a $500 circuit card GPS, which you can program to work with ANY TNC
but you have to build a box, etc, or a complete hand-held unit WITH display
and antenna for $100 less (but only compatible with PACCOM;  Secondly, this
implies that the price of the circuit card will drop below $300 by May 94!
POSTSCRIPT:  It turns out that the PACCOMM 3.1 ROM was not compatible with the
GARMIN because it only accepted the GGA sentence which is not output by the
GARMIN.  This is all fixed in PACCOMM 3.2 ROMS.  Now (May 94) my boat store
has at least 3 different GPS models for about $399!

    In order to make my GARMIN GPS-50 useful when plugged into APRS, I have
now added in APRS version 4.03 the HSP mode in which APRS toggles the DTR line
on the single serial port so that two transistors can then switch between the
GPS and the TNC on the same port.  It works!


* * * * * * * * * *     CURRENT RECOMMENDATION SUMMARY  * * * * * * * * * *

BOTH THE (present) PACCOMM AND THE (planned) HOWIE GOLDSTEIN TNC MODS ARE FOR
STAND-ALONE TRACKING APPLICATIONS.  NEITHER ONE WILL SUPPORT BOTH GPS
OPERATIONS AND TNC COMMUNICATIONS AT THE SAME TIME!  IN GPS OPERATIONS YOUR
POSITION IS BOTH TRANSMITTED ON THE AIR, AND ALSO AVAILABLE TO YOU FOR DISPLAY
ON APRS, BUT YOU CANNOT COMMUNICATE WITH OTHER PACKET USERS ON FREQUENCY.  If
you want to use your laptop as BOTH a moving map display AND APRS communication
device, you have three options:

FOR DUAL-PORT LAPTOPS:  Purchase ANY GPS and ANY TNC and run APRS O.K.

SINGLE-PORT LAPTOPS: Choose between the following options:

    A.  Buy a programmable Magellan or Motorola OEM GPS card and wire it up
    to operate in the APRS single-port mode with ANY TNC.  This results in
    only occassional (rare) glitches as the position data and TNC data are
    Diode-ORed together at the same port.

    B.  Use any GPS, with APRS in the single port mode.  Connect both the
    GPS and TNC to your serial port via a SPDT Push Button on your dashboard
    and press it for 2 seconds whenever you want to see (and update
    to APRS) your current posit.  All the rest of the time, the TNC is
    connected and operates as a normal comm device.

    C.  Use any GPS with APRS in the Hardware Single Port (HSP) mode and build
    a simple two transistor interface which permits APRS to switch between the
    two devices.  This permits automatic GPS reporting and is an improvement
    on option B above.  Since APRS controls the toggling, the potential for
    garbling is further reduced than in A or B.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


    To respond to this evolving technology, as of version 2.12+, this file
began to contain three major subsections.  The first describes the new PACCOM
direct TNC interface.  Second is the direct APRS software interface of GPS to
your PC, and third is the direct TNC/GPS interface for building stand alone
GPS trackers using the MAGELLAN and Motorola OEM cards.  As of March 94, I
have also added a section on Differential correction.

PACCOM GPS INTERFACE:  All PACCOM TNC's with firmware 3.1 or later have a GPS
ON command which allows you to hook up ANY NMEA-0183 GPS device to the serial
port and the GGA position report will automatically be inserted into your
BEACON text (after stripping off the $GPGGA header.  Thats why APRS did not
recognize this stripped down GGA data until version 3.02).  You then set your
beacon period and away you go!  This is the simplest and most direct way
to go, since  1) You will NOT need a special GPS card,  2) you will not
need modified TNC code.  PACCOMM even sells a TNC with GPS unit built-in!
BUT THIS COMBINATION IS FOR STAND-ALONE TRACKERS ONLY!  WHILE IN GPS MODE,
the TNC is not used for packet communications.

     Now the new PACCOMM 3.2 ROM released at Dayton-94 handles ANY GPS or LORAN
output by allowing the user to specify the exact NMEA-0183 interface to use.
The earlier PACCOMM 3.1 ROM only recognized the GGA sentence.  This meant that
you would not get course and speed, nor would it work with units that did not
use the GGA).  All of these problems go away in the 3.2 implementation.
Please read the section below on NMEA interfacing.

    PACCOM also added a new UI frame in their 3.2 ROM so that the POSITION
information would be independent from the BText. This LText is just like the
Beacon Text, except it is a separate entity with its own timing.  This keeps
the BText free for other applications. (particularly, for announcing WHAT your
mobile is doing, and what symbol to use, etc....)  This maintains the same
distinction between BTEXT and POSITS that APRS already handles easily.
Similaraly, the LText command allows you to manually enter your LAT/LONG or
grid square in your TNC, even without a GPS, so that TNC's in networks will
send their locations periodically.  The LText permits a free text format so
that it is compatible with any future specific formats (currently APRS parses
GGA, RMC, VTG, APRS L/L, PACCOMM and grid squares and a future 8 character
compressed L/L format) and there will probably be others too.  PText would
be a better name choice than LText, but it is already used by Kantronics as
the PBBS text)

LOCATION TEXT TIMING:  For future designs, the minimum L period should be 1
minute for manual entries, but the LText UI frame should be sent out ONCE
everytime a new manual entry is made.  The ultimate objective for all UI
beacons should be to have the optional APRS DECAYING time period algorithm
built into all TNC's.  This DECAY option would be invoked with the L D N or
B D N option commands.  The D stands for DECAY and the N is the final beacon
period.  With the DECAY option, each new manual entry of BText or LText will
force a UI frame immediately, 15 sec later, 30 after that, 60 after that, 2
mins, then 4 mins, then 8 mins and so on to N minutes, and stay at N minutes
forever.  This way, new UI information is transmitted immediately to all
stations on the net, but old beacons soon fade away.  With this algorithm,
I would expect the minimum value of N for the DECAY option would be 10
minutes, but a default value of 60 would be appropriate.  This way, stations
that have unchanging information only beacon once an hour.  One other
addition to complete the APRS philosophy, is to have the TNC respond with both
its LText and BText randomly within one minute of seeing an APRS query (UI
frame to the address of APRS with the text field set equal to ?APRS?)  This
way, stations could drop back to a decayed beacon rate of once every 4 hours
or so, but still would pop up on an APRS map if requested.


DIRECT APRS GPS/LORAN INTERFACE OPTION:  As of version 2.0, APRS contains an
optional ($9) NMEA-0183 software routine that parses the output of any standard
GPS/LORAN device plugged directly (almost) into a serial port of your APRS
computer.  APRS will not only plot the position of the attached station and its
movements, but will also transmit those position reports into the APRS net.
This feature was added by popular demand from all the James Bond guys out there
that wanted to see themselves driving around on their laptop.  In version 3.04
I improved on this option by adding a moving map display (select TRACK on the
P-list) to keep your mobile always on the map.  The problem with most Laptops,
however, is the availability of only one external serial port, so you probably
have to give up the APRS packet position reporting (or operate in the APRS
single-port-mode) if you want to see yourself.  With version 2.00 and later
there are four possible operational configurations:


     TNC only  - 1 Serial - Normal APRS for tracking other stations
     TNC/GPS   - 2 Serial - Normal APRS with automatic GPS position update
     GPS only  - 1 Serial - Tracking yourself (no other stations appear)
     TNC/GPS   - 1 Serial - Single Port Mode will do both! See below
               

NMEA INTERFACING NOTES:  Operation of a GPS with the optional $9 APRS software
routine is automatic.  But first you must interface the NMEA output of your GPS
or LORAN to your RS-232 input.  NOTE that NMEA and RS-232 are not exactly
compatible.  The NMEA specification is actually EIA-422, which means an
isolated differential receive circuit is recommended.  An opto-isolator is the
receommended interface to RS-232.  But it should also work by simply connecting
the NMEA pin A to RXD and pin B to ground.  Both standards are the same sense,
with NMEA a 0 and +5 volt signal, and RS-232 a +3 and -3 volt signal.  The
direct connection may not work with many serial interfaces without a (-) voltage
pulldown resistor.  Often a series 1k resistor and a 5 to 10k resistor tied
to your unused TXD data line will suffice to provide the - voltage:

GPS NMEA OUT                                           LAPTOP SERIAL PORT
                       1 k
   A  >-------------/\/\/\/\---*------------------------> RXD
                               |          10K
                               *-------\/\/\/\/\--------< TXD

   B  *-------------------------------------------------* GND


     Do NOT connect your PC serial output to your GPS NMEA input if there
is one, since APRS does not send anything to the NMEA device.  It has been
reported that the TRAXAR GPS devices may lock up solid if you connect
anything to the NMEA input.   You must then remove the battery and do
a hard reset to get it back!  Of course, if you are using one of the program-
mable GPS devices (Motorola/Magellan), then you WILL make this connection, in
order to send commands to the GPS.  Next, set your serial port to the NMEA-0183
standard baudrate of 4800 baud.   APRS scans the interface data looking for a
GLL/GGA/RMC and VTG data format to extract position information.  The data on
the NMEA interface is continuous and refreshed every second or two.  (If you
have been using a Magellan or a Motorola and have programmed a very slow data
period, you may want to reset this to a more normal few second rate.)  In order
not to saturate an APRS net or to overload your disk storage or to slow down
your other APRS keyboard processing, APRS only samples the data at slower rate.
This is called the REFRESH rate and is set during intitialization of APRS for
GPS or by using the alt-S command.  This period determines how often your
screen is updated from your own GPS.  Usually this is still too rapid for
transmitting at 1200 baud on a shared packet channel, so APRS also has another
period called PACKET PERIOD which is usually set for 1 to 10 minutes also using
the alt-S command.  We have found that 30 seconds updates are OK for special
events when there are only one or two mobile APRS stations.  As more and more
stations go mobile with GPS/APRS, 1 minute or 2 minute updates are more
appropriate.  To further reduce channel loading, APRS will decay the period
when the station is not moving.


APRS OPTIONAL NMEA-0183 INTERFACE:  The optional COMM port registration for
direct connection of any NMEA-0183 device (GPS or LORAN), is available to
registered APRS users from the author for $9.  It can be purchased at the time
of registration or as an option later on.


GPS MOBILE AND TNC WITH ONLY ONE SERIAL PORT (Single Port Mode)

     Since most laptops only have a single external serial port, it would seem
to be impossible to both run GPS and operate APRS packet at the same time.  But
by using the programmble MAGELLAN or Motorola, to reduce the GPS data rate, it
is possible to diode-OR the TNC and GPS data outputs together going into the
single serial port.  This requires APRS to be looking for packet headers on
everything comming from the TNC, but then to also recognize raw GPS data too.
The only problems with this arrangement are data collisions and ambiguity on
incomming VTG packets.  At a once-a-minute GPS rate and a 100% saturated 1200
baud packet channel, the 9600 baud TNC data will experience a collision less
than 1% of the time and 85% of all GPS reports will be collision free.  The
ambiguity problem is caused by VTG packets transmitted as a second frame from
a tracking device (see above).  These off-the-air VTG packets also have no
packet header and cannot be distinguished from VTG data from the local GPS.
Since GGA sentences off-the-air preceed the VTG and are always received with
an attached packet header, they can be uniquely identified.  APRS will only
process a VTG sentence if it has been received within 1 second of a GGA
and it will assume that the VTG came from the same station.

          DIODE OR-ing of GPS and TNC in SINGLE PORT MODE:


    GPS DATA OUT  >----------*------>|--------*----->  TNC RXD
                             |----/\/\/\/\----|
                                              |
    TNC DATA OUT  >----------*------>|--------*        both R's abt 10K
                             |----/\/\/\/\----|


     Again, this configuration will appear to only work if you were using the
programmable MAGELLAN or Motorola which can be told to send GPS data only once
every minute or so.  But (in version 3.08) we just realized that ANY GPS can
be conected in SinglePortMode by just using a SPDT push button switch!  The
laptop is normally connected to receive data from the TNC, but whenever the
operator presses the button and holds it for about 2 seconds, the GPS data
will be routed to the laptop and APRS should be able to parse out at least
one GPS position report!  This updates APRS to your present position and
then on release of the button, the TNC is connected as normal.  (W6PNC built
a simple 555 timer to do this automatically every minute for his.)

   To activate this Single Port Mode (SPM), bring up APRS in one-port TNC mode
being sure to set the TNC to the same BAUD RATE as your GPS.  Then enter the
ALT-S SETUP Menu.  Select SPM and then enter SETUP again to SAVE the config
file.  You will be asked for your regular validation and your GPS number.
If you did this correctly, you will see the lower case (spm) on the yellow
control panel go to uppercase.  ALSO NOTE THAT BOTH THE TNC AND THE GPS MUST
BE RUNNING AT THE SAME BAUD RATE. THIS IS USUALLY 4800 BAUD FOR NORMAL NMEA
OUTPUTS.

     For stations with the programmable GPS units, the data from both the TNC
and the GPS can be permanently diode-ORed together as long as they are both set
to the same baud rate.  Since APRS is receiving the GPS data, it will transmit
the resulting APRS position report for the station and so the GPS should NOT
also be sending data to the TNC (as is normally the case with the standalone
MAGELLAN or Motorola GPS).  The screen refresh rate is set by the period
programmed into your GPS (30 seconds or so is about right).  The position
report transmission rate is set by POS-RATE command in the SETUP Menu.


HARDWARE SINGLE PORT MODE  (HSP)

     The Single Port Mode described earlier permits sharing a single computer
COMM port between the TNC and GPS, but requires special GPS devices that can
be programmed to output only once a minute or so.  The only way to do this
with a typical GPS that outputs once a second, was to install a momentary push
button switch and have the operator press the button each time for a fix.
This has all been made automatic in version 4.03 of APRS!  I wrote a routine
to do this for you via a small 2 transistor interface.

     This simple 2 transistor interface can be used to share a single serial
port between both a packet TNC and ANY GPS device.  In mobile APRS operations,
this permits the vast majority of portable computers that only have a single
serial port to both communicate in the APRS network while also simultaneously
reading the vehcile's position from an attached GPS.  In this HSP mode, APRS
will periodically toggle the DTR output of the serial port for a second or so
to switch between the devices.  With DTR held high (normal) the GPS data is
shunted to GND while the TNC operates normally.  When APRS toggles the DTR
low, this holds off output from the TNC, but also enables data through the
emitter follower from the GPS.  As soon as APRS receives the GPS data it
needs, it restores DTR so the TNC is connected for normal APRS operations.
Just learned that the PACCOMM Tiny-2 does not use DTR but does use RTS for
holding off data.  Also, if the +V impedance of your PC RTS line is not strong
enough to provide a good source of +V, you might get it from the TNC's DSR.
REMEMBER THAT YOUR TNC AND GPS MUST BE SETUP AT THE SAME BAUD RATE, usually
4800 baud.

                              *------------------< RTS (source of +V only)
 GPS NMEA                   |/ c                       (Or get from TNC's DSR)
   >------/\/\/\/---*----*--|
 OUTPUT      1k     |   NPN |\ e
                    |         *----->|-----*-----> RXD
 TNC RXD            |              diodes  |
   >--------------------------*----->|-----*
                    *         |            |       SINGLE
                    |         *---/\/\/\/--*       LAPTOP
                   c \|            10k             RS-232
                      |--*--------/\/\/\/--*       PORT
                   e /| NPN        10k     |
                    |                      |
 TNC DTR (or RTS) ////                     |
   <---------------------------------------*-----< DTR

 TNC TXD
   <---------------------------------------------< TXD
  GND
   *---------------------------------------------* GND

My goal was to install these few components in a back-to-back DB-9 connector
so that the GPS can be operated alone or with a TNC.  By installing this
adapter on the end of the cable to my GPS, it is always handy.  Notice that
a dotted line shows how to add just one wire to take the output of the TNC to
the DGPS input of the GPS if your GPS is DGPS capable and if someone in your
area is transmitting DGPS data on your packet channel.


                1     2     3     4     5   DB-9 FEMALE TO COMM PORT
                O     O     O     O     O
                      |  7  |     |     |
                   O  |  O  |  O  |  O  |
                      |  |  |     |     |
                      |  |  |     |     |
  NMEA      N C------ | -*  |     |     *--------E N
  FROM      P E--->|--*     |     *---- | -/\/\/-B P
  GPS       N B---*-- | --- | --- | --- | -------C N
                  |   |     |     |     |
                  |   *--*  |     |     |
   A >-----/\/\/--*   |  |  |     |     |
                      \  -  |     |     |
   DGPS < - - - - *   /  ^  |     |     |
                  |   \  |  |     |     |
                  |   |  |  |     |     |
                  * - *--*  |     |     |
   B ---------------- | --- | --- | ----*
                      |     |     |     |
                      |     |     |     |
                O 1   O 2   O 3   O 4   O 5   DB-9 MALE TO TNC CABLE

                   O     O     O     O


In this adapter, the voltage to provide the -V bias to convert the NMEA output
to RS-232 levels comes from the output of the TNC.  For this reason, if the
GPS is used alone without the TNC, a jumper must be connected between
pins 2 and 3 of the empty TNC connector.  This takes the -v from the unused
TXD output of the PC.  I recommend carrying a stubby DB-9 female connector
with this jumper permanently installed.

                O 1   O 2   O 3   O 4   O 5   DB-9 FEMALE STUB USED TO PROVIDE
                      |     |                    -V BIAS WHEN TNC IS NOT USED
                   O  |  O  |  O     O
                      |     |
                      *-----*

HSP OPERATIONS:  The set up procedure for HSP is identical to SPM, except that
HSP vice SPM is selected from the SETUP menu.   To activate HSP, bring up APRS in
one-port TNC mode being sure to set the TNC to the same BAUD RATE as your GPS,
probably 4800.  Then select HSP under the SETUP menu and then SAVE a new CONFIG
file.  You will be asked for your validation number and special GPS number.
If everything is done correctly,  you will see the lower case (hsp) on the
yellow control panel shift to uppercase.  In HSP mode both the screen refresh
rate and position transmission rate are set with the POS-RATE command.


US NAVY MAGNAVOX 1105 SATNAV SYSTEM:

   I did write a version of APRS that is plug compatible with the MAGNAVOX
1105 SATNAV system.  This is a 1970's vintage TRANSIT SATNAV system which has
both LORAN and SATNAV integrated together in the same box.  This unit is found
on many US NAVY ships.  It sends position updates in a very verbose protocol
once every minute.  This is the system used on the Naval Academy boats.  If
you have use for this module, please contact me.


NOTES ON MOBILE GPS OPERATION:  After over a year of operating GPS mobile, for
other to track me, I finally borrowed an old 8088 Laptop and went James Bond
mobile to the inlaws over Thanksgiving 93.  It worked beautifully.  I actually
never thought it would be anything more than a toy, but when you are stuck in
holiday weekend traffic for hours, and you are on an unfamiliar interstate,
crawling at 10 MPH or less, with no signs in sight, there is nothing that will
tell you where you are other than GPS!  LESSONS LEARNED!

  1) We were 5 miles out when I finally got everything going and then had to
  turn around and drive back home to get my GPS Validation number!!!
  Write it down!

  2) Recommend making a trimmed down disk with only the maps you will need.

  3) When you QUIT APRS, your TRACK HISTORY is NOT saved UNLESS you sepcify a
  file name OTHER than BACKUP.BK (or do a FILE-SAVE).

  4) In version 3.04 I added the TRACK mode so that APRS could recenter the
  map if your station moved to the edge of the screen.

  5) GPS fixes indicate GGA/NUL as course and speed if no VTG data is
  available, or "Last GPS fix" if the GPS device is reporting GPS not
  available and the fix is older than a few seconds.

  6) Set your refresh rate to a long enough time period so that APRS is not
  always processing GPS and has time to service the keyboard.  I set to 20
  seconds or more usually.

  7) Make notes of any map errors or disagreements with GPS, with the latest
  MAPFIX.bas, you can now replay your track history and fix any map easily.

  8) During my trip to Dayton94, I noticed that any error between your PC
  clock and GPS time resulted in DeadReckoning errors.  In APRS 5.00, there
  is a TIME-SYNC command that will sync your PC time to GPS time on the
  next receipt of a GGA or RMC sentence. (be wary of GPS's that are transmit-
  ting old posits and FIX times!)

For most highway maps and 1 minute reporting at 60 MPH, zooming in below
eight miles is usually a waste of time.  For this reason don't waste your
time making maps with every little twist and turn in the road; it just takes
time and memory and makes no difference.  In all applications of
APRS so far, you just want to know what road the mobile is on, and how far
along he is between point A and B.  A straight line between A and B is not as
pretty, but shows the road as well as 20 points showing all the curves.  If
you do save any RAW GPS data outside of the APRS environment, the following
two programs may be useful in reconstructing GPS data.  They are provided
as-is, I just made them for some quick and dirty file conversions that I had
to do in the past, but thought they might be useful to others as a basis for
writing your own routines.

FILTRHST.bas:  APRS automatically builds a track history for all moving
stations.  To avoid saving redundant position reports, a filter was added in
APRS version 2.0 to filter all reports and to only save positions that are
changing.  The default value of the filter is wide enough to include the
variations in position due to GPS selective avaiability. (+/- 0.03 minutes)
This value can be changed with the CONTROLS-FILTER command.  I wrote a QBasic
utility called FILTRHST.bas that can be used to re-filter a track history file
to remove additional points.  Since the source code is provided, this program
makes a good starting point for writing other routines for manipulating APRS
track history files.  In addition to filtering, this program can be used to
combine a number of separate track history files into one file.

GPStoHST.bas:  Since the simplest GPS interface is to just plug the output of
a GPS receiver into a laptop computer and save a text file.  This program will
take such a text file and generate an APRS track history file.  Actually, it
only looks for the GGA and VTG NMEA-0183 sentences and combines them into the
one line APRS format.



TNC INTERFACE TO GPS or LORAN-C FOR MOBILES WITHOUT PC's
(Note that this section is probably obsolete since the PACCOMM TNC or Howie
Golsteins ROM will do the whole job nicely)

     This section describes an alternate method to the PACCOM interface
described above for interfacing navigation devices directly to a TNC for
building small autonomous mobile position reporting devices without requiring
a PC computer to do format conversions.  This method has the advantage of
transmitting any of the NMEA-0183 sentences (to include course, speed and
altitude) but requires the use of special programmable GPS/LORAN devices.
Although almost all GPS/LORAN devices have an NMEA-0183 serial data output
(except for the Rockwell engine and the SONY Pixis), most of them do not give
the user the ability to modify the periodicity of the data reported via the
interface.

     In most devices, navigation data is continually updated about every two
seconds at 4800 baud.  This is far too much data to transmit over a shared
1200 baud AX.25 packet link.  Fortunately some devices do permit the operator
to specify not only the reporting rate, but also what data formats are included
in the reports.  I have seen some LORAN devices that have a separate
"printer" port which can be configured by the user to output a report once
every N minutes or even hours.  Unfortunately, most users manuals I have
peruised in my local boat store do not make it immediately obvious what the
user configuration options are.  We have found two GPS engines which are
designed for the experimenter.

1.    The MAGELLAN OEM 5000 circuit board that I use is a GPS engine on a
3.5 by 7 inch circuit card that costs about $445 and produces RS-232 output
in NMEA format and requires only a GPS antenna and 12 volts at 250 MA input;
it also includes the RTCM-104 differential correction.  Call Emiel Yakoub at
MAGELLAN 960 Overland Ct, San Dimas, CA 91733, phone 714 394-5000.  Since it
is an OEM card, it has full user programmability.  It can be set to output any
of the dozens of NMEA standard formats at any periodicity between 1 second up
to 5 minutes.  My APRS software recognizes four of the NMEA-0183 formats:

   $GPGGA - for position and height  (no loran equivalent)  ] Use only one
   $GPGLL - for position only        ($LCGLL for LORAN)     ] of these two
   $GPVTG - for velocity and course  ($LCVTG for LORAN)
   $GPRMC - Posn, Course and speed   (Has all but height) (not in MAGELLAN)

2.  Tom Clark (W3IWI) has found that the Motorola OEM prototype card also has
user programmability of the NMEA outputs and can be slowed down to APRS
application rates for direct connection to a TNC without the need for a
computer in between.  This card includes the RMC message which contains both
position and course/speed in one NMEA sentence.  Call Jennifer Spitzen at
MOTOROLA, 708 480-5699 and ask for the BASIC ENCORE circuit board.  Here is
what I have learned so far for quantities of 1-99.  Card runs on 12 volts,
has NMEA 0183 output and RTCM-104 (differential correction) standard and comes
with an active patch antenna and cable for $499.  Without antenna is $435,
but unlike the Magellan, this card must have an additional 20 dB gain in front
of it to work with a passive antenna.  The 1 pulse per second timing option is
an additional $100.  The combined Motorola Rcvr/Ant pricing is about equal to
the MAGELLAN card/antenna combination, but it is smaller, and it outputs the
combined RMC message which is more effecient packet wise.  It also outputs
altitudes to 56,000 feet in the GGA message.

CAUTION:  I DO NOT HAVE ONE OF THESE YET.  BUT TOM's WAS ON THE AIR AND WAS
COMPATIBLE WITH APRS.  Oh yes, the full MOTOROLA evaluation kit was $1200
which includes everything you would ever want.  The $499 package does NOT
include the support software and documentation for full control of the card.
But Motorola says we can copy portions of the manual if we can get Tom CLark
or someone else that has the documentation to just tell us the command string
for setting the card into the right mode, then we can develop our own HAM
RADIO documentation and save big bucks.

     An automatic vehicle tracking system can be assembled by simply
connecting the RS-232 output from one of these programmable GPS's directly
into the TNC, setting the periodicity to 1 minute or so and selecting only
the RMC or GGA/VTG sentences to be output.  The TNC must be placed in UNPROTO
CONVERSE, and from then on, every minute a GPS position report will be
transmitted.  The APRS software will decode the raw NMEA position reports
and plot the station on the map!

MAGELLAN CARD OPTIONS:   Since this card was designed for the OEM market,
for the individual purchaser it is a good idea to pay the additional $60 for
their  development kit consisting of some excellent PC software, the
technical manual, a wall power supply, RS-232 cable, Power switch, and short
SMB to TNC adapter cable.  Then all you need is an antenna.  They sell a $130
external "egg" antenna with built-in LNA for operation through either 18 or
25 feet of cable.  This antenna cable is terminated with a TNC connector, and
that is why the development kit includes the SMB/TNC pigtail.  OR you can
purchase their $60 passive antenna which has its own 6 inch SMB pigtail for
direct connection to the circuit board.  This antenna is a 1x1x3 inch weather
proof antenna like you see on their handheld GPS units.  Using this antenna
obviates the need for the SMB/TNC pigtail ($25 separately if you dont get the
development kit) if you really want to be cheap.  Since the circuit card
has no display, it can actually be mounted in a weather proof container right
at the antenna.  Only 12 volts and RS-232 need to come down inside your
vehicle.  Their $60 passive antenna is quadrifilar helix antenna with true
hemispherical coverage, but a 1.8 inch ground plane antenna is only 3 dB worse
if you are not interested in good 3D altitude fixes.  Overhead satellites are
not used for 2D fixes, but are used for 3D fixes.  I leave my card on 2D all
the time since 3D requires 4 vice 3 satellites, and the 2D fix is not as good
while running 3D.  Also, altitude is measured against DATUM which is not
necessarily Sea Level.  So I conclude that the altitude figure is of little
value.  The MAGELLAN cannot output an altitude above 999 meters except in a
propriatery NMEA sentence which I have not yet included in APRS.

GPS ENGINE SET UP:  Follow all MAGELLAN instructions for initializing your
GPS engine using your PC and their NAV program.  After the system is running
and producing fixes, send commands to turn off all outputs one at a time and
change the periodicity for the position and velocity reports from once a
second to a slower rate as shown below.  An alternate startup procedure is to
simply apply power, attach an antenna, and wait for ten minutes or so.  The
GPS will automatically aquire satellites and be operational without any
external initialization after being exposed to full sky.  Using this method,
there will be no outputs until you send the GPS card the following commands
to set up the reporting rates for position and velocity.  These commands may
be sent from any dumb terminal as follows:

$PMGLI,00,B00,7,A  (for GGA GPS position only)       Where 6 = 30 Secs
$PMGLI,00,B01,7,A  (for GLL LORAN position only)           7 = 1 Minute
$PMGLI,00,EOO,7,A  (for course and speed with either)      8 = 2 Minutes
                                                           9 = 5 minutes

     Each line must end with a carriage return-linefeed.  The GPS engine
gives no responses to commands, other than doing what it is commanded.  You
might try a value of 5 which is once every 10 seconds as a test to be sure
the GPS card is recognizing your commands.

BATTERY BACKUP:  Be sure to add the battery back up supply so that the card
can be turned off without having to re-initialize every time.  I use a simple
9 volt battery, diode isolated from the main supply rather than bothering
with the special 3.6 volt lithium memory cell suggested.  The GPS card has a
12 volt input and a separate ON/OFF line.  With the diode isolation of the 9
volt battery, the on/of line detects the loss of the 12 volt supply, and
powers down the GPS engine.  Current drain drops to microamps, and the 9 volt
supply through the regulator keeps all memory backed up.  An Alkaline battery
lasts about 6 months with the GPS off 99% of the time; longer if the GPS is
powered up longer.  I chose this route, becaues I could not find a cheap 3.6
volt (not just 3 volt) lithium cell for direct connection to the battery
backup pin.

TNC SETUP DETAILS:  Unfortunately the simple direct connection from the
MAGELLAN GPS card to the TNC is slightly more complicated because they do not
output the RMC sentence which contains both position AND course/speed in one
line.  To see Course and Speed from a MAGELLAN or a LORAN, you must enable
both GGA (or GLL) and the VTG sentence.  These two sentences are separated a
few milliseconds and force the TNC to generate two packets, one right after
the other.  This is a problem if a digipeater path is used, because the
digipeater will begin digipeating the first position fix packet and cover up
the trailing velocity packet.  To solve this problem, since most applications
require a digipeater path for longer ranges, the sending TNC needs to be
instructed to send packets not on receipt of every carriage return, but on a
timing function.  Set CPACTIME ON and change the SENDPACK character from $0D
to anything else (say $01).  This way, both the position fix and velocity
lines will be sent together in the same packet one second after the last
character is received from the GPS.  This packet, containing two frames, will
then be digipeated all together by the digipeater with no break in between.
If you use the Motorola which inplements the RMC sentence, this double packet
problem does not exist. (Even if you also turn on GGA so that you can get
altitude for a balloon, the problem is not significant, since you will not
need a digipeater for a balloon!).

LINEFEEDS and FLOW CONTROL:  Since the GPS is sending each line with a CR/LF
on the end, your TNC will always end up placing the superfluous linefeed at
the beginnning of the next packet.  To defeat linefeeds, set LFIGNORE on.
(for the non-standard TNC products, try the Linefeed Supress, LFS ON)
Similarly, your terminal program must send CR-LF on each command to the GPS
card.  When you try to talk to your TNC with CR-LF, you will experience a
lockup condition since the extra LF will look to the TNC like the beginning
of a new command line and will hold off all TNC output.  To overcome  this
problem, set FLOW OFF.  Here are the commands which must be changed from
factory defaults for most TAPR-2 TNC's:

  ECHO OFF,  FLOW OFF,  LFIGNORE ON,  CPACTIME ON, SENDPAC $01

(Remember that you have SENDPAC set to $01, and change it back to $0d for
normal packet operations!   I was pulling my hair out while driving through
Knoxville and trying to connect to the local node.  It would ignore all of my
node commands as if I was personna-non-grata!  I finally realized it didn't
like the $01's being imbedded in my packets!)

UNPROTO-CONVERSE-MODE:   And now for the last problem; keeping the TNC in
converse mode.  TNC's always default to command mode when turned on.  Until
the manufacturers put an UNSTART command in their TNC to cause it to power up
in Unproto-Converse, you must either keep the TNC permanently turned on after
setting converse mode, carry along a terminal to issue the CONV command, or
try to make a firmware patch to the TNC code.  Transparent mode could be
used, but the monitor function does not work in transparent mode and the TNC
can not then be used for receiving APRS packets.  Fortunately, Howie
Goldstein who wrote the original TAPR-2 code, identified a software patch to
the DRSI version of the ROM that will power up in UNPROTO converse.  This ROM
should work in most TAPR-2 clones.  I have used it in the MFJ-1274, and it
should easily work in the PACCOM Tiny-2.  I have asked DRSI to make this ROM
available to amateurs at a nominal cost.  Their price is $27.  This ROM does
not preclude any other TNC functions.  If you hit ctrl-c you get instantly
to command mode for normal operations.

DUMB TERMINAL SETUP:  So I can see the command that I am typing into the GPS
card, I configure my terminal device as half duplex.  The GPS also needs the
CR/LF sequence at the end of each command, so I set the terminal to translate
CR to the CR/LF sequence.  In order to use the same terminal with the TNC,
then, that is why I turn ECHO and FLOW off in the TNC.  My GPS/TNC box has
one DB-9 serial connector and two switches to select whether the terminal is
talking to the GPS or the TNC, and the second switch to enable the data
output from the GPS to go into the TNC after all configuration is complete.

SYMBOLS:  APRS has more than 40 different symbols for packet stations or
objects placed on the map.  Since a simple TNC/GPS tracking combo does not
have the advantage of a PC running APRS to format the APRS position report,
I have made two methods to permit the TNC alone to designate the desired
display symbol.  First, when APRS receives a raw NMEA position report over
the air, it first checks the SSID of the callsign.  If it matches any of the
default SSID's shown belwo it will use that symbol.  Secondly, any of
the APRS symbol designation characters can be placed at the beginning of the
TNC BText surrounded by {} braces.  Once the BText with that symbol is
received, the station will then appear with the proper display symbol.  See
the README.SYM file for details.

    SSID     SYMBOL                    SEE README.SYM for other SYMBOLS
    ----     --------------
    -4       BIKE
    -5       YACHT (sail)
    -6       HELO
    -7       AIRCRAFT
    -8       SHIP (boat)
    -9       CAR
    -10      SPACE
    -11      BALLOON

OPERATION:  With the special UNPROTO start-up ROM, and after initialiation
the other TNC parameters once, all future tracking evolutions are initiated
by simly applying power to the GPS/TNC/Radio.  In over 6 months of daily
operation, I have never had to re-initialize the GPS engine. (The seventh
month the 9 volt battery died!).  Without the special ROM, however, every
tracking evolution requires applying power, turning on a dumb terminal, and
sending the TNC the CONV command.  Then the terminal can be removed or turned
off until the next power up.  If you do not have the UNSTART ROMS, be careful
if you use a battery supply of C or D cells with spring loaded battery
holder!  A bicycle equipped with this system reset the TNC after hitting the
first bump, and there was never time to stop and reset the TNC until the race
was over.  This shows the problem of the TNC not having a power up CONVERSE
mode in it!

We have assembled a nmumber of these GPS/PACKET tracking devices.  In fact,
the 7 inch by 3 inch MAGELLAN card fits nicely against the inside cover of
the MFJ 1270 or 1274 TNC.  The only evidence that the TNC is GPS equipped is
the kludge on the backpanel to hold the GPS antenna connector and the
presence of the two switches added to the front panel to select whether the
external terminal device is talking to the GPS or TNC, and to enable or
disable GPS packet reporting.  Other smaller packages have been made using
the PACCOM and DRSI TNC's and the TTL only model of the MAGELLAN GPS card
which is only about 5 inches by 3 inches.  I shy away from this card for the
casual experimenter because of the absence of any data or power supply
buffering.  One wiring error or static charge and you have blown a $395 card!

The $445 model with onboard 12 volt regulators and RS-232 buffers is much
more forgiving.  MOST OF THIS TEXT AND THE HOOK-UP SCHEMATICS WERE PUBLISHED
IN THE FEB 94 ISSUE OF QEX.


CONCLUSION:  With the cost of the new MAGELLAN and Motorola GPS cards falling
below $299 this spring (94) and the size approaching a match box, there is
every reason to begin considering GPS applications in Amateur Radio.  At your
next club budget meeting, instead of throwing another $400 at the repeater
monster, buy the components to build a GPS/TNC tracking device in to a cigar
box size package.  Then at all future public service events, you have a
package with whip antenna on top that can be duck-taped to the top of any
vehicle for automatic vehicle tracking.  Let your imagination roam!


OTHER EXPERTS OR APRS USERS THAT HAVE GPS INTERFACES RUNNING:

WB4APR Bob Bruninga. Annapolis. Built 4 GPS/TNC devices and 22 SATNAV/TRANSIT
W3IWI  Tom Clark. AMSAT GURU working on GPS for Satellites. Uses Motorola
N3MNT  Bob Boltz. Annapolis MD. Has MAGELLAN GPS/TNC mobile
W8RIK  Joe Hussy. Columbus OH is GPS/TNC mobile
N6JSX  Dale Kubicheck Works at MAGELLAN! San Dimas, CA
W1BEL  Gwyn Reedy. Tampa. PACCOM makes commercial TNC/GPS automatic combo
W9LZQ  Kent Helman, Onalaska WI. Built GPS-TNC interface & Did map of WI!
W1KRU  Jim Warakouis. WestRoxbury MA. Built GPS-TNC interface
WB6LPG Bill Bliss. HalfMoonBay CA. Has LORAN (and now GPS mobile)
N5SSY  Ross Mocklin.  NewOrelans LA. Has MAGELLAN cards on order...
KD1E   John Moore. GPS mobile at GM Proving Ground. @ N8NNN.#SEMI.MI
...
A total of 20 APRS/GPS mobiles were tracked in-and-around DAYTON, 1994!




DIFFERENTIAL CORRECTION

Tom Clark (W3IWI) has installed a Differential GPS xmtr in the Wash DC area
transmitting 30 second DGPS data on the APRS freq.  APRS GPS mobiles can now
obtain accuracies to 5 meters or so.  We are pleased to report that the RTCM-
104 format works perfectly well with APRS and with TNC's:

*  The GPS rcvrs seem to ignore the packet headers and act on the RTCM data
*  The RTCM gybrish is all printable ASCII and does not garble APRS screens

Although this is an excellent demonstration and there are surely HAM
applications that can take advantage of the DGPS accuracy, APRS is probably
not one of them.  First, APRS is not concerned with NAVIGATION accuracy,
because  a) no maps are that accurate (with DGPS you can make 'em so!), and
b) the purpose of APRS is to inform others of mobile locations over a wide VHF
area, NOT to the nearest 15 feet.  (APRS formats do maintain positions to 60
foot precision)  Secondly, A mature APRS net involved in a special event or
activity, can probably NOT handle the QRM from 30 second RTCM transmissions.
In the long term, the DGPS data should probably be transmitted MORE OFTEN and
on another frequency, OR be remotely controlled such that it can be requested
by a mobile user on demand, but silenced most of the time.  Transmitting less
often is meaningless due to latency of the data.  The only application of DGPS
that I can think of is to keep track of golfcarts at a hamfest, and be able
to see who's booth they are at.  I will probably incorporate a ?RTCM? format
in APRS to permit stations to request DGPS data.

I am not negative about this at all, I am only pointing out that there is NO
need for you to feel that you need to rush out and implement a DGPS system
in your area for APRS.

DGPS TRANSMITTER SET UP:  Set your TNC to transmit TO DGPS instead of the
usual TO APRS and set up whatever UNPROTO path is desired to cover the area.
Then enter the location of the DGPS transmitter into the TNC BText in the
usual format making sure to use the special (.) symbol in the symbol field:

  BT !3859.11N/07629.11W.RTCM transmitter operated by TOM W3IWI...

The symbol designation character is the period (.) following the W for WEST.
All after that is free text.  APRS will flash a DGPS flag on the screen each
time it hears a DGPS transmission, but will not add the station to the L or
P-Lists unless it also sees the (.) symbol in the position report.  Set your
beacon to every half hour or so.  Finally, set your TNC into CONVERSE and
tell your RTCM-104 DGPS receiver to output once every 30 seconds.

See the new HSP mode schematic above where I added the interface wire between
your TNC and GPS for automatic DGPS operations.

CONFIGURING FOR DGPS:  There are two options for routing the DGPS data from
your TNC to your GPS unit:  1) For ANY arrangement: run an external wire from
your TNC RXD data output over to your GPS DGPS data input.  2) For dual port
operations only:  connect your GPS DGPS input to the PC serial port TXD line
and select DGPS from the SETUP menu in order to enable DGPS data output from
APRS.  NOTE that there was a bug in APRS, and this did not work until 5.00.
CAUTION:  This will not work if you are operating in the SPM or HSP modes or
if you are using the same serial port TXD output as a source of -V bias for
the NMEA conversion as suggested in the above paragraphs.

