As with most of my hobbies, I enjoy the computerized side of Amateur Radio. I got an Expert Electronics SunSDR2 DX recently to replace a cobbled-together system I had been using for 15+ years after I started having a couple of major issues. I'm loving the huge spectrum display!
Despite the proprietary software package, it has an openly documented interface called TCI which uses WebSockets to carry commands and even audio to other programs for processing, allowing things like spotting networks, modems, and memory managers to be written by anyone.
I implemented the TCI interface as a Python library which can be installed using pip and used to build your own applications. I also created numerous sample programs which were really solutions to things I wanted to have with the radio. Most of the features were fleshed out as I wrote these samples. The utilities include:
json_dump.py
: reads startup parameters and outputs them as a JSON dictionaryparam_listener.py
: prints out all parameter changes received from the TCI serverreceive_audio.py
: receives audio stream from the TCI interface which can be piped to other utilitiesspot_saved_stations.py
: repeatedly spots a list of stations to keep them visible in the EESDR interfacescanner.py
: moves between a list of stations and pauses if squelch is brokendirewolf_interface.py
: provides a pure TCI interface to the direwolf packet soundmodem. (Note: currently, this requires building a modified version which can pipe the transmit audio, see this branch if interested.)ctcss_decode.py
: listens for CTCSS/PL tones in receiver audio and prints possible matches.
I am also working on firmware for a macropad which will output MIDI commands and a utility using this library that will convert the MIDI commands to TCI inputs.
It's still an early version so I haven't written much documentation yet, but I tried to make the examples as readable as possible to show how the different parts are used.
Check out the source code or try it out with pip and let me know if there are any types of utilities you are looking forward to building with it!
eesdr-tci (this link opens in a new window) by ars-ka0s (this link opens in a new window)
Python package to interact with Expert Electronics SDR TCI control interface.
Hello!
Good luck 🙂
Hello.
Good luck 🙂
Hi,
were you able to continue with your project and make midi interface available and useable for expertSDR software? I'm very itnerested, my e-coder stopped working and would love to replace it with the likes like ctr2-midi. I'm happy to be your beta-tester 🙂
Thanks.
Hello, I did post a first copy but I haven’t made it more generic yet. If you’d like to experiment, it’s at https://github.com/ars-ka0s/midi-to-tci and please let me know what does/doesn’t make sense. I’ve been using it as described there with my setup but I know controls are a very personal thing to get the right feeling.