           
           ***************************************** 
           *****************************************
           **                                     ** 
           **                                     ** 
           **              GPS-LOG                ** 
           **                                     ** 
           **                                     **
           *****************************************
           *****************************************


*******************************************************************
If you are upgrading from version 1.9 or lower make certain to read
the READ-UPG.TXT file.
*******************************************************************

The GPS-LOG program has been developed with a non-competitive glider
pilot in mind, but can be used in any situation that GPS position
data are available for logging. Current position, speed, track on
ground, distance and course to a waypoint destination as well as
needed altitude are displayed in real time. A "moving map" display
shows the path travelled as well as waypoints created in flight
overlayed on a pregenerated map. A zoomed diplay mode designed for
thermalling is usefull for centering thermals, observing drift and
estimating wind aloft. Wind can be also obtained from straight flight
data. Needed altitude can be corrected for winds and glider polar. 

The associated VIEW-MAP program is used to preview the maps one
generates, and to display the path flown. The programs are designed
to run on any DOS machine with a CGA (or better) display, but
have been specifically designed for HP100LX palmtop computer. 

My understanding is that this program was also run on a Zeos computer
with satisfactory graphics performance, and on HP95LX in the text
only mode. This was however at very early stages of program
development and things may have changed since (program size, graphics
initiation).

DISCLAIMER AND AGREEMENT:

Users of GPS_LOG and associated software must accept this disclaimer
of warranty. If you do not accept this disclaimer, do not use
GPS_LOG.

"GPS_LOG IS SUPPLIED AS IS. THE AUTHOR DISCLAIMS ALL WARRANTIES,
EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES
OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE AUTHOR ASSUMES
NO LIABILITY FOR DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT
FROM THE USE OF GPS_LOG AND ASSOCIATED SOFTWARE, EVEN IF THE AUTHOR
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES."

This applies especially to any features of the program where
estimates of factors that affect flight safety (like wind and
required altitude estimates) are concerned. Such features are highly
inaccurate and subject to many errors both human and instrumental.

GPS_LOG and associated software can be freely distributed
and shared with others as long as no charges of any kind are made.

The programs in this package are free, but not in the public domain.
(C) COPYRIGHT 1996,1997,1998 Henryk Birecki, All rights reserved.

CONTACT:
for sending comments, requests, bug reports :

e-mail : birecki@hpl.hp.com


FILES:

GPS_LOG.EXE    -  inflight logging and display program.
VIEW_MAP.EXE   -  view and preview maps. 
GPS_LOG.LGO    -  Binary display file used for program initiation

GPS_LOG.MXP    -  Binary map file used for program initiation. This
                  file can be customized by the user by renaming any
                  of theMXP files (see below) to this name.

GPS_MAP.SMB    -  set of symbols for map generation and a cursor.
                  This file can be supplied externally, or either
                  program will build a default one. If you want
                  something different - contact me.
GPS_DEF.SMB    -  default set of symbols for map generation and a
                  cursor.
                  This file would be generated as GPS_MAP.SMB if
                  GPS_MAP.SMB did not exist.
WAYPOINT.DTA   -  ASCII file containing set of waypoints that can
                  be selected for destination by the GPS_LOG user.
                  In-flight generated waypoints are appended to this
                  file, so you should keep a clean backup copy handy.
xxxyyyzz.MAP   -  ASCII files containing map information. The
                  extension must be MAP. These files are modified by
                  the program if you add waypoints in flight. 
xxxyyyzz.MXP   -  binary files containing map images. The
                  extension must be MXP.
abcdefgh.PLR   -  file containing polar data for your glider.You have 
                  to create your own. The one distributed here is
                  valid	for a DG100 at 30kg/m2 loading.
GPS_LOG.ICN    -  an icon file for the HP100LX Applications
                  Manager.
DEMO_GPS.EXE   -  a useless program other than to show you how the
                  movingmap display looks in action. You need to
                  answer a couple of standard start-up questions
                  before the map shows up, press F5 and select
                  FIRSTMAP.MAP, cursor starts moving, map moves a
                  couple of times before it runs out of range, then
                  press Alt-Q to exit the program.
GPS_LOG.INI    -  if not present this file is generated when you quit
                  the program. (see below)
GPS_IGRF       -  file containing geomagnetic model parameters.
****.ZIP       -  a couple of sticky key utilities you might find
                  useful. They are not my software and I take no
                  responsibilty for them. Personally I am using the
                  stay100 from autoexec.bat.
ALLSYMBL.MAP   -  a map you can load to see the symbols. Note that 
                  symbol # 8 defaults to symbol # 1 because there are
                  only seven symbols in the GPS_MAP.SMB file. The
                  other symbols are created dynamically when you
                  "drop" a waypoint (see below).

All the above files have to be in the same directory. 

The file for logging navigational data can be placed anywhere you
like, but keep the pathname to less than 49 characters. Logging can
be disabled if you enter "*" as the first character of the name. At
this point the name "igc" is reserved (I may implement IGC data
storage format in the future)


GPS_LOG AND the HP100LX:
=========================

It is strongly recommended that on the HP100LX you run the GPS_LOG
program from the application manager, and that you put an inverted
exclamation point(this can be entered by pressing[Fn][Filer]) in it's
COMMENT line. When this option is active it prevents you from task
switching from the DOS application. If you do it accidentally, you
lose your serial port connection and the log file (go complain to
HP). You should also expand your text display by using Fn-ZOOM to get
largest possible characters for the text display. You can also run 
the program in the native DOS of the HP100LX (see the "Terminate All"
mode in the manual). You will get best program performance in that 
mode. The typical path line in the application manager should look 
somewhat as follows:

a:\glider\gps_log.exe |300

where "a:\glider" is your particular directory, and "|300" assigns 
300 kB of memory to the program. All testing on the HP100LX was done
under such conditions. 

