I could not get the patch file that you sent to import. I found what look to be good instructions, but there were lots of errors reported (probably something I did).
Hmm. I just tried and this works here:
hg qimport float_setting_callback_example.patch hg qpush
Does that not work for you? If you could copy and paste the error(s) you get when you try to apply, that'd be good. It's really worth spending a bit of time getting that to apply properly, because it was fairly intertwined.
There wasn't that much that changed so I was easily able to add the changes manually. I used the settingsedit.py that you provided as-is. The only change I made to settings.py was to bump the precision setting of 'RadioSettingValueFloat(RadioSettingValue): from 4 to 5.
Hmm, I didn't give you a settingsedit.py, but there were changes to that in the patch.
Everything works except the VFO frequency settings. I was able to successfully pull the frequency from the UV-5R as individual bytes and change it to a floating point value to get it displayed. What I haven't figured out (and that is the main thing I need your help with) is getting the user's frequency changes back to the radio.
Entering the frequency works great. The proper error is returned for below 137 MHz, above 512 MHz (in need to get that changed to 520 MHz) and in between 174 MHz and 400 MHz.Thanks.
Seems to me that the band settings could be determined and set in the background by 'looking' at the frequency. If it starts with a 1 set it to VHF, if it starts with a 4 or 5 (or if it is not a 1) set it to UHF. That way the BAND settings could be removed. I do no that if you stuff in a VHF frequency in the UV-5R while the VFO is set to UHF, you get a weird result in the display.
A 'would be nice' thing would be to allow only programmed channels to be selected in the MR A/B Channel selecton. Unless it would be really easy to implement, I probably wouldn't mess with it since choosing an unprogrammed channel cause the UV-5R to select channel 0. Not much harm in that.
Hmm, well I think I need to see your code to really understand all of the above. If you could get the patch applied cleanly and then send me the "hg diff" of your changes on top of that, I can certainly take a look and try to figure out what needs to be done on the "set" side to make it take effect.