Library for Arduino Due

Updated 30-09-2017: - Released 2.0.19 version - Added  support for SSDR 2.0 release

N.B.: version 1.x of Arduino libraries will not longer be supported

The Arduino Flex Libraries can be compiled on ARM boards (like Arduino Due). Now you don't need to use the additional Band Data library because the new library implements all the event listeners for your application. More informations on Band Data Functions page.

 

Overview - How it works

 

It is essentially a small piece of software that implements the SmartSDR Discovery Protocol to locate and connect a FlexRig in your network. In default mode the library try to locate the first FlexRig available in the network, then it try to establish a connection using the 4992 Tcp-IP port. This approach is correct if you have only one Flex Rig (like in my case).

If you have more than one Flex Rig on the same network, you have to manually set the serial number of the rig you want to connect to.

When the radio has been located, the library starts a connection over the 4992 TCP/IP port. It is used to command the radio and receive streaming status information. Every update on the internal state of the radio is then reflected on the library objects.


Going more in depth, a parser analyzes the TCP/IP packets, selecting only the Status "S|" one and then pass any updates to the local software objects.

In this way, using the library, you can access the internal state of the rig without having to deal with network protocol.

The library can handle the objects shown in the picture below. As you can see the number of slices, panadapters waterfalls is limited only to two as I did tests only on my Flex-6300. The library can be extended to monitor the status of multiple objects as in the case of 6500 and 6700 Radio. The ATU is also a missing object because my 6300 isn't equipped with it and I have never tested it.

Installation

Simply download the zip archive you find below and extract it in your Arduino libraries directory. For more information read the paragraph "Manual Installation" of the highlited link.
In the same directory you'll find a basic Example that will help you to test your enviroment.
Anyway, connecting your Flex Rig is as simple as just opening the Arduino IDE and writing the following code:

Hardware you need

To use the library you need a really powerful micro-controller. I choose Arduino Due beacuse it is very simple to program and has a C standard instructions set.

Also you need an Arduino Ethernet Shield that uses the W5100 chip. It is the best board that allows your Arduino to access the network at 100Mb/s. It is also the board that has the best support libraries.

Arduino DUE

Ethernet Shield (W5100 Chip)

How it works

Download
Flex Object's description
FLEX_OBJECTS.xlsx
Microsoft Excel Table 16.2 KB

Download

Download Flex Library v.2.0.19 from here

Tested on SSDR v. 2.0.19

Download Flex Library v.1.11.12 from here

Tested on SSDR v. 1.11.12

Download Flex Library v.1.10.8 from here

Tested on SSDR v. 1.10.8

Download Flex Library v.1.9.13 from here

Tested on SSDR v. 1.9.13

Download Flex Library v.1.5.0 from here

Tested on SSDR v. 1.5.1.70

Download Flex Library v.1.4.5 from here

Tested on SSDR v. 1.5.1.152

 

 

Older versions

Download
Version 1.0 (old)
Version 1.0 (old)
ArduinoDue_FlexRig.zip
Compressed Archive in ZIP Format 23.4 KB