It is also recommended that you use one of the public domain sticky
key utilities that make the [Alt] and [Ctrl] keys behave like the 
[Shift] key, so that you do not need to press two keys simultaneously.
Two of such utilities are distributed as zipped packages under the
file names of FIXKHP10.ZIP, and STAY.ZIP. They are typically available
on sites that distribute palmtop software.

I also observed that HP100LX (I do not know about the 200LX) 
can get into a state which causes "Internal stack overload" if data 
are coming in from the GPS without being handled. This has nothing to
do with this program and can happen whether you run GPS_LOG or not 
(even while rebooting the computer). I always connect the GPS unit  
after I answered all the initial questions asked by the program and 
turn it off before exiting the program.

Running GPS_LOG 
=========================

The GPS-LOG.EXE uses COM1: to connect to the GPS. It connects at the
standard 4800 baud. These parameters can be preset by editing the INI
file. It accepts four kinds of standard NMEA sentences RMC, GLL, GGA
and VTG, and the Garmin proprietary RMZ sentence. You can switch
between RMC, GLL-VTG, and GGA-VTG combinations from within the
program. 

I developed this program with a Magellan Meridian GPS and I know it
works with it. I know it also works with Garmin 12XL. If you have
problems with a different kind of a GPS unit please set the program
to record all sentences in it's raw form (answer NO to the first
question it asks you after you name the logging file) and send me the
resulting log file. I'll try to get it working for you.

If you see asterixes "*" in the displayed data it means that the data
is outdated (either GPS unit sent you data with time not updated, or
it has been a "long" time since it sent any position data at all)

This program is somewhat experimental, and not all the bugs may have
been completely worked out. Some of its features are more of debugging
tools than something really useful. At any time you can press key F1
to get a complete list of meaningful keys and their functions. The
help screen looks as follows
 
    Alt+Q to quit         Dest. list   F2
  Dest. file     AltF2    Now->dest.   F3
  Dest toggles  +=0._-    Where to  AltF3
  Landing sites    F4     Dest. on/off F7
  Wind correct.   F10     Set polar    F9
  x-wind (cmpss) Alt-H    (dest.)   Alt-W
  Rst.drift      Alt-B    Deviation Alt-D
  NMEA toggle    AltF6    Get a map    F5
  Toggle zoom   AltF10    Re-track  AltF7
  Toggle graphics  F8     Map trhld Alt-R
  Expand map     Alt-+    Contract  Alt-*
  Center map     Alt-C    Save map  Alt-S
  Zero time      Alt-M    Time zone Alt-Z
  Toggle units   Alt-U    Cmp.speed Alt-O
  Log comment    Alt-T    Save freq Alt-F
  
If you chose the help to be displayed in two screens you will also
see:
  Speed algort.  Alt-P  ,  Data sets Alt-G  , File Re-track  ShftF7
  Info Page      Alt-I
  
There is also an "undocumented" feature for on the ground "what-if" 
testing at Alt-F1. It allows you to define current position. A bit
clumsy, but may be very instructive particularly if used in
conjunction with Alt-F3 which defines destination (or F2).

Alt-F6 toggles between RMC, GLL-VTG, and GGA-VTG recognition.

Alt-G is used as an efficiency optimization tool for VTG-GLL decode
recognition. the value of 4 (default) works well for Meridian. Value
of 1 ought to work for every unit.

Alt-F controls how often data are logged to file. Should you enter 5,
then every 5th NMEA datum is logged to file.

Alt-Z is used to specify local time offset. It is better to set it 
in the INI file, as a change while the program is running will 
result in incorrect elapsed time, and a shift in the logged times.
If the local time offset is 0, "UTC" is displayed in the time 
string. Otherwise, "LCL" is shown.

Alt-M resets the stopwatch.

Alt-U toggles display units. You have an option of the following unit
pairs: (knots, miles) (miles per hour, miles) and (kilometers per
hour, kilometers)

Alt-D allows you to enter magnetic deviation. The program computes 
deviation using a public domain geomagnetic model which should be
good enough for most applications. In a few years you may want to
change the geomagnetic model parameters file from a National
Geophysical Data Center Server. The file should contain only one
model. Once you enter deviation, the computation is disabled.You can
reanable computation by entering 999 for the deviation. You can also
enter -999 to allow the PC to get its information from the GPS if you
use one that computes deviation.

Alt-T is used to add comments to the log file. It will appear in
the file as: REM,"your comment". The parantheses are there to allow 
for comma delimited spreadsheet format to work. Comments can be up 
to 70 characters long. They are inhibited if you yse the IGC or
Chicago Map format for saving data.

GRAPHICS
=========

F8 will get you to a graphics display, but you have to first get a
map using key F5. That one will open you a screen that lists *.MAP
files which you can load (see about the MAP format in another
section) the files are sorted (see below), and you can get up to 20
files pers election page. You navigate on the page by pressing the
arrow keys. Once you reached a file you want, press enter. If you
want a next page - press "N", press "B" to go back to the beginning.
Press "Esc" or "q" to cancel. If you cancel, you will get a blank map 
with your location in the center, but you will have to tell the 
computer what is the span of the map supposed to be ( from the center
of a map to its edge). This can only happen after the first GPS
position had been acquired. A special map file called !!!!!!!!.MAP is
then created with a first circle radius of 20 km. The map is centred
about the current position and can be used as any other map file. It
is however created every time anew if you cancel map selection. The
!!!!!!!!.MAP will appear at the end of the sorted list if you created
after you run the program, and at the beginning if it existed
beforehand. A temporary file called !!GPS!!#.$#$ is created for map
sorting purposes. The program erases it after map selection is done.
Maps can be renamed (you cannot lengthen a name) from the selection
window by highlighting a name and pressing Alt-R. The primary reason
for this feature is to be able to save the !!!!!!!!. Map file before
it is overwritten. When you rename a file the sorting order is lost
(for that file only).

