I also have another new radio, an absolutely awesome Kenwood TS-590S that I use for HF, so the TS-2000's main role is VHF/UHF and Satellite work. I treat the higher bands a little differently than HF in that I use a lot of memories for local repeaters, FM calling, SSB calling, etc. This lets me do memory scans and monitor several repeaters and simplex at the same time.
The ARRL has a great (well, okay, workable) software package called Travel Plus that tracks repeater frequencies, etc. While I don't use the software because I feel that it is too expensive for the 1990's style programming, it does serve to help the hobby by introducing a file format standard that several of the other providers of this information have picked up and used. I like RFinder and use it for finding repeaters in my area. Don't get me wrong, all of these services have issues, but I think that RFinder is the best of a sad lot. In their defense, it has got to be like herding cats trying to get hams to use the same standard for data input when adding their repeaters to the services.
Anyhow, I wanted to import this database of repeaters into my TS-2000, only to sadly find that the MCP-2000 program offered by Kenwood doesn't allow you to import anything other than files in its own format. Well that sucked, to put it mildly. I was all happy to find this MCP 2000 program to begin with. Then to have those hopes dashed... Enter this XKCD comic:
This comic accurately describes how I feel. Thank God I sort-of know PERL. So let me break down how I fixed this problem, and maybe save you the trouble.
First off. Kenwood's File Format. Kenwood likes to use some random obscure string of numbers and letters to represent information like input frequency and offset and what mode you are using and whether or not you are using positive or negative shifts.
It looks like this:
Or, a whole bunch of them:
Isn't that easy to read? Give you a warm fuzzy feeling? Yeah, right, me neither...
So here is a break-down of what that awesome string means:
MEM - First four characters are the memory position that will be used in your radio:
FREQ - The next string is the frequency, padded with leading and trailing zeros, and no dot
MODE - This next character is the mode (FM, AM, SSB, etc)
PL - Then the PL tone type (Tone, CTCSS, DCS)
TONE - Now the tone itself, as referenced in a table in the program
CTCSS - Then the CTCSS, also as referenced in a table in the program
DCS - After that is the DCS, you guessed it, it is also as referenced in a table in the program
REV - Then whether or not to create a reverse entry also:
SHIFT - Now what kind of shift to use (positive, negative, or simplex)
??? - Not sure about this one, it may be an additional leading zero for the frequency offset
OFFSET - And now the offset frequency, this represents 600kHz with a lot of leading and trailing zeros
MB - Now it would like to know what memory bank to store this memory item in
CALL - And finally, the call of the repeater, or whatever you want displayed up to six characters.
Well now, was that fun boys and girls? I know that I had a blast figuring it out. Sorry if I'm snarky, that is what dredging up long unused PERL skills will do to a person...
So, how about some information on some of those more cryptic fields above? Here you go:
- 1 LSB
- 2 USB
- 3 CW
- 4 FM
- 5 AM
- 6 FSK
- 7 CW-R
- 8 FSK-R
- 1 Tone
- 2 CTCSS
- 3 DCS
- 13 LOCKOUT
Tone, CTCSS, DCS
- Correspond to position in dropdown in MCP 2000
- Group number (0-9)
- 0 Simplex
- 1 Plus Shift
- 2 Minus Shift
So there you have a quick run down on the file format used for the TS-2000's memory manager.
Using that information, I wrote a PERL script to take a TPE file, parse it out, and output that unGodly block of numbers and text that I was able to paste into the file that MCP-2000 uses for import into the radio. I'm not sure how to post such a file to this blog, but email me if you would like a copy and I will happily share it with you!
I hope that this has been as much fun for you to read as it has been for me to blearily type... ;-)