Friday, March 4, 2011

CAT primer Skimmer dope

Last time we looked at the various ways freq data is entered into the radio from things like a mouse or keyboard. Today we will look at how other programs enter data into PSDR. Enter the CAT command! CAT commands are bits of data that come in over a serial port and tell the radio what to do. As well the radio can tell other programs what to do by answering queries. Other programs can also just query the radio to see what it's state is. The CAT command set for Flex has grown rapidly over the past years. Initially Flex used the Kenwood set of commands but Flex soon outgrew that set and has evolved from the oriional 16 commands to nearly 150 commands

The most recent command list is here

Note: all the following is done using version 2.0.19RC1 of PSDR. Newer or older versions may or may not work as described due to changes in CAT data but the format will be the same

You can execute CAT commands in PSDR by using the test feature. Open Setup and go to the CAT TAB. You will see a button called TEST, press that, and this screen will pop up


Here is a pic of the CAT entry for the command ZZAC; (note the ; its important)

ZZAC; is the command changes the frequency step of the VFO's If you put ZZAC; in the above test form and hit execute,


PSDR returns ZZAC00; If you look at the above table you see 00 corresponds to a 1hz freq step

If you look at the above table 00 corresponds to a 1hz freq step as displayed on my VFO


If I enter ZZAC03; and execute


I get


I chose this as a test because it has many arguments to play with to get a feel for the test form and how CAT works. Now you may say whoop de doo, I can change the freq step!! But there are nearly 150 things you can change using CAT commands in PSDR. It is a means to set up your radio for example. To set up diversity I have 3 macros in DDUTIL 2 that turn diversity on, and one that turns diversity off. These commands also configure my antennas to the normal pair I use for diversity reception


The macros are enumerated here


M4 Diversity1 ZZRS1;ZZSP0;ZZSY1;DDDV1;ZZOA2;ZZOB1;ZZOC2;ZZDF1;ZZDE1;

M5 Diversity2 ZZRS1;ZZDF1;ZZDE1;ZZSP1;ZZSY1;DDDV1;ZZOA2;ZZOB1;ZZOC2;DDVA;

M6 DiversityOff ZZDE0;ZZDF0;DDDV0;ZZSP0;ZZSY0;ZZRS0;

and these macros corrospond to these keyboard F keys


I include the above so you can merely cut and past the commands into DDUTIL and make your radio turn diversity off and on if you have the second receiver installed.

Here is what these lines of code do to the radio

Diversity Off


This is the standard no diversity radio In this example I have various antennas chosen and RX 2 is in LSB with a filter of 2.4khz chosen

Diversity1 does this to my radio


Notice how the antennas are now 2,1,2 This is my preferred diversity antenna set up and notice how RX 2 is now in CWL and the 12hz filter is chosen This is my preferred setup all using CAT commands all with one click. Flex does not have a command that sets RX1'as mode to RX2 or sets RX1 and RX2's filters to be equal so DDUTIL has its own CAT command set Using this command set you can include commands in your Macro that do things PSDR can not do. The command for setting these 2 parameters = to each other is DDDV1; and to turn that off is DDDV0;

Diversity2 takes things one step further and is what I turn on when I want to work diversity split



In this case SPLIT is engaged and the freq data in VFO A is placed in VFO TX. Normally WHen VFO TX is energized it comes up at a default 7.00000 MHZ and is a PITA to set. My antennas are automatically set as well as my amp, BUT the band they are set to is controlled by the VFO that I am transmitting on so even though I may be listening to 80M if my TX is set to 40M my 40M antennas are energized. This is another DDUTIL CAT function called DDVA. It takes the data from VFO A and shoves it into VFO TX and saves me all the hassle of setting up VFO TX I LOVE THIS FUNCTION!!

So why all the long winded bla bla bla about CAT and macros? Well it is through CAT in the same fashion that programs talk to PSDR through DDUTIL

Here is a dump from a port monitoring program that is monitoring output from Skimmer


In this dump you will see out to the side length 3 FA; and a little later Length 14 FA0003500000;

FA; is one of the original Kenwood CAT commands and it is being I/O on Radio 1 of Skimmer

A little later you see FB; and a response of FB 0000350100; This is an example of my radio talking to skimmer and here is the display on my radio.



As you can see VFO A = 00003500000 and VFO B = 00003501000

I noticed Skimmer has 2 Radio ports in its set up menu.

I reasoned if I could address 2 ports I could make the output from each do different things. What I wanted was a way to make Skimmer control the TRANSMIT freq instead of the RX freq.

the virtual com port system allows you to set up virtual serial port connections between 2 programs. On Radio 1, Skimmer connects to DDUTIL over the pair 9-19


On radio 2 Skimmer connects Radio 2 to DDUTIL using the pair 6-16

Here are the DDUTIL connections


But wait the 6-16 Radio 2 pair is connected to a port called CWS (CWskimmer)

The reason for this is port CWS does some magic. If I am using radio 1 and I click the skimmer waterfall it sets the VFO A freq


Note how VFO A changes from 3500 to 3503.980


This is normal behavior for Skimmer BUT by changing to the Radio 2 6-16 pair I can control my transmit VFO


In this case when I click Skimmer my transmit VFO (VFO B) changes freq. from 3501 to 3504


Imagine you are in a pile up and want to change the transmitter freq all over the pileup as you see different stations working the DX. You merely click the waterfall and there you are transmitting on the freq of your desire, and there is NO CHANGE in the RX freq.

But what about diversity? Diversity has that pesky VFO TX. Well through more magic you can make skimmer control VFO TX in a pileup and VFO A and VFO B stay linked and do not change freq


A VFO TX freq of 3500 becomes 3505 when I click 3505 on Skimmer's waterfall


This is done through the magic of CAT commands and some data manipulation in DDUTIL which is why there is a special port for CWS!

If I want to change the RX freq using Skimmer as the freq controller all I have to do is turn off split and then click around on the skimmer waterfall and the RX freq changes. Then if I turn split back on the TX freq changes again. I can also change everything using the mouse in PSDR or by direct entry.

Also the ability to enter data into the RX VFO from Spot Collector (my DX cluster program) is intact when this transmit clicking oin skimmer is active


Note the change in RX freq when I click SpotCollector


To set the TX VFO I merely click skimmer


So basically the whole operation is becoming one button and point and shoot!!! The more I customize the behavior of my radio the more I love to operate it.

I did a lot of the concept design for this aspect of the radio and of course my buddy K5FR did the coding. I would also like to thank Bob K5KDN the keeper of the CAT commands at Flex, and I would like to thank the people at Flex. Because Flex is open to ideas from operators they have been very responsive to Steve and me when we get a wild haired idea. I think they trust something cool will come out of the experience. Bob has also been crucial to exposing the CAT commands at our request We could have not done the SO2R project and this project without him. The commands we needed to get the job done did not exist even one month ago.

I hope I laid this out clearly enough so you can copy how to make your radio behave like mine if you are interested, and with enough inside baseball that you get some idea of what is happening when you click this or click that. I don't know of any other radio that gives you such exquisite control of functionality and I don't know of another radio company that is so interested in making the radio work better.

Sorry for the length of the post

73