ARRL

Forum Home - Rules - Help - Login - Forgot Password
Members can access, post and reply to the forums below. Before you do, please first read the RULES.

Rig control under Linux

Aug 5th 2012, 00:32

AB5XZ

Joined: Apr 6th 1998, 00:00
Total Topics: 0
Total Posts: 0
I have a Raspberry Pi computer that runs Linux. I would like to use it to control a mobile radio, but haven't yet found software that is suitable. I have a Yaesu FT-100D transceiver that I hope to use for this project. It's not necessary to have a logging function, although it would eventually be useful.

Any suggestions?
Aug 5th 2012, 18:50

AA6E

Joined: Apr 4th 1998, 00:00
Total Topics: 0
Total Posts: 0
You might look into Hamlib, which is a library providing an API for the control of many different kinds of rigs. Various logging software, fldigi, etc., provide Hamlib options for rig control. See hamlib.org .

But Hamlib is not an application program. You still need to write or acquire a user application that lets you work with your rig through Hamlib.

I'm using Hamlib under Ubuntu on the Beagleboard XM, for example, with my own GUI control program in Python.

73 Martin AA6E
Aug 6th 2012, 01:08

AB5XZ

Joined: Apr 6th 1998, 00:00
Total Topics: 0
Total Posts: 0
Martin,
Thanks for the suggestion. I have seen Hamlib mentioned, and it may be part of the solution. I haven't used Python, but I guess I can learn. I've learned a dozen or so programming languages and dialects in the past (which is no guarantee of success in the future, to paraphrase the stockbroker). 73TomAB5XZ
Aug 13th 2012, 01:56

N0NB

Joined: Apr 4th 1998, 00:00
Total Topics: 0
Total Posts: 0
Tom, I suppose the question is whether you plan to use a GUI desktop with your RPI. That determines what programs are available. Certainly, for desktop Linux, most programs incorporating rig control are useful only in a GUI environment. There are a handful that don't require a GUI, but I'm not sure how recent their development is.

As Martin already mentioned Python, there is the Ncurses library to make a user interface (UI) using character based windows. An Ncurses program is usable from the basic terminal as well as the GUI and would keep the load very light on the CPU for maximum response.

If you'd like, join the Hamlib Developer mailing list and help us out. There are probably several that could provide input and help for such a program.

73, de Nate >>
N0NB.us
Aug 13th 2012, 02:53

AB5XZ

Joined: Apr 6th 1998, 00:00
Total Topics: 0
Total Posts: 0
Nate,
Thanks for the recommendation. I've looked at Hamlib, and I think I can use it. I have a book on Python that covers the use of a graphical interface toolkit, and I think I can make it work. The learning curve is something of a cliff. I will join the Hamlib developer mailing list - thanks for the suggestion. I will be using a GUI desktop. I've acquired a little keyboard about the size of a checkbook that also includes a touchpad, and I plan to use that to do most of the setup for the mobile station. It's wireless (2.4 GHz) and works with the Raspberry Pi. The Raspberry Pi has a composite video output that I have displayed on the dashboard screen of my Explorer, so I've got some parts working. Again, thanks for the input. 73TomAB5XZ
Aug 15th 2012, 12:34

N0NB

Joined: Apr 4th 1998, 00:00
Total Topics: 0
Total Posts: 0
As you're using a GUI, there is probably little need to reinvent the wheel. Grig is an example of a small GUI rig control program. It's rather light on resources so it should work well with the Pi.

73, de Nate >>
N0NB.us
Aug 31st 2012, 12:01

AB5XZ

Joined: Apr 6th 1998, 00:00
Total Topics: 0
Total Posts: 0
Nate,
I've been reading the Python book, and I believe that it has just about everything I need to build the GUI for my rig control. There's a little thumb-operated joystick with a single pushbutton that seems just right for a physical interface to the GUI. And, the joystick costs under $6! It looks as if Hamlib will do the trick for controlling the rig. I've been traveling since mid August, and should be home in September so I can get some work done on this project.
Sep 4th 2012, 12:41

N0NB

Joined: Apr 4th 1998, 00:00
Total Topics: 0
Total Posts: 0
That sounds interesting, Tom. Holler if you have questions.

73, de Nate >>
N0NB.us
Sep 6th 2012, 20:06

AB5XZ

Joined: Apr 6th 1998, 00:00
Total Topics: 0
Total Posts: 0
Nate,
I'm going through the Python book, and it looks pretty easy for what I want to do, but I am at a loss as to how to insert Hamlib into the mix. Python is already present in the Raspberry Pi's Debian Linux package.
I have the little joystick and have been musing about ways to make the user interface pretty simple and nearly intuitive.
One thing I have discovered is that there doesn't seem to be a CAT command that will turn the FT-100D on and off. I have found a place in its circuitry that I can tap into to switch power on and off, using a 5v discrete. The little joystick (Sparkfun or Adafruit) has two pots and one momentary contact switch, which lets me use 3 of the GPIO ports on the Raspberry Pi, so I have 5 left.
If you have suggestions, I'm ab5xz@arrl.net.
Dec 2nd 2013, 14:09

N0NB

Joined: Apr 4th 1998, 00:00
Total Topics: 0
Total Posts: 0
Hi Tom.

There are Python bindings built for Hamlib that are in the Raspbian package archive. Sadly, it was discovered several months ago that some of the function calls are broken and won't work. They've been corrected since but only in the development branch of Hamlib.

The idea is reasonably straight forward, import Hamlib and then call the functions. Note that Hamlib itself is not thread safe so when using threads, all the Hamlib code should reside in its own thread.

It is not that difficult to build the Hamlib sources and then create your own Python bindings. The procedure is outlined in the INSTALL, README.betatester and README.developer files included with the source tarball. A daily source snapshot is available from:

http://n0nb.users.sourceforge.net/index.php

73, de Nate >>
N0NB.us
Dec 10th 2013, 12:05

N4AAB

Joined: Jan 16th 2013, 01:39
Total Topics: 0
Total Posts: 0
Sounds interesting. I have both the BeagleBone Black and a Raspberry Pi, but no spare time to do much with them. I retire next year and might then have the time to connect one of them to my Alinco DXSR8T.

Back to Top