ft817
ft817 copied to clipboard
FT-818 uses different base address for VFOb
I found that using the library for controlling the FT-818 (instead of the FT-817) leads to some misbehavior when using VFOb. Some functions like toggleIPO() indirectly uses calcVFOaddr() to calculate the VFO address for a specific band. And this function seems to return a wrong address for VFOb.
As the FT-818 has one more band (60m), there is one more record in the memory map for VFOa and therefore the range for VFOb need to be shifted by 26 Bytes (= one record) to a higher address. The following patch exclusively for the FT-818 seems to work:
#define FT818 ... #ifdef FT818 unsigned int address = 0x7D + ((int)vfo * 416) + (band * 26); #else unsigned int address = 0x7D + ((int)vfo * 390) + (band * 26); #endif
but should be further verified. Currently I have no clue whether other function calls are also working for the FT-818. For the time being, I would recommend not to write to the EEPROM until more investigation is done.
Hi DL5DLA!
Yes, you hack can work, but as you said, until someone do a eeprom map of the 818 there is no safe way to drive it with this lib.
Sadly I don't have either radio (FT 817 or 818), if I had one I will do the eeprom mapping myself, but no radio here.
I can add experimental support if you confirm this hack works for you, let me know or simple make a pull request with the changes.