SmartSDR with an "M" model radio

  • 1
  • Question
  • Updated 1 year ago
Can anyone tell me the sequence of commands sent by SmartSDR (via the API) when it is started using an "M" model radio.

Apparently, the Maestro-like front panel in an "M" model is connected to the API as a "GUI" client. When I try to connect to an "M" model with my own app (SmartSDR-like) I receive a response code of "F3000001, Maximum number of clients exceeded".

Does SmartSDR somehow disconnect the Maestro-like front panel prior to connecting?
Photo of Doug - K3TZR

Doug - K3TZR

  • 120 Posts
  • 17 Reply Likes

Posted 1 year ago

  • 1
Photo of Mark - W3II

Mark - W3II

  • 237 Posts
  • 53 Reply Likes
Today there is only 1 GUI client allowed which is controlled by the isGUI property on the API object. Set this property to false. If you are using TCP commands then don't send "client gui" command.
(Edited)
Photo of Doug - K3TZR

Doug - K3TZR

  • 120 Posts
  • 17 Reply Likes
Mark,

Thanks for replying. I know that there is only one GUI client allowed, my question is how do you use SmartSDR with an M model radio (I don't have one to test with, I only have a 6500).

If you have an M model turned on and the front panel is connected as a GUI client, how do you (or SmartSDR) tell the M model radio to disconnect its GUI so that SMartSDR will be able to connect as a GUI?
Photo of Ted  VE3TRQ

Ted VE3TRQ

  • 593 Posts
  • 209 Reply Likes
To disconnect the M front panel, connect to the radio on the port and IP address sent in the discovery packet, and then send a client disconnect command: "c0 | client disconnect". This will leave the radio in a state in which it can connect to another GUI.

However, if all you want is CAT and DAX access, just go ahead and connect those - they co-exist with an attached GUI from panel.
Photo of Mark - W3II

Mark - W3II

  • 237 Posts
  • 53 Reply Likes
Connect as non-GUI then send the "client disconnect" command.
Photo of Doug - K3TZR

Doug - K3TZR

  • 120 Posts
  • 17 Reply Likes
Ted,

Thanks for helping.

I can try that. Are you suggesting that SmartSDR sends a "client disconnect" to any M model it detects (in Discovery packets) on startup?

I have a SmartSDR-like app (i.e. a GUI client) which another amateur tried with an M model radio for the first time yesterday. It failed to connect as a GUI because of the existing GUI connection of the front panel. Apparently SmartSDR can connect so SmartSDR must be doing something to close the front panel connection. I've looked in the FlexLib source code but haven't found anything yet.
Photo of Mark - W3II

Mark - W3II

  • 237 Posts
  • 53 Reply Likes
The M model works very close to the way SmartSDR/W works except when the radio and the M start up the M will load and connect to the radio. If you are developing a lights out style of connection on reboot you will have to disconnect the M first before providing your own GUI connection.
Photo of Ted  VE3TRQ

Ted VE3TRQ

  • 593 Posts
  • 209 Reply Likes
I have not snooped the connection, but I would suggest that when SmartSDR does a "Connect", it will send a disconnect first. It does not spontaneously send a disconnect when started up. I can start SmartSDR on a Windows laptop, which will then start Cat and Dax apps. The SmartSDR window just sits there while I use Dax and Cat to control the M-radio with a digital app of my choice. The front panel stays nicely connected and provides the slices I need for the digital applications.
Photo of NA0B

NA0B

  • 39 Posts
  • 3 Reply Likes
Doug,

I often have my 6600M radio in FT8-WSPR mode. When I connect remotely, I get the question: Do you want to disconnect the other user? (or something similar). I click YES, wait about 45 seconds, and try to connect again. It always works so far.
When I tried xSDR6000, I did not get the question about other users, and I could not connect.

Thanks for xSDR6000!

73 de Juan.
Photo of Doug - K3TZR

Doug - K3TZR

  • 120 Posts
  • 17 Reply Likes
Thanks Juan,

I'm working on it now. I'm in the process of adding the ability to close the front panel GUI connection before making my GUI connection. Up until last night, I had not tried to connect to an M model (and xSDR6000 crashed badly when trying). 

I've added a more graceful shutdown and error message when I fail to connect as a GUI. Now I have to make the M model connection work correctly.

Adding a question for the user had not occurred to me, I'll add that to my code.
Photo of James Whiteway

James Whiteway

  • 1062 Posts
  • 303 Reply Likes
Doug, have you looked thru the API doc's for this?
I never had an issue disconnecting the Maestro I had with the 6500. But, I haven't tried it with my 6600M.
I think I read somewhere that the front panel connects differently to the radio. Not sure if it is networked or what. I haven't updated any of my code since I got the 6600M. Just never seems to be enough time. (long haul trucker)
Maybe Eric or Steve will see this and fill in the missing pieces for you.
I doubt you could see commands from the front panel with Wireshark. (my first thought)
James
WD5GWY
Photo of Ted  VE3TRQ

Ted VE3TRQ

  • 593 Posts
  • 209 Reply Likes
The front panel on an M radio has its own IP address provided via DHCP. The front panel interface OUID (the high order 24 bits of the MAC adddress) is the same as the radio, just the last 24 bits are different, in a different numeric space. I believe it has an internal network connection to the radio, exactly as would either a Maestro, or a copy of SmartSDR running on a PC, or dogparkSDR running on a Mac, or SmartSDR for iOS running on an iPad.
(Edited)
Photo of Eric - KE5DTO

Eric - KE5DTO, Official Rep

  • 919 Posts
  • 346 Reply Likes
Similar to SmartSDR for Windows, if a GUI client is already connected to the radio, we show this in the connect dialog in the radio status (In Use) and give the user the option to disconnect the existing client.  I think the commands to do this have already been mentioned in this thread.  Let me know if you have specific questions about how this works.
(Edited)
Photo of Doug - K3TZR

Doug - K3TZR

  • 120 Posts
  • 17 Reply Likes
Eric,

Thanks for the clarification. I think I understand what needs to be done.
Photo of Doug - K3TZR

Doug - K3TZR

  • 120 Posts
  • 17 Reply Likes
One more piece of the puzzle, Georg (DJ6GI), was able to start my GUI app connected to his 6600M. He wrote to me that if you “stay at the screen where it hasn’t started the internal smartSDR yet” you can then connect as a GUI from an external app..


I don’t have an M model so I can’t directly test this approach. I’m working on a change to my app that will disconnect the front panel when connecting.
(Edited)