From c09d51c5b92995de266ef4d7f285b8d110c0bdc7 Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Sat, 28 Sep 2024 16:31:10 -0700 Subject: [PATCH] btech: Handle failure to decode FM presets Fixes #11574 --- chirp/drivers/btech.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/chirp/drivers/btech.py b/chirp/drivers/btech.py index 55324f8b..8bc96e07 100644 --- a/chirp/drivers/btech.py +++ b/chirp/drivers/btech.py @@ -26,6 +26,7 @@ RadioSettingValueBoolean, RadioSettingValueList, \ RadioSettingValueString, RadioSettingValueInteger, \ RadioSettingValueFloat, RadioSettings, InvalidValueError +from chirp import settings LOG = logging.getLogger(__name__) @@ -2275,9 +2276,12 @@ def apply_fm_freq(setting, obj): line.set_apply_callback(apply_fm_preset_name, preset.broadcast_station_name) - val = RadioSettingValueFloat(0, 108, - bfc.bcd_decode_freq( - preset.freq)) + try: + presetval = bfc.bcd_decode_freq(preset.freq) + except settings.InternalError: + presetval = '' + + val = RadioSettingValueFloat(0, 108, presetval) fmfreq = RadioSetting("fm_presets_" + str(i) + "_freq", "Frequency " + str(i), val) val.set_validate_callback(fm_validate)