In my last update I have posted a live demo of the IC-706 remote setup. This setup was using a gstreamer-based audio client and server, taking advantage of state of the art audio codec called Opus. This setup was working fine over reliable network connections; however, as soon as I got on a mobile network the simple gstreamer pipelines were no longer sufficient. So it was time to write a simple audio client and server pair that are better suited to handle network dropouts.
Good news folks: I have had my remote controlled IC-706 on the air and it works! So far I have only tested the receiver and on the LAN, but I still consider it to be a significant milestone because it was the first time I had the controls and the audio work together with a good antenna connected to the radio.
Today I found myself in a situation where I needed the latest Gstreamer 1.4.3 on a Beaglebone running a console image by Robert C. Nelson based on Debian Wheezy. Debian Wheezy comes with the old Gstreamer 0.10 and as far as I could tell the new gstreamer isn’t even available through backports. It is however available in Debian Jessie (testing).
It has been a few weeks since my last update about the IC-706 remote rig project so here is a new one.
In my previous post I described how I solved the power connections for the radio and the front panel when they are physically separated from each other. In this post I will explain the software part of the power on / off procedure.
Last night I reached a significant milestone in this DIY remoterig project for the IC-706: I had the radio and the front panel talk to each other through a pair of Beaglebones and without any PC in the loop and without any wires between the boards for transferring power and discrete signals.
A lot has happened since the original Beaglebone White and the original DVI-D with Audio cape have been released. The Ångstrom distribution has been ditched and Robert C. Nelson produces Debian-based images and kernel updates at an impressive pace. Clearly, the primary focus is on the Beaglebone Black and while compatibility with Beaglebone White is also maintained, some of the capes are no longer supported, probably because they are not compatible with the Beaglebone Black.
Yesterday I have implemented emulation of keep-alive messages on server side. This means that the keep-alive messages sent by the front panel roughly every 100 ms are no longer sent over the network; instead, they are generated in the servers main loop with 150 ms interval.
In my first post about the IC-706 remote kit I wrote that we don’t really need to care about what data protocol is used between the radio and the front panel; all we need is to route the data between a serial port and a network socket. However, it turns out that taking a closer look at the protocol is not only a good idea but also necessary for efficient remote control.