DIGITZR.txt 6.2c     USING DIGITIZERS FOR DRAWING MAPS!
                     by Ken Swaggart W7KKE and WB4APR


With the help and inspiration of Ken W7KKE, MAPFIXER.bas now lets you rapidly
digitize maps and see the map on the screen as you draw it.  Most of the
instructions on using the digitizer within MAPFIX are included in that
program.  But the following is a more detailed set of set up ideas and
cautions..

The program should work with any Digitizer that outputs individual POINT
coordinates in the format XXX,YYY,C.  Where XXX and YYY are ASCII numeric
values from 3 to 5 digits in length, and C may contain ASCII characters
indicating the status of the PEN, Mouse, or Buttons on the mouse.  The
digitizer should operate in the POINT mode, so that a data point is only
output when the operator presses a button or puts the PEN to the digitizer
surface.  The characters included in C are only used, if they end with the
numeral "3", which is the 4th button on a 4 button digitizer mouse.  With this
type of mouse, you can use button 1 for adding points (the default mode), or
button 4 to move the cursor with no action...

The program is set up to operate at 9600,N,8,1.  If you are going to use the
digitizer in MAPFIX, you must issue the ALT-O command to OPEN the COMM port
for the digitizer.  Once the plotter is initialized, entering a point with the
digitizer will always ADD a new point immediately after the current point
indicated by the small white circle.  To BEGIN a new map feature with the
Digitizer, I made the ALT-B command.  This command prompts you for the name
of the new feature and then will use the first tablet point as the STARTing
point.  ALl future clicks of the mouse add to this feature.  You can also
use the traditional alt-NEW comand with the mouse, but you must FIRST move
the cursor to the starting point before pressing ALT-NEW.

  1. Place a map, or map section, on the plotter.  It should be a Mercator
projection with lat and long lines parallel with edge of plotter.  MAPFIX
will calibrate itself with the location of the map, but the map must be
alligned so that a LAT line gives the same Y reading on both sides of the
digitizer surface.

  2. MAPFIX aligns to the scale of the MAP by having you choose a lat/long
in the vicinity of the upper left map corner and the lower right corner.
These points are used to calibrate the plotter surface to the map.  If your
map is not a perfect MERCATOR, you can minimize the error by NOT choosing the
extreme corners of the map, but choose points closer to your area of operation,
say in the center of the upper left Quadrant and the center of the lower right
quadrant.

  3. Run the program.  To start a NEW map from scratch, type NEW when asked for
a map filename.  You must then select the LAT/LONG of your origin for your map
and a scale in Pixels-per-degree.  Note that finer and finer resolutions make
smaller and smaller maps since there is a limit to the data values stored for
each data point.  When asked for a LAT/LONG in decimal degrees, decimal
fractions are fine. IE: 35.6 or 124.55, etc.  When asked for LAT/LONG in
degrees and minutes, separate the degrees and minutes with a COMMA such as
DD,MM.xx where minutes can be entered with decimal fractions if needed.

  4. Each map feature prompts for a feature name to ease in any debugging.
Then just point to each position you wish to digitize. The program beeps and
displays the converted data on the screen.  After each point is added, any
other MAPFIX command may be used.  In otherwords, if you dont like a point
that you just entered, just hit ALT-D to delete it, or ALT-M to MOVE it!

  5. Add Labels to the map at any time by moving the cursor to the desired
map location, and pressing ALT-L.  Remember that the names are right justified
so that the label will appear to the left of the point specified.

  6.  Remember to save your map occassionally using the Ctrl-S command.  After
each save, you can just continue on with the next point, or QUIT the program.
If things get screwed up, hit the SPACE bar to re-draw the map.  If they are
still screwed up, consider saving the map, and using an EDITOR to check things
out and fix them according to the definition of a map given in README.MAP.

NOTE:  APRS and MAPFIX have troubles with a feature with only one point.
Occassionally these get in there and you must remove them with a DOS text
editor.  If you try deleting them on-line within MAPFIX, you may delete whole
other features and loose a lot of points.  Sometimes these problem features
are generated when you try to digitize a point which results in a ZERO value
of X.  That really screws things up!  Be careful around the yellow vertical
line that is the X origin!

  7.  To use the map in APRS, add the map file to your APRS directory, and then
use an EDITOR to add the  MAPNAME, center decimal coordinates, and range to
the MAPLIST.apr file.  You may need to suppress some of the existing maps in
the distro version of MAPLIST.apr (by placing a * at the beginning of the map
name) in order to keep the total number of active maps in your list below the
140 limit.  Remember that you must place the new map in the proper order
(more detailed maps must follow bigger maps that cover the same area) to get
the right map to display when you have overlapping maps.  While running APRS,
if maps overlap, you can temporarily look at a map beneath a map by hitting
MAPS-ALT key.  Then remember to fix the order of the maps in your MAPLIST.apr
file later on to customize the list to your satisfaction.


