Thursday, March 24, 2011

Debut of the Knob

This is a project that is coming to fruition. It started as the brain child of Stu K6TU. I'm going to spend some time on the history and development of this project because I think it is a very interesting story. What it shows is how some people who don't know each other or know each other loosely, and who are scattered across the USA can come together around an idea and make it into a reality. Its a story also about a company Flex Radio who allowed for its software to be modified through the exposure of new CAT commands in PSDR so that this Knob could come to fruition. I asked Stu for some background and he published:

Origins & Refinement of the Contest Knob – I

I will follow with some more of Stu's history as it is published. What you see pictured above is the end product of this project. Once Stu K6Tu and Kevin K6TD had a design it was forwarded to Steve K5FR. Steve made up 5 prototypes. It was about this time Steve and I were hot and heavy into creating the SO2R interface using N1MM. I was totally unaware of the Knob development. A bit later I received a copy from Steve. Steve wrote the interface which now appears in DDUTIL and it allows the Knob to control PSDR

Stu is a master of PIC micro-controller code. A PIC chip (short for Peripheral Interface Controller) is a device which can be programmed to read inputs from the world outside itself, do some processing on the data it receives, and then output the results of its processing. Here is a short tutorial on how a PIC works

What was created was a USB based Knob controler for PSDR that could send up and down signals to DDUTIL as it was turned. The Knob also has a switch connected to it, like a big push button. In addition 3 more switches and some LEDs were added to the mix. The PIC scans its inputs and looks for state changes for example a knob twist. The knob when its twisted causes a series of signals to be sent to the PIC like the dits of a Keyer. If you twist a lot you generate a bunch of "dits" if you twist only a tiny bit only one "dit" gets sent. The PIC can also tell direction If you twist CW the function being controlled goes up and if you twist CCW it goes down. The most obvious thing to control is a VFO but the knob can also control things like audio gain and RIT and XIT. The button on the knob can control various functions for example if you push once you can toggle between VFO A and VFO B.

Stu put in a feature that allows for the Knob button to control up to three functions and and to be able to toggle between 2 banks of functions The original code Knob code only had three functions for the buttons, but at my request Stu recoded the firmare to include 9 total functions for the 3 buttons. Here is a shot of the DDUTIL interface

The 6 boxes grouped together are Knob click controls. Off and Sgl-clk are a toggle pair short click once and VFO A switches to VFO B. Short click again and you're back at VFO A. If you double click you will turn on and off variable tuning which is an acceleration feature of the knob. If you twist fast the software recognizes that and will move faster in the direction of twist. This way you can cover a lot of ground with a twist. If you then light on a station where you want fine control the software automatically decelerates and you get very fine control.

One of the commands we had to be able to access was the ability to tune the TX VFO when in diversity mode

Bob K5KDN at Flex created for us a means in PSDR to do that using CAT commands

If I LONG click the knob the B row of functions is activated

and I can once again do the various toggles I described on a second bank of commands. Here is a drop down of some of the commands available on the Knob button

All button presses are not created equal however and Dbl-Clk has some unique choices

Now comes the 3 buttons on the top of the box.

As you can see each of these also have the ability to control 3 different commands

and the command choices is pretty extensive

We included up to 8 Macro commands so the real functionality extends to the entire CAT set of PSDR which is close to 150 commands. In addition you can do complex commands in the macros like one button press for diversity on or off.

Here is a shot of my macro file for the Knob macros:

What the first 3 macros do is address memory 2, memory 3, and memory 4 in CWX

This turns my knob into a memory keyer for working DX!! The first three buttons are now all I need to break pileups and work the DX! In addition the knob does NOT need to be in windows focus to work its magic!

CWX is in need of some serious redesign, but Flex did some improvements in the TX/RX turnaround time and it now works in a fashion capable of breaking a pileup. I now have a memory keyer with basic functionality and push-buttons instead of mouse clicks! I HOPE someday they will tie the speed control to the front panel speed control so you don't have to adjust 2 boxes to change speeds as often happens when there is low band static and the DX is having a bit of a hard time decoding your signal. I would also like at some point the typical functions of a contest keyer.

Since the Knob is independent of the Windows focus, I can be in a logging program or a contest program and still control PSDR from the knob.

The last 2 macros allow me to change step size between 1hz and 100hz. I use 1hz to fine tune in a DX station, and then I switch to VFO TX and use 100hz to quickly cruise up and down the pileup, and I can do all of this without PSDR or DDUTIL being in focus

If I get confused as to what click switch does what, Steve created a little sub window as a guide and it is always visible. (I can not tell you how responsive K5FR was to the development of this control device. The guy is simply amazing)

It shows what VFO bank is active

and it also can memorize a custom label, so W9OY is displayed in the first button instead of Macro M30

Here is what it looks like on my desktop

This project was a blast to participate in. Four guys widely separated across the country from California to Texas to Florida, with widely disparate skills, came together and made it happen. Basically I didn't know Stu or Kevin at all. I knew Steve from other projects we had worked on. I was a late comer to the party give credit to the others primarily, but I did have considerable input in the Knobs final behavior. Thanks also to Flex for exposing the CAT commands we needed to make it happen. The development is ongoing and I will update as time goes on and more becomes available.

This is the reason I wanted take a little time and look at all the means there are to control the Flex Radio. To recap we have all the internal means to control the radio. Then there is CAT as demonstrated through Skimmer. Then there is the effectiveness of this external control on the overall behavior of a radio station By judicious design you can make the F5K and DDUTIL control central for a very complex radio station yet make the station behaveior effortless to use. Then there is further integration with other programs There are improvements and streamlining that improves productivity. Finally there is the Knob, which is a piece of hardware controlled by firmware and provides a windows focus free means to manipulate PSDR. All of this is tied together by K5FR's mighty DDUTIL.

Frank AB2KT, the developer of DttSP used to talk about using a midi surface to control the radio. That concept never really appealed to me because of the ergonomics of a midi surface and a keyboard and a paddle and a mouse and a MIC all spread out over the operating table, but this little knob is totally functional and takes up little room and it is also totally plastic (in terms of being programmable). Change the firmware or the software and voila' new things can happen. Maybe if we do two button pushes together we could get another 9 functions.... Naw Steve and Stu would kill me....