[Hamlib-developer] Modifying a rig file
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Stephen P <ste...@go...> - 2024-12-07 20:50:13
|
Hello I hope my newbie question is permitted, that this is the right place to ask, and my ignorance will be forgiven. I've set out my thought process below, flawed as it may be, and some of the terminology may be off.. I'm experimenting with an old Yaesu FRG-9600 under Windows. I can set mode and frequency using rigctl and also the JRX software (which uses Hamlib), but scanning doesn't work properly as it doesn't stop on an active frequency; I believe this is because there is no squelch detection. The Yaesu does output a 'busy' signal which is wired to the DCD line of my USB to serial interface (CP2102 chip) but I assume that the software isn't looking for it because the file frg9600.c on github contains the statement ".dcd_type = RIG_DCD_NONE" so Hamlib says it's not there. I thought I could edit this setting to change it to ".dcd_type = RIG_DCD_SERIAL_CAR" (assuming that's the correct option) so that the software will look out for the busy signal and stop the scan. However, I can't find where the frg9600.c file settings are stored in the Hamlib windows folders. I'm guessing that they are rolled up into one of the DLL files when compiled. My first plan was to inspect them with a decompiler/viewer so that I could try to edit and recompile them, but I couldn't find the a DLL that contains any mention of FRG-9600 (given the huge number of rig files, I'm puzzled where all these settings end up in the windows installation as the DLL's don't seem very big). Plan B was then to download/clone Hamlib from github, edit frg9600.c (which I have done) and then recompile it for windows using Git Bash or similar so that my edited frg9600.c file ends up wherever it is supposed to be. I'm working with version 1.2.15.2 of Hamlib, as that's what JRX installed. I've got a lot to learn if I'm going to make this work, but I'm willing to persevere. However, am I on the right lines? Will this approach work? Also, is RIG_DCD_SERIAL_CAR the correct option? There is also RIG_DCD_RIG which means " has DCD status support, i.e. rig has get_dcd cap" but that sounds very generic - isn't the specific type of DCD required for it to be handled correctly? Any advice will be very welcome. Many thanks Stephen |