MOVING THE PAPER MAP ON THE TABLET, OR RESETTING THE TABLET TO ANOTHER MAP

This is surprisingly simple!  FIrst use the ctrl-S command to save what you
have already (in case Murphy drops by).  Then without even stoppping the
program, just place the new paper map on the digitizer and do another ALT-OPEN
command.  MAPFIX will re-set the coordinates to the new map, and you can just
keep on digitizing!  This is neat, when you have 4 or 6 of the 24,000 scale
maps that you are going to use to build ONE APRS map file.  This capability
is also very useful if you are using a 12inch by 12 inch digitizer tablet
and need to move a single paper map 4 times to get all the data off of it!


CALCOMP DRAFTING TABLE MODEL 23360 (Used by WB4APR):
----------------------------------------------------
Use the onboard menu labels and mouse button 0 to configure the digitizer as
indicated above and in the prompts within MAPFIX.  I set it up for 200 LPI
since that is more than adequate.  Plug in the serial port, run MAPFIX.bas and
start drawing!  Do not get too fussy with lots of dots, remember that there is
a 2900 point limit in APRS, so don't waste points with fancy curves where
three points will do!


CALCOMP Model 4110 Plotter (Used by W7KKE):
-------------------------------------------

Data is serial ASCII, even parity, with 4 characters of x position and 5
characters of Y.   W7KKE thinks the 1st Y character is pen status.
(if so, he is gonna have to modify MAPFIX to make it work)

Power input is pin 24 +12vdc at 290-300 ma. Pin 25 is power return.

Data Ranges:
  X: 0 = left  4000 = right
  y: 0 = bottom  4000 = top

Pen status:  0 = point mode  1 = run mode, pen down   9 = run mode, pen up

There is an "A/B" switch on back of the plotter next to D25 plug.  Run it in
"B" which only sends a posit when pen is depressed on surface (point mode).

Pin connections:
1  NC
2  +/- 15 v RS-232 data output from plotter.
3  + 5v from board (probably for some original interface device)
4  "             "                      "
5  0/+5v TTL data output
6  "                "
7 Ground (data return)
8   |
9   | baud rate.
10  |
11  |
12 - 23 Unknown. Appear to be open.
24  +12 vdc  power input
25  ground


BAUD RATE PROGRAMMING PINS:

BAUD RATE      8     9     10     11   (X = connection to GND)
 
  1200         .     X      .     .
  4800         .     X      X     .
  9600         .     X      X     X    (use this for MAPFIX.bas)
 


TEKTRONIX 4957 GRAPHIC TABLET (used by WA1VJH):
-----------------------------------------------

INITIALIZATION STRING: ESC Z, ESC Q, ESC M1, ESC F3, ESC C0, ESC x

ALSO, MAPFIX.BAS WILL HAVE TO BE MODIFIED AS FOLLOWS TO ACCEPT THE DATA
STRING FROM THE 4957:

LINE 1016 FROM: digix1 = 5000 - VAL(LEFT$(a$, 5))
            TO: digix1 = 5000 - VAL(MID$(a$, 2, 5))
LINE 1017 FROM: digiy1 = VAL(MID$(a$, 7, 5))
            TO: digiy1 = VAL(MID$(a$, 8, 5))
LINE 1026 FROM: digix2 = 5000 - VAL(LEFT$(a$, 5))          
            TO: digix2 = 5000 - VAL(MID$(a$, 2, 5))
LINE 1027 FROM: digiy2 = VAL(MID$(a$, 7, 5))
            TO: digiy2 = VAL(MID$(a$, 8, 5))
LINE 1057 FROM: x = 5000 - VAL(RIGHT$(a$, a - 1))
            TO: x = 5000 - VAL(MID$(a$, 2, a - 1))
LINE 1059 FROM: y = VAL(MID$(a$, a + 1, B - (a)))
            TO: y = VAL(MID$(a$, a + 2, B - (a)))
LINE 1060 FROM: Btn = VAL(RIGHT$(a$, 1))
            TO: Btn = VAL(MID$(a$, B + 1, 2))

ALSO NOTE THAT THE 4957 BUTTON NUMBER 3 WILL FUNCTION IN PLACE OF THE         
DESCRIBED MAPFIX BUTTON 4 DUTIES.   DE GARNET/WA1VJH

