                  AUTOMATIC PACKET REPORTING SYSTEM (APRS)

     APRS is the result of my experience over the last 14 years with trying
to use packet radio for real-time communications or public service events.
Packet radio has great potential but so far has been best used for passing
large volumes of message traffic from point to point or into the national
distribution system.  It has been difficult to apply packet to real time
events where information has a very short life time.  Typically, several
steps are involved in preparing and passing message traffic including
decisions about routing and connectivity.

     APRS avoids the complexity and limitations of trying to maintain a
connected network.  It permits any number of stations to participate and
exchanges data just like voice users would on a single voice net.  Any
station that has information to contribute simply transmits it, and all
stations receive it and log it.  Secondly, APRS recognizes that one of the
greatest real-time needs at any special event or emergency is the tracking of
key assets.  Where is the Event Leader?  Where are the emergency vehicles?
Where's the fire?  Whats the Weather at various points in the County?  Where
are the power lines down?  Where is the flood?  Where is the head of the
parade?  Where are the VIP's?  Where is the mobile ATV camera?  Where are the
mobiles?  Where is the hurricane?  WHERE IS THE DX???
     
     Included on the distribution disk are several README text files on 
specific applications of APRS such as for weather nets, direction finding, 
plotting satellite contacts, and monitoring DX clusters.  APRS accomplishes 
the real-time display of operational traffic via UI frame broadcasts and map 
displays.  There are three major display subsystems and a number of other 
minor displays as follows:

     LATEST BEACONS - This display maintains a list of the latest UI frame
received from each station.  In effect, this is a multi-station one-line
broadcast message system.  Since the lines contain the LATEST time of receipt,
this display shows if a station is still on line within the last few minutes.
In DX cluster mode, it accumulates a list of all users and what was their 
latest command to the cluster.

     POSITIONS - This display maintains a separate list of the positions of
each station.  Each position report can also contain a brief comment.  These
lines show the latest time of receiving a given position report and give an
indication of the latency in the network over unreliable paths such as HF.
They also contain Beam Heading for Direction Finding, and Weather conditions
for weather reporting stations.  In DX mode, this list also contains the 
posits of all DX spots and user-locations heard.

     MAPS - Maps to any scale from .5 miles up to 2000 miles can be
displayed. Stations are instantly displayed when they transmit a properly
formatted position beacon.  Stations with a reported course and speed are
automatically dead-reckoned to their present position.  A complete database
of all the National Weather Service stations is built in.  You can center the
map anywhere in the world.  In DX mode the map defaults to the whole world.

     TRAFFIC -  In addition to the BEACON text which is used to broadcast
information to all other stations on the net, there is an operator-to-operator
message capability.  Any station can send one line messages to any other
station.  On receipt, the messages are acknowledged and displayed on the
bottom of the receiving stations screen until the operator hits the K key to
kill them.  These messages are ideal for station-to-station comms while
remaining within the APRS environment.  However, they are not as effecient as
the connected protocol, and should not be used routinely for Rag-Chewing on
a busy APRS net.  To rapidly exchange text, select the COMM option under the
OPS menu and use your TNC to connect to the guy.

     BULLETINS - This screen is new in version 5.06.  It provides the much 
needed BULLETIN Broadcast capability to keep all stations up to date on 
happenings and announcements.  BULLETINS allow one station to send multiple
lines to the BULLETIN page at ALL stations.  It is simply a variant of the
SEND command noted above, but the send address is BLN# where # is the line
number of the BULLETIN line.  On receipt, all stations sort the new BLN# lines
onto the BULLETIN page so that corrections are replacements are possible.

     READ MAIL - This screen shows the last 23 lines of messages exchanged
by any stations on the net.  Is useful for "READING THE MAIL".  DX mode
TALK traffic also shows up here.

     ALL TRAFFIC LOG - This display is a time sequenced log of every new
beacon or one line message sent.  Beacons are logged the first time they are
received.  This is in contrast to the LATEST display which shows the most
recent time of receipt of a beacon text.  In DX mode, this screen shows a
chronological list of all DX/WX/WWV and ANNOUNCEMENTS heard.

     HEARD LOG - This display maintains a count of the total number of
transmissions from each station per hour.  These statistics are ideal for
displaying the connectivity of the network over varying paths, such as HF, or
to see when stations enter and leave the net.

     DIGIPEATER LIST - This display displays the full raw packet header so that