In it's graphic mode the program displays path flown, and a blinking
cursor at the current position on the user defined map. As current
position approaches an edge of the map, the map jumps to bring the
cursor to the center of the screen. As it jumps, you lose some of the
previous path information (it can be retrieved with the Shift-F7 key
if you are logging data, or with Alt-F7 from the track cache if it
holds enough). You can change the threshold for the map jump using
<Alt-R>. The larger the threshold value the closer to the center of
the map jumps occur. Threshold value needs to be in the 0.1-0.48
range.

Alt-C centers the map around current position.

Once a map is displayed Alt+ and Alt* will let you expand and
contract the image by a factor stored in the ini file (default is
1.6). The displayed track image is lost (but not the waypoints), and
the map is recentered. If you have commands to load binary map files
in your *.MAP file  you will get nonsense when you try to rescale.
The default rescale factor is 1.6 and can be modified only by editing
the GPS_LOG.INI file. You can retrieve track information from data
that were logged by pressing Alt-F7 (from cache) or Shift-F7 (from
file). Recall from cache retrieves last recorded track points first. 
Recall from file retrieves the track starting at the beginning of the 
flight. After a long flight it takes time to do this update on a slow
PC like the 100LX. Because of that, recall from cache is stopped if 
any key is pressed.   Retrieve from file is not interruptable. You 
can also modify the INI file so that the track information stored in
cache is automatically redisplayed after each map re-scale operation.

Alt-S saves the current map display in a binary form. This is
designed for saving a flight for future viewing by the View-map
program.

WAYPOINTS
============

Selection of the destination waypoint (F2) is done the same way as
selection of the map except that pressing "B" moves you back only one
page. The waypoints are not sorted, but if the waypoint file is
sorted, they appear to be. Selecting a Waypoint also turns on the "to
destination" data display. The name of the highlighted waypoint can
be edited while the program is running by pressing Alt+R. You cannot
lengthen the name by editing it. You can "shorten" it; the rest of
the name is filled with spaces. There is a limit of 1000 waypoints
that will be available for selection. There can be more in a file,
but they will be ignored (that includes the waypoints "dropped" by
pressing F3).

You can change the file containing the waypoints by pressing Alt-F2.

Program remembers up to five (settable in INI file) destinations that
you selected using key F2. Once you select three destinations the
newly selected one replaces the old one. You can toggle between them
by using keys "0" (zero), ".", "-", "_", "=" and "+". The first four
move you back, the latter move you forward.

Pressing F3 selects the current position to be a destination
waypoint, and adds it to the waypoint file with a name "waypoint
x" where x is a consecutive number. Waypoint is also marked on the
map using a small square with a digit or a letter, and a
corresponding symbol is saved to the map file.  You should edit the
waypoint file at a later time to name the waypoint and provide the
altitude. You should also edit the map file.  Pressing F3 also turns
on the "to destination" data display. You can set a parameter in the
INI file which will cause the program to record the "dropped"
waypoint, but not make it into a destination.

Alt-F3 can be used to define the destination waypoint from the
keyboard. The program asks for the name coordinates, and altitude of
the destination. If you enter the '*' character as the last character
of the name that destination will be saved to waypoint file. Since
this feature requires attention and many keystrokes it should not be
used in flight. It is provided as a way to enter data to a waypoint
file and for "emergency" in-flight use. It is also usefull on the
ground in conjunction with Alt-F1 which allows for current position
definition.

F7 toggles destination display on/off.

LANDOUT SITES and NEEDED ALTITUDES
===================================

F4 works like F2, but will give you only the few closest landout 
sites  (distance, course and field elevation data are displayed
during selection). You must have acquired the first position data
point for  this key to become active, and you must have marked the
landout sites in the Waypoint.dta file (or another one that you are
using) with "^" to get any.

F9 allows you to select a polar curve to use for altitude
computation. If a data file is not available you will be asked for a
default glide ratio to use in calculations. You can also change this
default in the INI file. The data are fit to the equation: 

     v_sink = a + b* speed^2 + c * speed^4

and the glide ratio is derived from this. There is no guarantee that
your glider's polar obeys the above equation, though it ought to be a
reasonable approximation. For safety's sake I suggest you build some
reasonable air sink speed into the polar data. Otherwise you will
probably be getting estimates for altitude that are overly
optimistic.

As the last step in selection of the polar you are asked if you want
to use altitude corrected speed for calculations. If you set the speed 
computation algorithm to "-2" then that speed is displayed when you 
display computed speed. In graphic mode it is denoted by "P" following 
the number.	This speed is wind dependent (if you correct for wind), 
so it may be bigger or smaller than you'd expect from just correcting 
the GPS reported speed for altitude effects. If everything were 
perfect this would be the speed that your speedometer shows.

F10 toggles wind corrections for the calculation of estimate of the
altitude needed to reach destination. You know when the correction is 
active because the destination data start with "To>" instead of "To:"
and because the course will be displayed as (.e.g) "34L" (meaning
turn 34 degrees left) rather than "168m" meaning magnetic course of
168 degrees. 

COMPUTED SPEEDS and their DISPLAY
=================================

Alt-O toggles between altitude and  computed speed display. Some GPS
units do not output speed above certain value (Meridian stops at 99.9
for the RMC sentences, but keeps going for GLL-VTG combination), so a
computed value may be displayed. For now, only the GPS provided speed
is used for any computations.

Alt-P asks what weighting factors to use for averaging (algorithm),
and how many past positions to use for computed speed determination.
This affects the averaging response time. In general the speed
computation is not too accurate, mainly due to GPS position
fluctuations and time measurement inaccuracies, but then the speed
that comes from some GPS units may not be any better. In this mode
computed speed is followed by "c" in graphic display.

If you set the algorithm to "-1" then speed computation will attempt 
to compute indicated airspeed based on true ground speed and altitude 
reported by the GPS. In the graphic display this mode is indicated by
"I" following the computed value. This should be the speed your 
speedometer would show in absence of wind.

