Transferring Rotor and Radio data to another program?

I am currently writing code that automatically downlinks data from noaa through an sdr, then processes the data through wxtoimg. I was hoping to use gpredict to do all the calculations for the rotor and radio dopler shift however I want to control the rotor and radio through the code im writing (in c++). I was wondering if there is a way to transfer the data gpredict would send to the radio and rotor to my program instead. My only thought as to how would to run it through a port on my local machine, but I have ran into alot of issues with that. I was wondering if I was missing something that would make this process alot easier.

Could you write a hamlib drive for your specific program (ie, instead of selecting a rotator to send antenna commands to, it goes to your software, and instead of sending tuning commands to a rig, it goes to your software).

Another layer of complexity, I guess. Just a thought from a guy who’s last proficient programming language was Fortran 77…

I’d echo the above and suggest that implementing a subset of the rotctld and rigctld protocols would probably be the best option.

These protocols really are simple. For rotctld:
p\n - Request position from rotator (rotator returns: \n \n )
P \n - Set rotator position

For rigctld:
f\n - Request frequency from radio (Radio returns <freq_hz>\n)
F <freq_Hz>\n - Set radio frequency

1 Like