AD8IM / kappanhang

Remotely open audio channels and a serial port to an Icom RS-BA1 server (for ex. Icom IC-705 transceiver).
Other
1 stars 2 forks source link

kappanhang

kappanhang remotely opens audio channels and a serial port to an Icom RS-BA1 server. The app is mainly developed for connecting to the Icom IC-705 transceiver, which has built-in Wi-Fi and RS-BA1 server. All features of the protocol are implemented including packet retransmission on packet loss.

kappanhang currently only supports Linux, but support for other platforms can be easily added if anyone is interested and has the skills (volunteers needed, as I'm only developing the Linux version).

Please note that the Icom IC-705 (and also the RS-BA1 protocol) does not provide GPS data over IP so it's not possible to get the GPS data stream.

Compatible hardware/software

Send me an email if you've tested a new hardware or software and it is working with kappanhang.

Compiling

You'll need:

Then:

go get github.com/nonoo/kappanhang
go install github.com/nonoo/kappanhang

This will typically install kappanhang into $HOME/go/bin.

Required settings on the RS-BA1 server (the transceiver)

Running

You can get the available command line parameters with the -h command line argument.

If no command line arguments are set, then the app will try to connect to the host ic-705 (ic-705.local or ic-705.localdomain) with the username beer and password beerbeer. You can set the username with the -u and the password with the -p command line arguments.

Here's a quick video tutorial on how to run kappanhang on a Raspberry Pi:

IMAGE ALT TEXT HERE

After it is connected and logged in:

Virtual serial port

If the -s command line argument is specified, then kappanhang will create a virtual serial port, so other apps which don't support Hamlib can access the transceiver directly. Look at the app log to find out the name of the virtual serial port. It will be something like /tmp/kappanhang-IC-705.pty (the server's name appended to the string kappanhang). After the virtual serial port is created, the command specified with -o will be ran, which is socat /tmp/kappanhang-IC-705.pty /tmp/vmware.pty by default. Running the command can be disabled with -o -. The command is only executed once, as the virtual serial port will stay opened even if the RS-BA1 server disconnects. I use this command to link a COM port in a Windows OS running in VMware to the virtual serial port, so I can use the original RS-BA1 software remote control GUI.

Status bar

kappanhang displays a "realtime" status bar (when the audio/serial connection is up) with the following info:

Data for the first 2 status bar lines are acquired by monitoring CiV traffic in the serial stream. S value and OVF are queried periodically, but these queries/replies are filtered from the serial data stream sent to the TCP serial port server and to the virtual serial port.

retx and lost are displayed in a 1 minute window, which means they will be reset to 0 if they don't increase for 1 minute. A retx value other than 0 indicates issues with the connection (probably a poor Wi-Fi connection), but if loss stays 0 then the issues were fixed using packet retransmission. loss indicates failed retransmit sequences, so packet loss. This can cause audio and serial communication disruptions.

If status bar interval (can be changed with the -i command line argument) is equal to or above 1 second, then the realtime status bar will be disabled and the contents of the last line of the status bar will be written as new console log lines. This is also the case if a Unix/VT100 terminal is not available.

Hotkeys

Some basic CAT control hotkeys are also supported:

Icom IC-705 Wi-Fi notes

Note that the built-in Wi-Fi in the Icom IC-705 has very limited range, and sensitive to interference. If you see a lot of retransmits in the log, or packet loss, then:

Sometimes rebooting the transceiver helps, as the network stack in the IC-705 is not quite free of bugs. :)

Contributors

Donations

If you find this app useful then buy me a beer. :)