If you set the algorithm to "-2" then speed computation show the 
last speed used in needed altitude computations. If you allow 
altitude correction for that speed and use wind correction than this
should show the same speed as your speedometer in perfect situation.
In the graphic display this mode is indicated by "P" following the 
computed value. If polar values are not calculated because you do not
request them, or you do not display destination data, then the 
program reverts temporarily to the "-1" algorithm.

WINDS.
=======
Keys Alt-H and Alt-W are used to get some information on the winds
aloft. Alt-H will ask for compass heading, Alt-W will assume that you
are heading to (pointing the nose of the glider at) the current
destination. Both of these are using the GPS given speed and track
over ground so you should wait till speed and course stabilize. Alt-H
is also used to enter your own wind estimate. This will be used for
any computations until you press one of these keys again. These keys
work differently in the zoomed mode - see below.

Each time you press one of these keys the crosswind wind component is
computed. The program attempts to construct wind from two crosswind
measurements which should be taken at two headings as orthogonal to
each other as possible. Each time Alt-H or Alt-W is pressed the newly
computed component replaces the one which is most collinear with it
for wind computations. If the crosswind measurements were taken at
less than 30 degrees apart you will see question marks next to the
displayed wind. You can reset the two wind components by entering 999
after Alt-H. Subsequent calls will fill in the wind components anew.
The crosswind displayed by the program should be relatively OK. The
computed wind is highly subject to the "garbage in-garbage out"
syndrome. I have tested it with "ideal" data and it seems to work OK.
At this point I have no experience with it in "the field".

Pressing Alt-W while the program is in thermalling mode (Alt-F10) 
results in wind data being substituted by data derived from variation
of ground speed as you go around the circle. This is probably he most
accurate way to determine wind using this program. The main sources 
of error in that case are your ability to keep the indicated speed 
constant and rotation of the thermal.

Information on winds that you collect can be viewed by pressing 
Alt-I. In addition to other information you will get a table of 
most recently recorded winds (most recent first), and values for 
the wind currently being used for calculations. The table lists only
winds obtained by thermalling or from two cross-wind components.

TRIPMATE GPS:
==============

GPS_LOG  has a mode  set through the INI file that allows an
additional initialization process after log file selection. At this
stage its sole purpose is to allow the TRIPMATE to be connected. 

If TRIPMATE mode is selected the programme will wait for the ASTRAL
string to be sent by the GPS. Once it gets it will notify you and
send the ASTRAL string back to the GPS to start its functions. It 
will then ask you if you want to send an initialization sequence to
the unit. It turns on the RMC sequences to be output every 2 seconds.
If you want to log data less frequently use Alt-F function to choose
the frequency. 

While waiting for the ASTRAL string to come in, you can quit the 
programme (Alt-Q), skip GPS initialization (Alt-C), or send the
initialization string (F2) and continue to wait.

While the programme is running only the RMC and GGA sequences are 
enabled and set to output every 2 seconds. You can control which
other sentences get re-enabled upon programme termination via the INI
file.

Note: The connector on Tripmate expects to be plugged into a computer,
so does the cable that is supplied with HP100LX connectivity pack. If
you experience problems then you probably need to use an adapter in
between that switches pins 2 and 3.

DATA LOGGING:
===============

At startup the program suggests a name of the data logging file. This 
can be disabled by editing the GPS_LOG.INI file. The suggested name
is of the form YYMMDD-X.GPS (year month day - consecutive number).
Entering "*" at any place in the name will disable data logging. Once
disabled, you cannot turn it back on without exiting and restarting
the program.

You can enter IGC as the file name. In that case GPS-LOG will use the
International Gliding Comission compatible format for saving data. The
actual file name will be the suggested name (above). A single "A"
record of the form "AH_BV2400GPS_LOG" is written at the beginning and
is followed by "B" records.

You also have an option (INI file) of using a format which is
compatible with Chicago Map program. The only caveat here is that
under some (rather rare) situations you may get an invalid day of the
year recorded (only if you use a local time offset to display time).

The standard data logging format is a simple comma delimited one. It
is designed for ease of use with popular spreadsheet programmes for
data analysis, sorting ... There is an option (settable in the INI
file) of enclosing all text in parantheses to make it more compatible
with some such programs. 

The first line of the file contains UTM, or GPS at the beginning. This
should not be modified. It is used by the VIEW_MAP program when the
track is replayed using the Alt-T key, and by the GPS_LOG program when
using the Shift-F7 key. Different formats should not be mixed in 
the same file when appending data. Otherwise unpredicatble results may
occur. A special logging format compatible with Chicago Map programs
can be selected by editing the INI file. While using that format no
text nor comments are recorded.

The program is not guaranteed to record every bit of information that
GPS sends on the NMEA link. In particular it will ignore most data
that come in while one is using various key activated functions. Once
such an activity is finished, the programme looks for the most recent
valid data, and continues from there. There may also be some
interactions between the graphic system routines display interrupts
and the data link interrupts that may render some incoming data
corrupt. This should be however a rare occurence.  

ALTITUDE LOGGING:
=================

The program can log altitude reported by the GPS unit. It can also 
record the altitude of dropped waypoints. Whether it does it or not 
is determined by the INI file parameters (see below). Altitude is 
recorded in feet. Only valid altitudes are recorded. The validity 
of altitude comming from GPGGA sentences is determined by the number
of tracked satellites. The validity of the altitudes from PGRMZ 
sentences is determined by the fix parameter, and as such is suspect.
The program looks first for the GGA sentences, and if these are not 
available, it looks for the proprietady Garmin PGRMZ ones. In
principle it is possible to see both sentences recorded in one file.
The time recorded in a log file with altitude is the time of last
position fix from a GLL, GGA or RMC sentence.

TIME LOGGING:
=============

The time logged to file is the same as the one displayed on the
screen. In the standard logging format, it is logged in  the decimal
format for ease of use with spreadsheet programs where one might want
to plot data versus time. For the same reason the logged time does not
start over from zero as one passes midnight but keeps on going with
added multiples of 24 hours. 

