Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

How to compile and run smartSDR API on linux Ubuntu 16.04?

Justin DesaiJustin Desai Member
edited December 2019 in FLEX-6000 Signature Series
I am trying to use the smartSDR API on my Ubuntu computer so I can communicate with my flex 6400m radio. I have downloaded the api and tried compiling it in multiple ways, however, I just cannot seem to get it to compile. I've tried writing my own C# program that uses some of the methods in the api, but my program cannot find the api libraries.
At this point, I am kind of lost as far as knowing how to even connect to my radio using the api because everything I have tried has not worked.
Will the API even work on linux? Or do I have to communicate manually over the ethernet cable without using the API?

Thank you in advance for your help.

Answers

  • Paul BurtonPaul Burton Member ✭✭
    edited October 2018
    Justin,

    I assume you are trying to use the Flexlib API on Ubuntu.  What development system are you using?  Visual Studio 2017 can develop software for Linux and then bring in Flexlib as a resource, But I'm not at all sure that Flexlib would properly compile in that environment as Flexlib has many dependencies on resources that may not be available in the Linux world.  Discovery if the first step and is quite trivial using Flexlib/Windows, but I don't know if anyone has made it work on Linux. Give it a try.

    So, if you strike out there, you may need to use the Ethernet API and perhaps develop your own communication shell (like Flexlib) to simplify interfacing to Flex.

    Good Luck and please let us know of the results.

    Paul  
  • Justin DesaiJustin Desai Member
    edited October 2018
    Paul,

    I think you are right, the Flexlib has dependencies on a windows system required before it can even compile.

    But now, I am currently working on trying to connect to my radio by ethernet so I can send commands manually. However, I am having trouble establishing the connection in the first place. I can see the IP address of the radio, but when try to create a socket with it, I receive a "connection refused" error.
    From my limited knowledge of networking, I'm pretty sure the only information I need are the IP address and the port in order to establish a connection. I know the port for the TCP socket should be 4992, and since I can see and ping the IP address of the radio, you would think I would be able to establish some sort of connection.
    Anyway, if anyone has some idea on how to establish a connection between my Ubuntu computer and the flex radio, your input would be greatly appreciated.
  • Ted  VE3TRQTed VE3TRQ Member ✭✭
    edited December 2019
    To test out the ability to connect, use telnet. i.e.: telnet e.g. "telnet 192.168.133.13 4992" You will get a bunch of information, plus you can then send commands, such as "c0|client disconnect" to disconnect any current client, for example. Look at the API definition for commands. I have a program that connects, dumps the meter definitions, and subscribes to the S-meters for all slices, then reads the resulting UDP packets and parses them to dump dBm values for all slices. I did this to allow antenna comparisons using the two antenna inputs - creates a csv file for Excel to plot. Runs under Linux.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.