Re-work of VFO handling is now in internal testing

Post Reply
VK3KYY
Posts: 7473
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re-work of VFO handling is now in internal testing

Post by VK3KYY » Sat Nov 23, 2019 7:37 am

I noticed today when trying to calibrate the power in one of my GD-77 radios that after the calibration was written to the radio, the VFO reverted to its value that was last saved, when I last turned the radio off.

The fundamental reason for this, is because the VFO (channel) was being stored as part of the OpenGD77 settings e.g. the backlight timer etc

This was a legacy from Kai's original code which had 4 VFO's but no channels and no access to the codeplug.

As the Codeplug VFO data is stored in the EEPROM, there is no problem with reading and writing the VFO directly to and from the codeplug memory , every time the radio is turned on, and turned off.

So I have re-worked the VFO handling to use the codeplug as the storage for the VFO.
And since the CPS supports 2 separate VFO's I'm implemented the underlying functionality to support this - However I have not modified the user interface in the OpenGD77 firmware yet, so currently only VFO A can be accessed.

I'm not sure how may people would use 2 separate VFO's (not just separte Tx and Rx frequencies). Perhaps it should be an setting in the Options screen, and if VFO B is enabled, pressing the Red menu key would cycle though CHANNEL , VFO A and then VFO B.

But I suspect for most people they would prefer just to be able to switch between VFO and CHANNEL mode by pressing the Red key.


Also, while I was making this change I noticed another omission in the firmware, in that the index into the current Rx Group, used by the VFO is not saved when the radio is turned off. So that the VFO always goes to the first TG in the Rx Group list when the radio is turned on.

So, I've changed the firmware so that the VFO's index into the Rx Group list is saved and loaded in the same way as the Channel's index

I also noticed a bug if the VFO was in FM mode when the codeplug was first loaded, the TG was not loaded and hence when the VFO was switched to DMR mode the TG did display.
So I"ve added some checks to load the TG when first switching mode from FM to DMR

As this is such a big change I won't upload the firmware file until I and a few of the testers have done some initial testing

Post Reply