ZOOMED (thermalling) MODE:
==========================
The zoomed mode is really designed for thermaling. This allows you to
temporarily zoom the map display to some predetermined resolution
(INI file parameter) and then come back to the previous map display.
Key [Alt-F10] toggles between the zoomed and unzoomed states. While
you are in the zoomed states the track is still recorded to your
original map view as long as the map does not need to be recentered.
When you toggle the map state you automatically recenter the map. The
zoomed state map span, expansion/contraction rate and map move margin
are controlled by the INI file parameters and are independent of
those for the main map. The map span is remembered while the program
is running, but is not saved to file.
		
While in the zoomed mode the waypoints you drop are saved only to the
temporary map file and are lost when you exit the zoomed mode. The
dots marking the track are slightly bigger in the for better
visibility.
		
While in the zoomed mode it is assumed that you are circling, and
after the first circle the program starts looking for maximum and
minimum speed in each circle. It interprets the difference as due to
the wind. As you keep circling it averages the value of wind velocity
derived from the minimum and maximum speed in each circle and
displays it instead of the TOG: on the screen. Pressing either Alt-W
or Alt-H will result in saving the value for future computaions
involving wind. To reset the wind averaging press Alt-B while in the
zoomed mode. The wind speed and direction thus derived, is sensitive
to the averaging filters of your GPS unit. It is also sensitive to
your ability of keeping the indicated speed constant while
thermalling.

In the zoomed mode map centering may seem a bit confusing at times. 
the program attempts to center on the center of last circle rather 
than on the current position. However, if the center was not yet 
established or the map needs to be recentered more than once in a 
circle, the program temporarily gives up and centers on the current
position.
		
Under some conditions there may be too little memory to run in the
zoom mode. If this mode is allowed you get a message "ZOOMED MODE
allowed" in the opening screen which tells you which NMEA mode is
used initially.


NEEDED ALTITUDE ESTIMATE:
=========================

THIS DOES NOT TAKE INTO ACCOUNT VERTICAL AIR MOTION. If you are not
asking for the wind correction then calculation is done based on the
glide ratio calculated from the polar at the gps indicated speed. The
reported altitude is a sum of destination elevation, 1000 feet for
pattern and the distance/glide_ratio. If you ask for wind correction
the glide ratio is computed based on the estimated airspeed which is
derived from the gps provided ground velocity vector and the wind
velocity vector. Furthermore the actual path required to travel is
computed based on the estimated air speed, the wind and the course to
the waypoint. If the required altitude is greater than 100000 feet
(100kF) "NO GO" is displayed. The altitude estimate is displayed only
for waypoints for which the waypoint elevation is known. For speeds 
less than 5 knots, the needed altitude defaults to "NO GO". This is 
done to avoid possible division by zero in the  program. The 5 knots 
limit is arbitrary and was chosen because it is well below any 
realistic stall speed. You can select a different speed by 
appropriately editing your polar data file (see format above), but
you cannot set it below 5 kts. This limitation is not imposed if you 
use a default  speed independent glide ratio.

Note that the computations are done based on the speed on the ground.
these are going to be somewhat higher than the actual air speeds due
to the altitude effects. This is the only possible factor in the
whole calculation that errs on the safety's side as the indicated
needed latitudes will tend to be a bit higher. However let this not
lull you into a feeling of safety. This whole calculation is based on
so many flimsy assumptions with respect to the air motion that it can
be used as a very rough guide at best. In particular I would strongly
suggest that you add some extra sink rate to your polar to simulate
average down air motion.

You can eliminate this "margin" by asking the program to use altitude
corrected values for speed. This will be done if valid altitude was 
supplied by GPS. The speed used in glide ratio calculations can be 
monitored by setting the appropriate compute speed algorithm (-2) and
displaying computed speed.

UTM vs. Lon/Lat formats in MAP and WAYPOINT files:
=================================================

All the examples below are given in the Longitude/Latitude format. It 
is acceptable to input data in the UTM format. Shown below is the
field comparison:

Lon/Lat
    Lat.deg , Lat.min , Lat.sec , Lon.deg , Lon.min ,Lon.sec
UTM
    400 , 0  ,0 , Northing , zone , Easting

The zone is positive in the northern hemisphere and negative in the
southern.

The "400,0,0" are internal file constants and as such must not be
changed.

		
WAYPOINT.DTA format:
====================
Aerial Cableways,35,51,30,117,7,0
^Air Sailing,39,52,30,119,42,0,4300
Alpine County,38,44,30,119,46,0,5867
Alturas,41,29,0,120,33,30,4375
^Angwin (Parret),38,35,0,122,26,5,1848
Austin,39,28,0,117,12,0,-1
Melbourne,400,0,0,5772050,-55,334942,1,M


This is a simple comma delimited ASCII file. The read algorithm is
not very forgiving, so do not make mistakes. No comments ... are
allowed.

The name of the waypoint is followed by it's latitude, longitude and
altitude. Only the first 19 characters of a name are displayed by the
program. Altitude is in feet(or meters), and the longitude and
latitude in degrees, minutes, seconds. You can use floating point
format (the absolute values will be added deg+(min+sec/60.)/60. ). To
indicate south latitude put "-" in front of latitude degrees. To
indicate east longitudes put "-" in front of longitude degrees(no
spaces in either case). Longitudes must be in the -180 to +180 range,
and latitudes in -90 to +90 range. For UTM coordinates see above.

If you do not know the altitude then enter -1 (or enter nothing after
longitude seconds, not even spaces) in the above examples both Austin
and Aerial Cableways waypoints have no known altitude.  If you want to
enter elevation in meters add ",M" after the number as in Melbourne
example above.

The caret "^" as the first character identifes a landing site. It is
not displayed in the destination waypoint selection listings, but is
used for the closest landouts search.

