SSDR 1.16.17 CAT issues with FB commands

  • 1
  • Problem
  • Updated 3 years ago
  • Not a Problem
SSDR CAT 1.6.17 FB commands are not working when CAT port is selected to Slice A .
This will break many satellite applications that do uplink and downlink doppler tuning, typically Slice B uplink and Slice A downlink.
Changing CAT port to Slice B allows FB to work, but breaks FA Commands

I'm not sure if this was the intended consequence or not.

Dave
W0DHB
Photo of W0DHB

W0DHB

  • 43 Posts
  • 9 Reply Likes

Posted 3 years ago

  • 1
Photo of Tim - W4TME

Tim - W4TME, Customer Experience Manager

  • 9153 Posts
  • 3497 Reply Likes
FB command reads or sets VFO B.  That can't work on Slice A.  it will only work on slice B.
Photo of W0DHB

W0DHB

  • 43 Posts
  • 9 Reply Likes
Understand, Didn't quite say it clearly.
FB commands are not setting Slice B when CAT port is set to Slice A.
FA commands work fine setting Slice A
If I Change CAT port to Slice B FB works and FA no longer sets Slice A

Same CAT software worked fine pre 1.6
Photo of John G3WGV

John G3WGV

  • 193 Posts
  • 36 Reply Likes
I'm just starting to look into interfacing SSDR CAT 1.8.4 with my homebrew logging program.

FB; and ZZZB; do not work (return ?;) on either slice in my tests using the log function, which is odd. FA; on slice A gives slice A's frequency and FA; on slice B gives slice B's frequency but that seems to be at odds with the documentation.

There is a more fundamental question though: On a standard Kenwood-type radio there is one serial interface and that provides control of both VFO-A and VFO-B. As far as I can see, to do that with SSDR CAT I have to have two com ports open, one for each slice. I can write code to do that, as it's my own logging software but I don't see how it can work with other logging programs that are running the Kenwood CAT protocol.

Perhaps I am missing something?

73, John, G3WGV
Photo of Tim - W4TME

Tim - W4TME, Customer Experience Manager

  • 9153 Posts
  • 3497 Reply Likes
The radio is not in split mode.  Since any slice can be associated with a CAT port, VFO B commands are only valid if the radio is in split mode.

Use the ZZSW; command to set split mode.  ZZSW1; = split on / ZZSW0; = split off.
Photo of John G3WGV

John G3WGV

  • 193 Posts
  • 36 Reply Likes
Thanks, Tim, I was indeed missing something.

In the Kenwood radio world split mode is set just by enabling VFO-B on the front panel (in the Flex world, starting the 2nd slice) but I can see that's not valid in this case. Is there a way to (re)set split mode from Win SSDR/Maestro SSDR? I looked briefly and cannot see it.
Photo of Tim - W4TME

Tim - W4TME, Customer Experience Manager

  • 9153 Posts
  • 3497 Reply Likes
In the Kenwood radio world, CAT was not designed to work with up to 8 receivers ;-)

Is there a way to (re)set split mode from Win SSDR/Maestro SSDR? I looked briefly and cannot see it.

The short answer is no.  

Here is the long answer. Remember CAT is a separate non-GUI client application that interacts with the radio emulating the CAT protocol.  This construct of "split" is only defined at the CAT level, meaning when in split mode, it is how CAT responds to the different VFOx commands to comply with emulating the protocol.  So the enable/disable logic for putting the radio into split mode really should only be controlled by CAT or you can get into all sorts of strange operating states.  

Example: a contest mode app (logger) puts the radio into split mode and things are working properly.  Then an operator sits down and inadvertently changes the split state using SmartSDR for Windows (or Maestro).  Now the contest software that initiated the split state is not working properly anymore.  Why?  Because CAT is a get/set stateless communication protocol and is not designed be informed that a secondary process just messed with its operating state.  In addition, since you can have  up to 8 slices (4 "split" radios), it becomes more complicated to make sure the right slice "split" pair gets taken into or out of split mode from the GUI application.

This example demonstrates why CAT is a very poor protocol to use to control or interact with a radio (especially one with up to 8 receivers) and why the FlexLib API, where you can subscribe to events to enable a stateful communication process between the radio hardware and a third-party app is a vastly superior way to interface with a radio than the legacy get/set architecture of CAT. 
Photo of John G3WGV

John G3WGV

  • 193 Posts
  • 36 Reply Likes
That's very useful and informative, thanks Tim. Your points are well made and I agree that the proper solution is to use the FlexLib API. I'm looking into the API as part of a controller project and it may be that's how I'll end up implementing the logging interface as well, although it's a lot of code overhead just to read and set a handful of radio parameters from the logger!