
              NOTES ON MOTRTCM ver 1.6 3/21/00 (first public release)

	This is the 1st public release of the source code, so
please note the following:

    Copyright (c) 1999, Jim Korenz.  All rights reserved.  This program
    may be used only for non-commercial purposes, and carries no warranty
    of any kind, including any implied warranty of fitness for any particular
    purpose.

The program was compiled using Turbo C ver 2.0 under MSDOS 6.22 .
The default char type is unsigned in version of the compiler.
The executable code was run on a 20 MHz 386 laptop computer
serving as the RTCM base correction station. This machine
was able to process RTCM corrections at the 1 sec maximum
rate that the Motorola Oncore was able to output data.
This version of the program does not use floating point
calculations, so it does not "bog down" a computer that
has no hardware floating point processor. I have not run
the program on a 286 or 8088 computer, but I think that
it will run OK, but you may have to slow the corrections
down to once evey 5 or 10 sec, to prevent data overruns.
	I have enclosed "hand-parsed" data samples of the
Motorola Oncore "Ce" messages in the file "MOTMSG.TXT".
Likewise, RTCM type 1 data messages from a TAPR DGPS
powered correction station are parsed in the file
"JUL20.TXT". These should be of use in troubleshooting
problems, and in learning how the system works. I have
also enclosed an RTCM type 1 message decoding program
"RTCVUE". It works on "dead" data, data stored in a
file, and displays decoded RTCM information on the
system screen. The parity calculations are implimented
in this program, so it can serve as an example of
how to do the calculations. The program does a good job
with good data, but it is easily confused by bad or
missing data. It will report errors, but will continue
to try parsing the remaining (bad) data in the message.
The "RTCMON" program distributed by DCI at their website
is a much more robust program, but will only work with
serial port data streams.  http://www.dgps.com
	The "MOTRTCM" program was test run for 36
hours with input from an 8 channel Oncore receiver to
a Garmin GPS III connected by RS 232 to the COM2 serial
output port. The Garmin NMEA serial output was recorded
and analysed. It stayed in DGPS lock for the entire 36
hour period. It should be noted that a GPS receiver
capable of DGPS operation will reject any RTCM
correction messages older than about 50 sec in real
time operation.
	In beta testing, the "MOTRTCM" program output
was compared to the TAPR DGPS board serial output.
Only occasional minor differences were seen, usually
in the last digit on the values. The most noticeable
discrepancy was in the Z-count value. I originally
rounded the time up to the nearest 0.6 sec when
outputing the value. I now truncate the time
stamp to match the TAPR generated time.

	This program utilizes interrupt drivers for COM1 and COM2
serial ports under DOS. It uses pins 2,3, and 7 on the DB25
connector or pins 3,2, and 5 on the DB9 serial connector. It
does not require a "null modem" to send or receive data. The
program sometimes needs a "restart" on certain machines. Startup
the program, and if you don't see any message traffic in a few
seconds, hit <ESC> to exit the program, and then reenter the
command line sequence. To help with serial port problems, I
have included the test program "UARTFIFO" which will look for
COM1 at 0x3f8, COM2 at 0x2f8, COM3 at 0x3e8, and COM4 at 0x2e8.
Additionaly, it will check to see if the interrupts 4 and 3
are correctly wired to the UARTs. It will also test for the
presence of a FIFO on the UART, which is important if you
are running under Windows 95 or 98. Note that on some laptop
computers with an IR port, it will identify that port as a
valid serial port, but you can't tie the RS232 data to it.



              NOTES ON MOTRTCM ver Beta 2

    This program will read the Motorola DGPS correction message
"@@Ce" and generate a corresponding RTCM 104 message. The program
reads the Mot message on COM1, and will send the RTCM output
to COM1 or COM2. The program is invoked by "MOTRTCM  COM1baud COM2baud".
The baud rates are specified as "9600,n,8,1". The 1st rate is
mandatory, the 2nd rate is optional, if it is specified, the RTCM
messages go to COM2, otherwise, they go to COM1. This allows you
to change baud rates. The Mot is stuck at 9600 baud, but most
GPS units want 4800 baud. If your computer has both com ports,
you can use the 2nd port to change the baud rate. The program
may be terminated by hitting <ESC>. When the program exits,
it will print some message statistics. The program was written
and tested with a 6 channel Oncore. An 8 channel unit was simulated
by stuffing two "Ce" messages back-to-back. The unit will attempt
to parse both messages fully. Therefore, it should be capable
of parsing up to 12 sat. The original release had an annoying
habit of not decoding when 1st run. You had to shut it down,
and rerun it a 2nd time, for it to function. I traced that to
an older version of my comm routines. I would appreciate any
comments on the program operation and/or needed improvements.

Additional notes 9/17/99.
	The 2nd serial port, if used, needs "Null Modem" jumpers
RTS - CTS, and DSR-DTR-CD. Or if DB-25, pins 4 to 5, and pins
6 to 20 to 8. If DB-9,  7 to 8, and 6 to 4 to 1. If this isn't
done, the program can't transmit the corrections, and will start
to "BEEP" loudly when the input buffer on COM1 starts to overflow.

       Jim Korenz    N8PXW
       jfkorenz@goodyear.com