MAP file format:
===============

This is also an ASCII comma delimited file, but with many more
possibilities.

Comment lines are allowed and denoted by ";" as the first character
in the line e.g.:

;This is a comment
; and another

Comments can appear any place in the file.
The first meaningful line in the file has to look as follows:

38,0,0,118,0,0,40,0,0,120.5,0,0,20

Minimum latitude, minimum longitude, maximum latitude, maximum
longitude, and first circle radius in miles (more about this later). 

 ****** MAP FILE FORMAT CHANGED between version 1.9 and 2.0 *******
 *                                                                *
 *    in version 1.9 and lower minimum longitude and maximum      *
 *    latitude are switched. If you are upgrading you need        *
 *    to edit your map files to use with the new version. This    *
 *    is the only change that needs to be made.                   *
 *                                                                *
 ******************************************************************

Remember that in the southern and east hemispheres sign is
important in determining which is minimum and which is maximum. The
positional data have to be again given in degrees, minutes and
seconds, but these do not have to be integers so you can simply set
minutes and seconds to zero. Otherwise conventions are as for the
waypoints file. Typically you will want to have the min/max settings
such that they  do not encompass all the points on the map. As the
map moves, new points will show up,  you can  change the scale of the
map using Alt + and Alt * keys.

The following lines contain map information:

39,52,30,119,42,0,1,Airs

Above line places symbol number 1 at latitude 35deg52.5' N and
longitude 119deg 42' 0" and labels it underneath with a legend
"Airs". If you do not want a label to appear you must put a comma in
it's place, e.g.:

39,49,10,120,21,0,4,,  would place symbol # 4 at the location of
Nervino airport, but not label it. 

If the symbol number is unavailable the program defaults to symbol
#1.

If you want circles drawn around the symbol place periods as the
first characters of a legend, e.g.:

38,44,30,119,46,0,2,.Alp
38,15,40,119,13,20,6,..BrdgP
39,11,30,119,44,20,2,.,

will place one circle around Alpine and Carson airports (Carson is
not labeled just symbol #2), and two circles around Bridgeport.

You can also draw circles with arbitrary radius around a symbol with,
or without circles of predetermined radius. The format for this is to
enclose the value for the radius in miles between characters "@" and
"M" and place them AFTER (or instead of) the periods. You can have
multiple circles. The limitation is that from the first "." or "@" you
can have no more than 38 characters on a line. Here are a couple of
valid examples:

38,44,30,119,46,0,2,.@50.5MAlp
   a 20 (default) and 50.5 miles radius circles around Alpine

39,11,30,119,44,20,2,@30M@50.5M,
   30 and 50.5 miles radius circles around Carson with no symbol

Folowing the label you may add information as to whether the symbol
will be displayed or not depending on the number of rescale state of
the map. You have to provide two coma separated numbers

38,59,0,119,45,0,2,Mndn,0,2
or
38,59,0,119,45,0,2,,0,2

both of them will place a symbol at Minden position, but the second
will not place a label. They will however do that only for three
expansion states: original (0), expanded once (1) and twice (2).
Negative numbers are used for contractions

38,59,0,119,45,0,2,Mndn,-1,2

will also show Minden on a once contracted map.

If you do not provide these numbers, or make a mistake the symbol
will be shown always. Circles around symbols are drawn irrespective
of the rescale state. Note that the rescale factor is not taken into
account at all. The program simply counts the number of times you
pressed the keys.


Placing "#" as the first character of the line will cause the
computer to store currently displayed map to a file name e.g.:

#fewpoint.mxp

Placing "^" as the first character of the line 

^firstmap.mxp

will cause the computer to load a binary map from filename and add it
to the present map. This is OK to do if the scales of both maps are
the same, otherwise you get a nonsensical map. The loaded map is
placed at the proper position

Negative (and zero) symbols cannot be followed by a legend. Symbols
less than -10 are used to plot inflight waypoints without legends.
They can be also added as regular symbols, but without legends.

Symbols in the range of -10 and -5 are currently neglected, and lines
are drawn with symbols in the range of -3 to 0.Two types of lines can
be drawn. Course line - which is a continous,wide dashed line, and
random solid lines. Symbol -4 is used to draw arcs.

To draw a course line you define it's vertices using symbol #0 (no
legend follows) e.g.:

39,49,10,120,21,0,0

would make Nervino to be one of the course line vertices.

For the other lines symbol "-2" is used to start a line. Symbol "-1"
results in a thin line drawn to the defined point from the previously
defined point and symbol "-3" results in a heavy line.

38,1,0,118,16,0,-1     - no points previously, so start
39,49,10,120,21,0,-1   - draw a thin line to here
38,12,50,119,0,40,-3   - draw a thick line to here
38,15,40,119,13,20,-2  - start a new line from here
39,49,10,120,21,0,-1   - draw a thin line to here

To draw an arc with a center at a given location you use symbol -4 and 
follow it by format similar to that of drawing arbitrary circles. The
information is of the form:
@ radius (in Miles), start angle, end angle  M

e.g.: 39,52,30,119,42,0,-4,@20.,280,230M@35.,180,100M

In the example above two arcs are drawn around Air sailing. The first
of radius 20 miles starting at 280 degrees (true) from Air Sailing,
and ending at 230 degrees (true). The second has 35 mile radius going
from 180 to 100 degrees. The arcs are always drawn counter clockwise.
The limitation is that from the first "@" you can have no more than 
38 characters on a line.

All these can be freely intermixed, but for the lines being drawn in
the order that points appear. The lines below are an example of an
intermixed set of commands.