APRS users can see what digipeater paths are being used by other stations.
The proper use of digipeaters is important in an APRS network.  In DX mode,
this list accumulates a list of all ACTIVE MESSAGES on the DX cluster.

STATION TRACKING.  Although APRS automatically tracks mobile packet stations
interfaced to GPS or LORAN navigation, the graphic capability of the maps works
perfectly well with manual tracking or with GridSquares.  Any station on HF or
VHF that includes his GridSquare in brackets as the first text in his beacon
text will be plotted by APRS.  Additionally, any station can place an
object on his map including himself and within seconds that object appears on
all other station displays. In the example of a parade, as each checkpoint with
packet comes on line, its position is instantly displayed to all in the net.
Whenever a station moves, he just updates his position on his map and that
movement is transmitted to all other stations.  To track other event assets,
only one packet operator needs to monitor voice traffic to hear where things
are.  As he maintains the positions and movements of all assets on his screen,
all other displays running APRS software display the same displays.  With
version 3.04, there is a Tracking command on the P display that will cause APRS
to keep the map display always centered on a seslected object.

GRID SQUARES:  As of version 2.05, APRS now also plots stations by gridsquares.
Since four-digit grid squares only locate a station to the nearest 60 miles
or so, and six-digit gridsquares only specify stations to the nearest 3 miles
or so, APRS will not display stations reported via gridsquares on map ranges
less than 128 and 8 miles respectively.  Stations reported by grid squares
will each be assigned an exact LAT/LON which is offset from the center of the
grid acording to an algorithm based on the letters of their callsigns.  This
prevents all stations in the same grid square from all being displayed on one
spot in the center and spreads them out in the grid.  The resulting POSIT in
the POSITION list is annotated to indicate that the position is approximate.
Another advantage of GridSquare reporting in APRS is that it allows cautious
people to participate in APRS without revealing their exact location.  It is
also very brief.  Six characters vice seventeen. There is a special ALT-G mode 
to force your outgoing posit to be sent in GRID SQUARE format vice LAT/LONG.   
Shortening the packet is an advantage when reporting via MIR or SAREX. 

USING DUMB TERMINALS IN AN APRS NETWORK:  The simplicity and usefulness
of this geographic capability cannot be over stressed.  Stations running APRS
simply move the cursor to where they think they are on the screen and their
LAT/LONG coordinates are automatically transmitted to all other stations.
Even the simplest of portable packet stations with dumb terminals can report
their positions if a pre-printed map is made available to all net
participants which has a LAT/LONG grid reference.  The portable station just
looks at the map and enters his LAT/LONG into his beacon text.  Using the
same map, he can plot with pins the location of all other stations as he sees
their position reports go by.  APRS also plots station positions based on
Grid Squares.  Eventually, we hope that all stations, no matter how they are
using their TNC, will include their LAT/LONG or Grid Square in their Beacon
Text so that their location is immediately available.  See the file README.DUM
for details on APRS formats and help in using dumb terminals in an APRS
network.

SPACE APPLICATIONS:  APRS could be a solution to the effective use of orbiting
terrestrial style packet radio digipeaters in space such as on the Shuttle, MIR,
AO-21 and ARSENE.  The problem with space digipeaters is the saturation on the
uplink channel which makes the use of a normal CONNECTED protocol impractical.
For a CONNECTED contact, a total of five successive and successful packet
transmissions are required.  Not only does APRS reduce this to one packet, but
it also capitalizes on the most fascinating aspect of the amateur radio hobby,
and that is the display on a map of the location of those stations.  If all
stations were encouraged to simply insert their LAT/LONG or Grid Square as the
first characters of their beacon text, everyone within the satellite footprint
would see the location of every successful uplink.  Since the shuttle is a
rapidly moving object, the locations of successful uplink stations will move
progressively along the ground track.  All it would take to implement this
capability is a single AMSAT news bulletin to ask all stations to insert their
POSITS in their beacon text.  No changes onboard the shuttle or MIR would be
required.  See README.SAT for further details.

