From 569f012bcb9408c73bd6c84c942fa7c19480852d Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Mon, 9 Sep 2024 18:30:11 -0700 Subject: [PATCH] Fix several drivers with zero tuning steps The valid_tuning_steps must be ... valid. --- chirp/drivers/ft1d.py | 2 +- chirp/drivers/ft4.py | 9 +++++---- chirp/drivers/ft70.py | 2 +- chirp/drivers/ftm3200d.py | 2 +- chirp/drivers/ftm7250d.py | 2 +- chirp/drivers/icp7.py | 2 +- chirp/drivers/id31.py | 2 +- 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/chirp/drivers/ft1d.py b/chirp/drivers/ft1d.py index c0b5ad44..3f7f52bd 100644 --- a/chirp/drivers/ft1d.py +++ b/chirp/drivers/ft1d.py @@ -916,7 +916,7 @@ class FT1Radio(yaesu_clone.YaesuCloneModeRadio): rf.valid_modes = list(MODES) + ['NFM', 'DN'] rf.valid_tmodes = list(TMODES) rf.valid_duplexes = list(DUPLEX) - rf.valid_tuning_steps = list(STEPS) + rf.valid_tuning_steps = [x for x in STEPS if x] rf.valid_bands = [(500000, 999900000)] rf.valid_skips = SKIPS rf.valid_power_levels = POWER_LEVELS diff --git a/chirp/drivers/ft4.py b/chirp/drivers/ft4.py index ec0a63f7..7fd92b64 100644 --- a/chirp/drivers/ft4.py +++ b/chirp/drivers/ft4.py @@ -534,7 +534,8 @@ POWER_LEVELS = [ # these steps encode to 0-9 on all radios, but encoding #2 is disallowed # on the US versions (FT-4XR) STEP_CODE = [0, 5.0, 6.25, 10.0, 12.5, 15.0, 20.0, 25.0, 50.0, 100.0] -US_LEGAL_STEPS = list(STEP_CODE) # copy to pass to UI on US radios +VALID_STEPS = [x for x in STEP_CODE if x] +US_LEGAL_STEPS = list(VALID_STEPS) # copy to pass to UI on US radios US_LEGAL_STEPS.remove(6.25) # euro radios just use STEP_CODE # Map the radio image sql_type (0-6) to the CHIRP mem values. @@ -1333,7 +1334,7 @@ class YaesuFT4XERadio(YaesuFT4GenericRadio): id_str = b'IFT-35R\x00\x00V100\x00\x00' valid_bands = VALID_BANDS_DUAL DUPLEX_AUTO = DUPLEX_AUTO_EU - legal_steps = STEP_CODE + legal_steps = VALID_STEPS BAND_ASSIGNMENTS = BAND_ASSIGNMENTS_DUALBAND @@ -1373,7 +1374,7 @@ class YaesuFT65RRadio(YaesuFT65GenericRadio): id_str = b'IH-420\x00\x00\x00V100\x00\x00' valid_bands = VALID_BANDS_DUAL DUPLEX_AUTO = DUPLEX_AUTO_US - legal_steps = STEP_CODE + legal_steps = VALID_STEPS BAND_ASSIGNMENTS = BAND_ASSIGNMENTS_DUALBAND DUPLEX_OFF_VIA_OFFSET = [ # matches the order of valid_bands None, # Don't modify broadcast FM memories @@ -1391,7 +1392,7 @@ class YaesuFT65ERadio(YaesuFT65GenericRadio): id_str = b'IH-420\x00\x00\x00V100\x00\x00' valid_bands = VALID_BANDS_DUAL DUPLEX_AUTO = DUPLEX_AUTO_EU - legal_steps = STEP_CODE + legal_steps = VALID_STEPS BAND_ASSIGNMENTS = BAND_ASSIGNMENTS_DUALBAND diff --git a/chirp/drivers/ft70.py b/chirp/drivers/ft70.py index b1b54d0a..fbe5b555 100644 --- a/chirp/drivers/ft70.py +++ b/chirp/drivers/ft70.py @@ -565,7 +565,7 @@ class FT70Radio(yaesu_clone.YaesuCloneModeRadio): rf.valid_modes = list(MODES) rf.valid_tmodes = list(TMODES) rf.valid_duplexes = list(DUPLEX) - rf.valid_tuning_steps = list(STEPS) + rf.valid_tuning_steps = [x for x in STEPS if x] rf.valid_bands = [(500000, 999900000)] rf.valid_skips = SKIPS rf.valid_power_levels = POWER_LEVELS diff --git a/chirp/drivers/ftm3200d.py b/chirp/drivers/ftm3200d.py index 92f9d132..0c54f42e 100644 --- a/chirp/drivers/ftm3200d.py +++ b/chirp/drivers/ftm3200d.py @@ -109,7 +109,7 @@ class FTM3200Radio(ft1d.FT1Radio): rf.valid_tmodes = [x for x in TMODES if x is not None] rf.valid_cross_modes = [x for x in CROSS_MODES if x is not None] rf.valid_duplexes = list(ft1d.DUPLEX) - rf.valid_tuning_steps = list(STEPS) + rf.valid_tuning_steps = [x for x in STEPS if x] rf.valid_bands = [(136000000, 174000000)] # rf.valid_skips = SKIPS rf.valid_power_levels = POWER_LEVELS diff --git a/chirp/drivers/ftm7250d.py b/chirp/drivers/ftm7250d.py index 1ede2cd5..85a36946 100644 --- a/chirp/drivers/ftm7250d.py +++ b/chirp/drivers/ftm7250d.py @@ -109,7 +109,7 @@ class FTM7250Radio(ft1d.FT1Radio): rf.valid_tmodes = [x for x in TMODES if x is not None] rf.valid_cross_modes = [x for x in CROSS_MODES if x is not None] rf.valid_duplexes = list(ft1d.DUPLEX) - rf.valid_tuning_steps = list(STEPS) + rf.valid_tuning_steps = [x for x in STEPS if x] rf.valid_bands = [(108000000, 580000000)] # rf.valid_skips = SKIPS rf.valid_power_levels = POWER_LEVELS diff --git a/chirp/drivers/icp7.py b/chirp/drivers/icp7.py index 65113334..28741914 100644 --- a/chirp/drivers/icp7.py +++ b/chirp/drivers/icp7.py @@ -130,7 +130,7 @@ class ICP7Radio(icf.IcomCloneModeRadio): rf.valid_modes = MODES rf.valid_bands = [(495000, 999990000)] rf.valid_skips = ["", "S", "P"] - rf.valid_tuning_steps = TUNING_STEPS + rf.valid_tuning_steps = [x for x in TUNING_STEPS if x] rf.valid_name_length = 6 rf.has_settings = True rf.has_ctone = True diff --git a/chirp/drivers/id31.py b/chirp/drivers/id31.py index a10e0a75..8aa988ab 100644 --- a/chirp/drivers/id31.py +++ b/chirp/drivers/id31.py @@ -198,7 +198,7 @@ class ID31Radio(icf.IcomCloneModeRadio, chirp_common.IcomDstarSupport): rf.has_bank_index = True rf.has_bank_names = True rf.valid_tmodes = list(TMODES) - rf.valid_tuning_steps = sorted(list(TUNING_STEPS)) + rf.valid_tuning_steps = sorted([x for x in TUNING_STEPS if x]) rf.valid_modes = list(self.MODES.values()) rf.valid_skips = ["", "S", "P"] rf.valid_characters = chirp_common.CHARSET_ASCII