38,44,30,119,46,0,2,.Alp
38,1,0,118,16,0,5,Baslt
39,49,10,120,21,0,4,Bkwrt
39,49,10,120,21,0,0
39,52,30,119,42,0,-4,@20.,280,230M@35.,180,100M
38,12,50,119,0,40,1,Bodie
38,15,40,119,13,20,6,..BrdgP
39,11,30,119,44,20,2,Crsn
38,36,0,119,29,0,5,Colvl
38,59,0,119,45,0,2,Mndn,0,1
39,56,30,118,44,30,1,Falln
39,56,30,118,44,30,0
38,1,0,118,16,0,-1
38,50,0,119,24,0,4,Farias
38,36,10,119,0,30,8,Hltn
38,12,50,119,0,40,0
39,49,10,120,21,0,0
39,49,10,120,21,0,-1
38,12,50,119,0,40,-3
38,15,40,119,13,20,-2
39,49,10,120,21,0,-1


abcdefgh.PLR polar data file:
============================= 

Like in the other files the format is not forgiving. Typical file may
look as follows:

DG 101 polar data, low wing loading, up to 100 kts - a comment
0, 33  see description below
44.3,1.17
54,1.36 
65.3,1.94 
75.6,2.8
81,3.30 
91.8,4.51
95.6,5.05
Done with data

Program calculated things go below

3 calculated coefficients-high order first
3.298E-08
1.861E-04
6.103E-01
calculated coefficients-end
Fit Results:
speed   sink   L/D
 40.0,  0.99,  40.3
 45.0,  1.12,  40.1
 50.0,  1.28,  39.0
 55.0,  1.48,  37.3
 60.0,  1.71,  35.1
 65.0,  1.99,  32.7
 70.0,  2.31,  30.2
 75.0,  2.70,  27.8
 80.0,  3.15,  25.4
 85.0,  3.68,  23.1
 90.0,  4.28,  21.0
 95.0,  4.98,  19.1
100.0,  5.77,  17.3
105.0,  6.67,  15.7
110.0,  7.69,  14.3
115.0,  8.84,  13.0
120.0, 10.13,  11.8
125.0, 11.57,  10.8
130.0, 13.18,   9.9
135.0, 14.96,   9.0
140.0, 16.93,   8.3
end results

The first line is a comment line. You can put anything that is
meaningful to you. 

This comment line is followed by a line which has to start with
either 0,1 or 2 (weight exponent) followed by any comment you want 
after a space or a coma and an optional value for the speed below 
which no altitude computation is done and "NO GO" is displayed 
(default is 5 kts). The coma must be immediately after the weight 
exponent. Additional comment can follow the minimum speed. 
The weight exponent changes the way the polar curve coefficients 
are calculated. 0 gives equal weight to all points, 1 and 2 
progressively weight high speed data less. 

This line is followed by
pairs of:
    speed, sink speed - in knots
coma or space delimited. You need at least 5 pairs (more is better
computer will complain with less than 4). These are used for
developing a polynomial fit to predict the sink rate at any  speed. 
You need to follow the last pair by any comment line. 

For cosmetic reasons you should add a "Done with data" line after 
the data pairs.

Computer fills in the rest each time the data is processed. This 
information is there for you to know what to expect. I'd suggest you
run the program once after creating the polar data, and look at the
results before using it in flight.

Note that as in the example above, the program does not know about
stalls. Therefore L/D estimated at low speeds is overly optimistic. 


GPS_LOG.INI file:
=================

This is a rudimentary ( order important) initiation file. Each
parameter is preceeded by a line describing it's function. These
lines have to be there for proper program function. Below are the INI
file description lines followed by more details.


ask/set log format:
     set to 1 if you want the program to ask you how to
              save logged data.
     set to 0 to record only good data and skip the speed and course
	          information.
	 set to 2 to record only good data with the speed and course
	          information.		  
	 set to 4 to record all data in raw format.
	 
	 Obviously these settings cannot be ORed. A bad setting will
	 default to 1.
	  
comm port:
      serial port number

baud rate:
      typically 4800 or 9600 depending on your GPS unit.

NMEA code 0-RMC,1-GLLVTG, 2-GGAVTG:
	  controls which NMEA sequence set is monitored by the program.
	  
gll-gvt collect number. Alt-G :    
	  used as an efficiency optimization tool for VTG-GLL decode
	  recognition. the value of 4 (default) works well for Meridian.
	  Value of 1 ought to work for every unit.
	 
check message length :
      set to 1 if you want the validity of data checked by message
      length if no checksum is provided. Defaults to no checking.

units 0-M,Kts;1-km,kmh;2-M,Mph;3-N,Kts
	  set to appropriate value to choose the initial units set. (N
	  stands for nautical mile)

display destination :
	  set to 1 to start by displaying distance to destination

number of destinations to save 1<=..<=5
      controls the maximum number of destinations saved on the stack
      that you can scroll through using keys +_-.0=

display comp speed :
      enables speed computation and display.

speed algorithm -2<=..<=4. Alt-P
      -2 - speed used in last calculation of needed altitude
	       for determining glide ratio from polar
      -1 - Indicated Air Speed computed based on GPS reported 
	       altitude and speed 
      weighting factors for speed ageraging are shown below
      0 - norm= 1,0,0,0...
      1 - norm= .5,4,4,.5,.1,....
      2 - norm= 1,2,3,2,.6,.....
      3 - norm= 1,1,1,...
      4 - norm= elapsed time
	  
points for speed avg. Alt-P :
      number of points used for averaging	  
	  
map margin at move :
      distance from map edge (as fraction of span) at which the map is
      moved,

track dot spacing :	  
	 controls the minimum spacing between dots  when plotting track
	 (1-5)

dot border width  0 to 4 :
     controls the size of dot used for track display. It is limited in
     software by the track dot spacing.

map expansion factor :
     factor by which maps are expanded and contracted. if you set it
     to <=1 it will default to 1.6, if you set it to more than 10 it
     will default to 4.  

display factor 0.4<...<2.5
     factor to control distortion of the map on the screen. It should
     be 1 on HP100LX and about 2 on standard PC screens. 

cursor refresh period  10=< .. 
     controls how often the cursor blinks 20 - 40 works fine for
     HP100LX.

