home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
rtty
/
tlmdc
/
read.me
< prev
next >
Wrap
Text File
|
1990-01-29
|
9KB
|
187 lines
Howdy:
THIS CODE IS INTENDED FOR AMSAT USE and PRIVATE USE ONLY. YOU MAY
RE-DISTRIBUTE FAR AND WIDE BUT CHARGE NO MONEY, NOT EVEN HANDLING
FEES. COMMERCIAL USE OF THIS CODE IS ABSOLUTELY PROHIBITED WITHOUT
PERMISSION OF THE AUTHOR. THIS CODE MAY NOT BE USED AS THE BASIS
OF ANY PROGRAM THAT WILL BE SOLD, BARTERED, OR IN ANY WAY TRADED
FOR GAIN WITHOUT THE PERMISSION OF THE AUTHOR. (Not that I can
figure out why anybody would, just thought I'd protect AMSAT a bit).
NO WARRANTY and AS is what you got. What you see is what you get.
Here at long last is the RUDIMENTARY telemetry decoder WITH SOURCE (much
good as that will do you). The program operation is simple. YOU MUST
BE RUNNING KISS in your tnc. I tried various ways of handling the
straight ascii stuff and finally threw up my hands with the exceptions
that will surely creep in the first upload and gave up on it. There
are four main functions selected by touching a key. They are
D = Toggle Dump, T = Tlm Decode, F = Decode File, Q = Quit
as seen from the main page. D dumps the incoming frames (all of them)
to a file. Both a raw data file and an ascii file are required (make
sure FILES= NN etc. in your config.sys are bigger than 2 ;-). You will
be prompted for them. While you are seeing the frames on the main page,
or decoding telemetry, the data will be dumped. T starts decoding
the telemetry and F will decode the frames from a previously captured
RAW data file, and Q leaves the program. The ascii data file is primarily
for you to be able to eyeball the stuff that came in. The raw file is
of course full of unprintable characters (shifted address characters,
control info, etc.).
Equipment,etc. required: I have run this on an 8 Mhz XT WITHOUT 8087 and
it kept up with the data, etc. I have run it on a 4.77 Mhz position on
my AT, and it did NOT keep up with the data, even using the 80287 in the
decode. I MAKE NO GREAT CLAIMS FOR THE EFFICIENCY OF THE AX.25 algorithm
and I hope that somebody else will jump in and do a better one. No graphics
cards are required. No full duplex is required in the KISS as this is
listen ONLY. So, at least 8 Mhz XT, TNC running KISS, a PSK modem for
all but DOVE and regular BEL-202 for DOVE.
************************
MBBIOS is no longer required unless you have some other than COM1 and COM2.
I have written rudimentary interrupt handlers with large buffers in
serial.c This code could supports both com1 and com2. It is written
for simplicity and not elegance. It does NOT handle framing errors,
or overruns or any such nonsense. I MAY add all that in the future.
These interrupt handlers are short and sweet and should be informative
to those who have never written one. I am TSR friendly. By that I mean
that I hand back.
IF YOU MUST BE RUNNING MBBIOS, then you must replace serial.c with tmp.c
and recompile. I do not know how to write serial I/O handlers for COM3
and COM4. If someone wishes to hand me a basic roadmap or the code to
do the same, then I will add it. You may get MBBIOS from DL9 on CI$ on
HAMNET or pull MBB33.ARC from DRIG (the AMSAT BBS). Read the MBBIOS
instructions to set it up.
YOU MUST BE RUNNING KISS IN YOUR TNC to capture live data.
************************
Operation:
The program comes dialed in for COM1:9600,N,8,1. You may change the
speed on the command line but you may not change the port unless you
recompile the source. This is Microsoft C^tm 5.1 (_set and _clear etc.
are in the Microsoft libraries and self explanatory). To change the
speed at which the serial port is run, when you bring the program up
type
tlmdc COM1:4800,N,8,1
(,N,8,1 is mandatory!)
This will set it up at 4800 bps. At 2400 BPS you are really pretty
slow and at 1200, I have my doubts whether or not you will stay ahead
of WEBER's long telemetry list if you are on 8 Mhz XT without coprocessor.
The program automagically recognizes which satellite you are listening
to and reads in the appropriate equation file. This will allow you to
update the files as we refine the equations and not have to replace the
program. Therefore you must have the files
PACSAT
DOVE
WEBER
LUSAT
in the current directory on your disk at ALL times, especially if
you are going to `tune around' amongst the different satellites the
first few days. If you have brought the program up, you will see
data being dumped to the screen when the bird is tuned in.
LUSAT -1>TIME -1 V UI: PID=F0
PHT: uptime is 000/13:38:49. Time is Mon Jan 15 21:21:30 1990
LUSAT -1>TLM -0 V UI: PID=F0
00:75 01:75 02:7A 03:75 04:7A 05:7D 06:75 07:80 08:7D 09:75 0A:7A
0B:7D 0C:75 0D:7A 0E:7C 0F:75 10:75 11:75 12:75 13:77 14:75 15:75
16:7C 17:77 18:75 19:77 1A:7D 1B:75 1C:75 1D:75 1E:75 1F:76 20:75
LUSAT -1>TLM -0 V UI: PID=F0
21:75 22:77 23:7D 24:75 25:75 26:75 27:75 28:7D 29:75 2A:75 2B:75
2C:7D 2D:75 2E:80 2F:75 30:75 31:75 32:75 33:75 34:75 35:75 36:7C
37:75 38:75 39:75 3A:75 3B:7C 3C:75
LUSAT -1>STATUS-0 V UI: PID=F0
00 00 00 80 B0 18 55 03 00 00 00 00 30 00 00 00 00 00 00 00
LUSAT -1>WASH -0 V UI: PID=F0
wash addr:2800:0000, edac=0xc0
LUSAT -1>TIME -1 V UI: PID=F0
PHT: uptime is 000/13:39:00. Time is Mon Jan 15 21:21:41 1990
LUSAT -1>TLM -0 V UI: PID=F0
00:75 01:78 02:75 03:7A 04:75 05:7A 06:7D 07:78 08:75 09:75 0A:78
0B:75 0C:7A 0D:75 0E:75 0F:7A 10:75 11:75 12:75 13:75 14:75 15:75
16:75 17:76 18:75 19:76 1A:75 1B:75 1C:75 1D:75 1E:7D 1F:76 20:75
LUSAT -1>TLM -0 V UI: PID=F0
21:75 22:75 23:75 24:75 25:75 26:7D 27:75 28:75 29:75 2A:75 2B:75
2C:75 2D:75 2E:75 2F:75 30:75 31:75 32:7D 33:75 34:75 35:7D 36:75
37:75 38:75 39:75 3A:7D 3B:75 3C:75
LUSAT -1>STATUS-0 V UI: PID=F0
00 00 00 80 B0 18 55 03 00 00 00 00 30 00 00 00 00 00 00 00
LUSAT -1>WASH -0 V UI: PID=F0
wash addr:2a80:0000, edac=0xc0
The above is an example of two complete telemetry rounds.
uptime is the number of days/hh:mm:ss since the kernal was started.
WASH is the output of the memory wash routines, which will correct
errors in the stored memory.
STATUS lines output various status bits. The first three are receiver
digital port bits, the next three are Power module digital port set
bits, and the next three are the transmitter digital port set bits.
The next three are used on DOVE and PACSAT to give the digital port
bits for the DOVE and S band modules respectively. In the thirteenth
position, the seperation switch is sensed. If you see this, the high
order bit (0x80) will always be or'd with the byte since the transmitter
won't be on otherwise!
UI means it is a UI (unnumbered information) frame. PID=F0 is the
protocol ID byte and F0 is RTTY-PACKET (a derogatory term for regular
TNC packet). C0 is TCP-IP, etc. The V followed by a blank means that
there was no digipeater field. Of course there won't be with the
bird BUT, the algorithm may be used to monitor regular packet and will dump
the other type frames as well. There just won't be a satellite id'd
or telemetry decoded ;-).
If you touch the T key at this time, the screen will be cleared and the
rudimentary telemetry decode, based on the preliminary equations will
occur. The display is not pretty since I spent my too little time
getting the functionality right. A really pretty one follows later
from AM$AT ;-). Touch any key and the program will return to the
main page (possibly after a minor delay in timing out the ax.25 receiver).
The status decode will vary from one bird to the other, with some consistency.
The TXA means transmitter A and TXB means transmitter B. 0 means off and 1
means ON. SBT is the S band transmitter. BCR is the value set on the
digital to analog converter (DAC) in the power module. This DAC controls
the battery charging rate.
If you touch the D key (for the first time) the screen will be cleared.
You will be asked for two file names, one for a raw data file and one
for ascii dump. ASCII dump is what I included above. RAW is what you
will need for function F.
Touching the F key at the main menu, will clear the screen and prompt
you for the name of a RAW telemetry dump file. It will dump complete
frames at a time, uptime, both telemetry frames, and a status line
and the stand by for you to touch a key. When the end of file is reached,
the message in the bottom right hand corner changes and says end of file
touch a key and you will be back at the main menu.
That's it.
The source is largely undocumented and I make no claims to either pretty
or efficient code. There just wasn't time. This is a hodge-podge of
stuff that Harold, Hugh, and I did with all the blame for the foul
ups going to me as I made extensive changes. A much better program follows.
Bug reports to N4HY and I hope you find this usable.
Bob McGwier, N4HY