SmartCAT

  • 1
  • Question
  • Updated 2 months ago
I’m working on my own GUI client using FlexAPI, but SmartCAT doesn’t recognize it? Do SmartCAT and SmartDAX only work with FRS GUI programs?
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes

Posted 2 months ago

  • 1
Photo of Mark - W3II

Mark - W3II

  • 228 Posts
  • 49 Reply Likes
Your program is a GUI program if you set API.IsGUI = true; before you call radio connect.
Once you do this and connect your program should be listed with other GUI Clients.
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes
Here's my startup code:

        public Main()
        {
            InitializeComponent();
            WindowPlacement.SetPlacement(this.Handle, Properties.Settings.Default.WindowPlacement);
            API.IsGUI = true;
            API.ProgramName = "N8MEFlexWinForms1";
            AttachEventHandlers();
            API.Init();
        }

The computer name is QUAD. If SSDR Windows is running QUAD is in the dropdown list,
but with my client it isn't. What am I missing?






Photo of James Whiteway

James Whiteway

  • 1057 Posts
  • 302 Reply Likes
Version 2.51 only allows a single GUI app to connect to the radio and display things like the panadapter and waterfall. You can run a non GUI app and a GUI app like SSDR together.
That's the reason I upgraded to v3.
James
WD5GWY
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes
I'm only running one GUI app at a time. When my app is running, no other GUI apps are running.  


I think I know the answer, but I just want to confirm. Under version 3, if you have two GUI apps running, do changes made one GUI app affect the other. IOW, if I change band/frequency/mode on GUI A, does it change band/mode/frequency on GUI B? I was under the impression that the two clients were more like two separate radios.  What I started out doing was trying to improve on the panadapter / waterfall display while still using Smart SDR Windows (or the Maestro) to handle the rest of the settings.  

I now think that, even with Version 3, I would have to handle all the features in my client just to be able to display a different panadapter or waterfall.  If I'm wrong, the version 3 upgrade becomes more attractive.
Photo of Mark - W3II

Mark - W3II

  • 228 Posts
  • 49 Reply Likes
You missed one very important step or you have not included the code.
Here is my guidance again.

Your program is a GUI program if you set API.IsGUI = true; before you call radio connect.
Once you do this and connect your program should be listed with other GUI Clients.

Find, locate, browse, etc to get the Radio object then radio.Connect();

If you want help collaborating on your project, I would suggest you create a GitHub account, add your project then invite those who you want help from to the project.
73
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes
Mark,

After a lot more testing, I reverted my 6700 to v2.4.9 and SmartCAT recognizes my GUI client. There must have been a change in the process with the conversion to v3.

Under v2.4.9, SmartCAT connects to the radio as soon as I select it. Under v2.5.1, it won't connect to the radio until a GUI client is running. But it seems like merely setting IsGUI in the API isn't enough. 

I've  opened a help ticket on this issue. Hopefully, someone in the know from Flex will tell me what's missing.
Photo of Mark - W3II

Mark - W3II

  • 228 Posts
  • 49 Reply Likes
You are using the FlexAPI V3+  with 2.5.1 and 3.X right?
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes
I'm using FlexAPI v2.5.1. My understanding is that it incorporates the changes needed to support the v3 common code.
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes
Mark,

I didn’t show that part of my code, but I do connect to the radio.
Photo of Mark Erbaugh

Mark Erbaugh

  • 516 Posts
  • 45 Reply Likes
Okay, it turns out that with FlexAPI v2.5.1, you must call the Radio object method, SetClientStationName. Once you do that, SmartCAT will find your GUI client.