position screen update period 0-30[sec]
     controls how frequently the numeric position data are updated on
     graphics screen. With a GPS sending data every second, the
     blinking of the display on HP100LX can be irritating.

magnetic deviation :
     set to 999 to have program compute it, to a value you want to use
     or to -999 to use the GPS supplied value.

geomagnetic model file :
     name of the file containing the geomagnetic model. Keep the whole
     pathname to less than 30 characters.

altitude for deviation 1<=..<=6 :
     altitude (in km.) at which you want to compute magnetic
     deviation.

deviation compute time gap [min]:
     time (in minutes) between magnetic deviation computations.	It
     will not let you set anything in the 0<.. <10 range (0 or
     negative will cause the computation to take place each time valid
     position data come in)

do not suggest file name :
     set to 1 if you do not want the program to suggest a name of file
     for data logging.
	 
data save frequency :
     determines how often data are saved to file. This is to limit the
     size of the files when not all the points are necessary. The
     larger the number the less frequently data is saved. value of 1
     results in data being saved each time.
	  
Use quotation marks around logged text :
     set to 1 if you want quotation marks around text fields in the
     log file.
	 
Using Chicago Map save format :
     set to 1 if you want to use the Chicago Map format for saving
     data.
	 
waypoint data file at start :
     name of the file containing waypoints.	 

local time offset :
     set the local time offset. If this value is not 0, data saved in
     Chicago Map format may have some incorrect dates around the first
     of the month. Switching it while program is running may cause a
     date offset withinin the file.
	 
don't replace destination with waypoint :
	 set to 1 if you do not want waypoints dropped in flight to
	 replace your current destination. Yoy can always get to them as
	 they are stored in the waypoint file.

Radius for distance computation FAI=6371.0 :
     Earth radius [km] used for distance computations. You can change
     this parameter within about 15 percent.
	 
UTM center scale factor; 0.9996 :
     scale factor used in UTM computations. should be 0.9996 for WGS84
     and AMG (Australian) earth models.
	 
semi major axis WGS84=6378137; AMG=6378160 :
     UTM computation parameter.
	 
ellipsoid flattening WGS84=298.257223563; AMG=298.25 :
     UTM computation parameter.

eccentricity WGS84=0.081819190843; AMG=0.081820179996 :
     UTM computation parameter.

Display UTM not LON/LAT :
     set to 1 if you want to display/log UTM coordinates instead of
     longitude and latitude.
	 
Using Tripmate GPS :
     set to 1 if you are using a Delorme TRIPMATE GPS unit.
	 
Re-enable TRIPMATE on exit; add: ZCH-1,GSA-2,GSV-4,GGA-8,RMC-16 :
     Add the above values for codes you want reenabled on TRIPMATE
     upon program termination if you are using one.

display current altitude :
     set to 1 if you want GPS reported altitude displayed when you are
     not displaying computed speed.
	 
display required altitude :
     set to 1 to display altitude required to reach destination. This
     is displayed only if Sltitude of the destination is known.
	 
correct for wind :
     set to 1 to start in the mode where required altitude takes wind
     into account. This correction will not function unless the
     program thinks it has acquired valid wind.
	 
default glide ratio 5<=..<=100 :
     default glide ratio to use instead of glider polar.
	 
Save GPS altitude to file :
     set to 1 if you want to record altitude to file.
	 
Record waypoint altitude :
     set to 1 if you want altitude of dropped waypoint to be recorded
     in the waypoint file. Not very useful (actually misleading) while
     flying, but usefull in a car.
	 
Display decimal minutes :
     set to 1 to display decimal minutes instead of minutes and
     seconds.
	 
North-South correction [minutes] :
     local correction to the GPS recorded values.
	 
East-West correction [minutes] :
     local correction to the GPS recorded values.

Initial zoom map span [+- meters] :
     map span at which the program starts when toggled into the zoomed
     (thermalling) mode

Zoom map margin at move :
      distance from map edge (as fraction of span) at which the map is
      moved while in zoomed mode.

Zoom map expansion factor :
     factor by which maps are expanded and contracted while in zoomed
     mode. If you set itto <=1 it will default to 1.6, if you set it
     to more than 10 it will default to 4.  
     
ZOOMed track dot spacing :
	 controls the minimum spacing between dots (1-5) when plotting
	 track while in zoomed mode.
	 
ZOOMED dot border width  0 to 4 :
     controls the size of dot used for track display while in zoomed
     mode. It is limited in software by the track ZOOMed dot spacing.
	 
Initial zoom map expansion state :
    This defines the scale state of the zoomed map with respect to the
    main map. This is useful if you are using the main map while in
    zoomed mode and have symbol appearance governed by the expansion
    state.
	
Use main map for Zoom :
    In most cases you will set this to zero and use a temporary blank
    map while thermalling. However, you could use the main map with
    it's features if you set this parameter to 1.
	
circles before drift computed 0<=..<=2 :
    Number of circles the program waits before attempting to compute
    drift while in the zoomed mode.
	
Split help into two pages :
    Set to 1 if you want the help information to be shown in two
    (somewhat more readable) screens instead of one.

Max.# of points in track cache:
    Number of track points the program will save in cache for
    re-display using Alt-F7. It defaults to 4000, or 300 (if you enter
    a number between 0 and 10). If you enter a number that is too
    large to fit in memory it will be limited by available memory.
	
Force track update on rescale:
    Set to 1 if you want the track information to be recalled from
    cache each time you re-scale a map.

Use IAS for needed altitude:
    Set to 1 if you want the computer to attempt to correct the speed
	for altitude in polars calculations.

Most parameters are changed by inputs to the program and are recorded
to the ini file. 

If you have been using GPS_LOG program version below 2.4 then you
need to do the following BEFORE YOU RUN THE NEW VERSION of the
program:

Erase your GPS_LOG.INI file (back it up). After you run the
program for the first time, edit the new INI file to restore
appropriate settings.

