[chirp_devel] [PATCH] [ft4] put UI tones in normal order [#4787]
DanClemmensen
Mon Mar 4 16:46:40 PST 2019
# HG changeset patch
# User DanClemmensen <DanClemmensen at gmail.com>
# Date 1551746242 28800
# Mon Mar 04 16:37:22 2019 -0800
# Node ID 0ab155789d426367ae44f9adf37704bd50bbf336
# Parent 3da27dd19d7476131ad228b1e245b1543895a840
[ft4] put UI tones in normal order [#4787]
diff -r 3da27dd19d74 -r 0ab155789d42 chirp/drivers/ft4.py
--- a/chirp/drivers/ft4.py Mon Mar 04 16:02:41 2019 -0800
+++ b/chirp/drivers/ft4.py Mon Mar 04 16:37:22 2019 -0800
@@ -487,21 +487,30 @@
# The reversed range is a kludge: by happenstance, earlier duplicates
# in the above table are the preferred mapping, they override the
# later ones when we process the table backwards.
-def build_modedicts():
- tone_dict = {}
- cross_dict = {}
- for sql_type in reversed(range(0, len(RADIO_TMODES))):
- sql_type_row = RADIO_TMODES[sql_type]
- for decode_row in sql_type_row[0]:
- suppress = None
- if len(decode_row) == 3:
- suppress = decode_row[2]
- tone_dict[decode_row[0]] = (sql_type, suppress)
- if decode_row[1]:
- cross_dict[decode_row[1]] = (sql_type, suppress)
- return tone_dict, cross_dict
+TONE_DICT = {} # encode sql_type.
+CROSS_DICT = {} # encode sql_type.
-TONE_DICT, CROSS_DICT = build_modedicts()
+for sql_type in reversed(range(0, len(RADIO_TMODES))):
+ sql_type_row = RADIO_TMODES[sql_type]
+ for decode_row in sql_type_row[0]:
+ suppress = None
+ if len(decode_row) == 3:
+ suppress = decode_row[2]
+ TONE_DICT[decode_row[0]] = (sql_type, suppress)
+ if decode_row[1]:
+ CROSS_DICT[decode_row[1]] = (sql_type, suppress)
+
+# The keys are added to the "VALID" lists using code that puts those lists
+# in the same order as the UI's default order instead of the random dict
+# order or the arbitrary build order.
+VALID_TONE_MODES = [] # list for UI.
+VALID_CROSS_MODES = [] # list for UI.
+for name in chirp_common.TONE_MODES:
+ if name in TONE_DICT:
+ VALID_TONE_MODES += [name]
+for name in chirp_common.CROSS_MODES:
+ if name in CROSS_DICT:
+ VALID_CROSS_MODES += [name]
DTMF_CHARS = "0123456789ABCD*#- "
@@ -591,8 +600,8 @@
rf.valid_special_chans = specials
rf.memory_bounds = (1, self.MAX_MEM_SLOT)
rf.valid_duplexes = DUPLEX
- rf.valid_tmodes = list(TONE_DICT.keys())
- rf.valid_cross_modes = list(CROSS_DICT.keys())
+ rf.valid_tmodes = VALID_TONE_MODES
+ rf.valid_cross_modes = VALID_CROSS_MODES
rf.valid_power_levels = POWER_LEVELS
rf.valid_tuning_steps = self.legal_steps
rf.valid_skips = SKIPS
More information about the chirp_devel
mailing list