FOX HUNTING OR DIRECTION FINDING:  APRS is an excellent tool for plotting the
location of a hidden transmitter, balloon, or interfering signal.  APRS will
display the intersection of bearing lines from a number of reporting stations.
To use APRS in this manner, each station having a bearing report on the
direction of the target, simply enters that bearing using the OPS-BeamHeading
command.  His station will then not only report his location, but also a line
of bearing.  All stations running APRS can simply hit the X key to display the
intersection of these bearing lines.  Further, if a DF vehicle has a GPS or
LORAN device on board, he can be tracked and directed right to the location
of the target.  There is an optional  Dopler DF registration for direct
connection of a Roanoke or Doppler Systems DF unit for automatically plotting
and transmitting instantaneous DF bearings.  Please note that APRS uses 360
degrees for North and 000 to indicate that no direction information is
available.  For more DF info, see the README.DF file.

WEATHER STATION REPORTING:  APRS position reports can also include the wind
speed and direction, as well as other important weather conditions.  APRS
supports a serial interface option to the ULTIMETER-II home weather station.
With this interface, your station includes WX conditions in your position
report for display at all other stations in the network.  All weather stations
show up as a bright blue circle, with a line indicating wind speed and
direction.  Remember that APRS uses 360 degrees for North and uses
000 to indicate that no wind direction is available.  Each of these stations
can be highlighted in turn with a single key stroke, so that all WX reports
across the state can be had at a glance.  See README.WX for more information.
APRS also has a database of the locations of all the NWS sites in
the USA for instant display.  APRS can also crunch a file of NWS hourly WX
conditions and update all NWS stations on the map.

DX CLUSTERS:  The positional display and real-time user communications makes
APRS an ideal tool for the DX cluster user.  Not only does he get to see all
DX spots on the map, but by operating in the monitor only mode, he has reduced
the overall packet load on the DX cluster.  This is a benefit to everyone on
the channel.  Also the APRS monitroing station will see the SPOT as soon as
the first station gets it, rather than later on down the list.

PROTOCOL - Since the objective of APRS is the rapid dissemination of real-time
information using packet UI frames, a fundamental precept is that old
information is less important than new information.  All beacons, position
reports, messages and display graphics are redundantly transmitted but at a
longer and longer repition rate.  Each new beacon is transmitted immediately,
then 20 seconds later.  After every transmission, the period is doubled.  After
ten minutes only six packets have been transmitted.  After an hour this results
in only 3 more beacons; and only 3 more for the rest of the day!  All trans-
missions can be turned off using one of the CONTROLS commands.  But a transmis-
sion can be forced at any time by hitting the X key.  For details on the APRS raw packet
formats see the README.DUM file.  The maximum period can be set so that 
packets are repeated no less often than some maximum period.  See README.CAP.

COMMANDS:   In most cases the keyboard is always active.  There is a mneumonic
relationship between all functions and the appropriate key.  For this reason,
the PC function keys are avoided.  (APRS processing of packets on the air is
continuous EXCEPT while waiting for the user response to a prompt.  These
prompts are surrounded with a blue box).  Commands fall in to 3 categories:

SCREENS:

  Space Key           - Display map and all station locations
  L - Latest beacons  - Displays the latest STATUS BEACON from each station
  P - Positions       - Displays a list of all stations reporting positions
  A - ALL packet log  - Keeps a chronological log of all beacons and messages
  B - BULLETINS       - Keeps a list of all BULLETINS heard 
  R - Read Mail       - Displays the last 23 lines of messages between stns
  D - Digis Used      - Displays the digipeater paths being used by others
  H - Heard Log       - Displays packets per hour per station for 24 hours
  V - VIEW            - Displays all packets on a scrolling screen

SUB-MENUS:

  F1- Help            - Select from a MENU of HELP commands
  C - Controls        - Display a one line status of all control states
  F - FILES Menu      - For Loading/Saving files, or Replaying tracks
  I - Input Position  - Several ways to add OBJects to the maps
  O - OPERATIONS      - Several commands for normal operations
  M - MAP Functions   - Functions dealing with maps
  W - Weather Menu    - Displays the number of beacons per hour per station

TRAFFIC:

  T - Traffic         - Displays your incomming and outgoing traffic
  S - Send            - Sends traffic to a station
  E - Erase           - Erases outgoing traffic lines
  K - Kill            - Kills incomming traffic lines


