Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
SmartSDR TCP/IP API - Exaustive command list request
IW7DMH, Enzo
Member ✭✭
As the wiki documentation is lacking of a lot of commands I am wondering if Flex software engineers could publish an exhaustive list of every command supported by the last software version (1.3.8).
I am not talking about command explanation, but only about the default Flex basic dictionary.
I am a bit tired of the sniffing practice and I think it would be more useful having at least the full command list.
Thank you very much.
73' Enzo
iw7dmh
I am not talking about command explanation, but only about the default Flex basic dictionary.
I am a bit tired of the sniffing practice and I think it would be more useful having at least the full command list.
Thank you very much.
73' Enzo
iw7dmh
1
Comments
-
+10
-
Simple answer.
There isn't one and with the current workload at FlexRadio, I don't see one coming anytime soon.
It is trivial to understand the API using WireShark - fire up SmartSDR, do something the affects the radio and you will see the command structure. It is straight forward and intuitive.
If you have any detailed questions, post them here and I'll be happy to help.
Not an ideal situation, but its is what it is.
Stu K6TU1 -
Periodically we go out and add more detail to the wiki -- I just did this about a month ago. We know we're behind on getting all the docs in the wiki and will continue to add more as we have time. The effort to go do what you're asking, provide a list of all commands and options, is close to the same work to update the wiki. The hard part is pulling all the data out of the code. Rather than start another thing for people to read for the API, we'll just continue to try to find time to update the wiki.1
-
I am quite happy to be hunting for information on the wiki.
But on behalf of developers using "other" development-platforms, may I ask you this ..
Will there "ever" be a *real* dynamic link library ?
Quite a lot of us prefer to develop native unmanaged code, and having to wrap your managed dll with the overhead of .NET **** is a rather disgusting approach, - pardon my french :-)
0 -
"real dynamic link library"?
Oh, you must be using Windows .**** OS? There is nothing stopping you writing your own code - its not hard - just takes time and effort. FRS has to support where their market lies - and that, because of the will of the masses, is Windows.
For everything else there is Mac OS X - priceless!
Stu K6TU0 -
Yes, I am using Windows .. like a lot of other developers do. A lot of customers seem to demand that we produce our services using the MS platform .. Am I suppose to make an excuse for that ?
The fact is that a native DLL is absolutely prefered over anything that is depending on a big hunk of buggy frameworking (CLX, .NET). Nuff said. And it seems odd that you would choose to (natively) only support a very narrow development-platform. I am not asking for a timeframe here, only the an indication as to the chance of a native DLL, or alternatively complete source so a translation could be done.
Oh, and I do own a Mac .. and still I find more demand for development on the PC platform.
Seems that 80% of all business, production, banking, investing, education and what not prefer
the PC. Not everybody is an artist or arkitect :-)0 -
Write a replacement from scratch. It really is not that difficult. I know because I am the author of the Objective-C interface library to the radio.
Tedious? Yes.
Mundane? Painfully.
Difficult? **** no!
The real market for application development and use is mobile - and despite a bazillion dollars spent, Windows mobile is a joke.
I understand your comment re Windows only too well... but I have a choice what I do!
I really do feel your pain!
Stu K6TU
PS: Here in Silicon Valley, developers for Apple iOS make about 2x the salary of the same experience and skill level as Windows programmers... Android programmers about 1.5x.
PSS: Wait long enough and unappreciated skills become very valuable. Try hiring a programmer to update your CICS application driving 3270 tubes! ;-)0 -
I appriciate your stance, I really do.
I basically always had to work to pay rent, and jobs in my skill-segment seems to be demanding MS software for all kinds of businesses.
If I could join you guys in Silicon Vally, I would give up any of my development habits and be quite happy with 1.0 x normal salary .. Just for the experience :-)
But alas, I am a persisting kind of guy .. and I will get around this API-obstacle too.
Thanks for your comment. Rather made my day :-)0 -
Well, my idea was not to distract developers and designers from their more important targets.
I figured that, if someone has already written SSDR, somewhere there must be the complete commands list (I hope).
I find it very difficult to follow the traffic using the method suggested by Steve (right click on tcp packets and click on "Follow TCP Stream") as, often, most packets are lost (the typical message is "[7865 bytes missing in capture file]C5059|ping").
For example, I'm trying to understand what are the commands to change bandwidth filter, and also I would like to read the S-METER.
Also, a hint on right filters to use in wireshark would be helpful.
0 -
You will have to excuse my dry sense of humour (deliberate Brit mis-spelling)...
You can take the boy out of Britain but you can't take the Brit out of the boy!
Monty Python RULES!!!
Stu K6TU (ex G8HQA, DA4BM, N6TTO........)
PS: Sorry, have to go feed my Norwegian Blue Parrot some spam ;-)0 -
Try setting "tcp.port == 4992" - then I think you can add Follow Conversation and it will show you both sides of the TCP stream.
To read the S-meter, you have to use the VITA-49 packet streams which are sent via UDP.
Stu K6TU0 -
copy con: wiki: on this stuff !
Speaking about WireShark .. Do you know http://www.tamos.com/products/commview/ ?
0 -
I have another question about how to get the vfo frequency. I can't get in any way the slice status message.
Each time I send a command like "C12|slice t 0 14.035" I get only "radio status" and "interlock status" messages.
Also it is not clear this sentence in wiki pages: "... To find out about objects, the client must have either subscribed to status for the object ot controlled the object first (in which case an automatic subscription is entered on the client's behalf) ..."
How my application can subscribe to status for the slice? I am using a slice that it is already created by SSDR and not by my application.
0 -
Enzo,
To see what the slice is doing and to get status commands back from the radio you need to subscribe to slice status changes using "sub slice all" - then, when you or some other client changes any attribute of the slice, you will see a status message of the change.
You can tell whether the status message is a result of your own client by looking at the status handle at the beginning of the message.
Stu K6TU
0 -
Thank a lot Stu.
Reading better the wiki pages, SUB is one of the already documented commands.
I should have read the wiki better, but anyway, now my Flex studies go on
Thank you very much for your help.
73' Enzo
iw7dmh
0 -
Looks like an expensive clone of WireShark. Nice looking product but for most things, WS is plenty useful!
Stu K6TU0 -
If I can get my hands on a VITA-49 packet can I perform parsing of it just as I can with the TCP-IP packets? Example Command: 'C1|sub slice all' ?
Make sense?
Vern0 -
Short answer - no. The VITA-49 packets have a VITA-49 header and then payloads in various forms dependent on the data type being streamed. All streams arrive via UDP and the VITA header describes the stream type.
Current stream types are Meters, Pan and waterfall data, DAX streams, DAX IQ streams OPUS encoded audio data.
TO decode, you have to first analyze the VITA header, then process the data payload according to the stream type.
I am working on a document that describes this process but it is not yet finished.
Stu K6TU1 -
Does my 6500/SmartSDR, right now, generate VITA-49 packets and on which port. TU for the info.
0 -
yes it does - if you use Wireshark to observe the Ethernet traffic you will see all the VITA packets. The UDP port depends on what the client has told the radio to use - its usually from 4991 up.
This way multiple clients on your PC can process VITA streams including SSDR, CAT and DAX.
Stu K6TU0 -
What does the format of a VITA-49 packet look like for a given parameter(s) for the FLEXRadio?
Vern
0 -
Hello,
after the great suggestions that Stu gave me, I studied better the Flex TCP/IP command protocol using a telnet console.
There is no doubt that the only way to get the entire state of the radio is to send commands that Stu described above (and in another post) immediately after obtaining the connection. ("sub tx all","sub pan all", and "sub slice all")
The results of such commands are summarized in the pictures below. The values are referred to my Flex 6300. On a flex 6500 or 6700 the number of returned objects should be greater, but the number of related parameters should be the same.
About the commands to be sent, actually there is a fairly simple way to identify them all: with your preferred text editor you can search for the string "_radio.SendCommand" in the directory <path_to_flex_lib_archive>FlexLib_v1.3.9flexlib. As you can see, in that directory, there are lots of .cs files that logically identifies all the objects inside our Flex rigs. Each of them can send a set of specific commands to the radio, and these are commands we are looking for.
Here is a printscreen of my text editor after the search completion.
I hope this can be helpful.
73 'Enzo
iw7dmh
0 -
Enzo, thanks for all the hard work! Things like this really do help.
james
WD5GWY
0
Leave a Comment
Categories
- All Categories
- 292 Community Topics
- 2.1K New Ideas
- 537 The Flea Market
- 7.5K Software
- 6K SmartSDR for Windows
- 146 SmartSDR for Maestro and M models
- 363 SmartSDR for Mac
- 250 SmartSDR for iOS
- 231 SmartSDR CAT
- 174 DAX
- 355 SmartSDR API
- 8.8K Radios and Accessories
- 7K FLEX-6000 Signature Series
- 41 FLEX-8000 Signature Series
- 851 Maestro
- 44 FlexControl
- 848 FLEX Series (Legacy) Radios
- 802 Genius Products
- 420 Power Genius XL Amplifier
- 279 Tuner Genius XL
- 103 Antenna Genius
- 245 Shack Infrastructure
- 167 Networking
- 404 Remote Operation (SmartLink)
- 130 Contesting
- 635 Peripherals & Station Integration
- 125 Amateur Radio Interests
- 875 Third-Party Software