DEMONSTRATION FILE:  To see how the APRS system works on our frequency, use
FILES-LOAD to load the file called FREQ579.BK.  This file contains all the
local stations on 145.79 MHz in our area.  To see the tracking of the GPS
equiped Army/Navy game football run, load the file named FBALL.BK and replay
the file named FBALL.HST and select to see only FBALL, or CHASE1.  To see the
Marine Corps marathon event, load MARATHON.BK and replay the MARTHON.HST file.
See Details in README.1st.

HOOKING STATIONS:  The yellow circular cursor can be moved to select any
station in the system using the arrow keys.  On the MAP display move the
cursor near any station symbol.  Then hit the RETURN key to "hook" the
station.  Detail information on that station will be displayed at the bottom
of the screen.  Alternatively, use the + and - keys to step through
each station one by one.  You may also use the cursor on the P or L-list to
hook a station or object.  Once hooked, several functions may be performed:

     1.  ALL BEACONS - hitting the A key will list all beacons from that
     station currently in memory.

     2.  MOVE - performed by moving the cursor to the desired new location
     and pressing the Insert key.  You are then prompted to enter in a new
     course, speed, comments or time as needed.

     3.  DELETE - performed by hitting the D key.  Removes the station
     from the position file.

     4.  UPLINK - transmit the object to all other stations on the net

     5.  QUIT - quit uplinking the object to the net.

     6.  KILL - kill the object from all displays in the network

     7.  ALARM - you can set an alarm on a station which will alert you if that
     station ever moves its position.

     8.  TRACK - will cause APRS to always center display on selected station

     9.  #MARK - By marking a station with the # symbol, only that station
     will be shown when # is used instead of SPACE BAR for drawing a map.
     If the * key is pressed, all symbols will be shown on the map, but only
     the marked symbols (#) will show callsigns.

The hook function also works on the LATEST and POSITION display lists by
using the up/down arrow keys.  If a position exists, hitting the SHOW key
will display the map screen with that station centered on the display.  
This is useful for finding a station which is far off the currently
displayed map range.  If a position does not exist, you are given the
opportunity to create one.

REPLAY:  Since all beacons and position reports are retained, the positions of
any moving station can be replayed either from memory or from a file.  Tracks
are kept in on-line memory until 150 have been saved, and then are saved to
a HISTORY file.  During REPLAY, use the C command to toggle on and off the
display of callsigns, and use the HOME and page keys to center and zoom
the map display if the mobile station moves off the screen.  During replay,
use these single key commands:

      C    - CALLsigns on/off
      HOME - Homes map to presently displayed station
      F    - Faster.  Speeds up playback
      P    - Pause
      S    - Slow.  Slows down playback
      Q    - Quit playback.
      PgUp/PgDn - Zoom in and out


FILES:  All APRS files are retained in four different sub-directories of
        BAKS, LOGS, HSTS, and README.  There are several other files used
        by the system:

  MAPLIST .map - Contains a list of all map files to be used and also the
                 default LAT/LONG, Range and GMT offset for your location
  BACKUP  .BK  - Automatic backup of system every time program is quit.  This
                 file is overwritten every time the program is quit.  It can
                 be reloaded by simply indicating the letter B for a filename.
  RESTORE.TNC  - A list of the TNC commands used to restore your TNC after
                 quitting APRS.
  NWSDATA.DAT  - A sample file used to load National Weather Service data
  NWSPOSNS.DAT - A file of the locations of all NWS sites
  CAPGRIDS.DAT - A file of the Civil Air Patrol Sectional Aeronautical charts
  DXCALLS.DAT  - Callsign prefix-to-LAT/LONG database for DX spots


CHESSBOARD:  To demonstrate the flexibility of APRS in reporting the movement
of objects on screens in a net, I have drawn a chessboard map in the center
of the Gulf of Mexico.  Any two stations can play chess easily using APRS by
placing pieces on the map using the INPUT-ADD command and updating their
positions using the cursor and INSert keys!  The full 32 pieces are already
loaded and saved in CHESS.BK.  To move a piece, first enable it for uplinking
using the U key on the P-list.  Then move the cursor and hit the INSert key.
So once the other station sees your move, it is a good idea to Quit the
uplinking of that piece using the Q key on the P-list to minimize
channel traffic.  Monitoring stations that have also zoomed into the chessboard
will see the game progress too!  You should consider going to an unused
frequency so as not to clutter an active APRS net, however.

