[chirp_devel] [PATCH 3 of 3] [vx5] Initialize unknown bits of new memories to safe defaults. Fixes #87
Tom Hayward
Fri Mar 23 16:14:42 PDT 2012
# HG changeset patch
# User Tom Hayward <tom at tomh.us>
# Date 1332544384 21600
# Node ID 5140caa90d8e74ee570304e52a36a6c81153f116
# Parent ca42bc2080e10bc4d7fe2471807f8979d141e5b2
[vx5] Initialize unknown bits of new memories to safe defaults. Fixes #87.
diff -r ca42bc2080e1 -r 5140caa90d8e chirp/vx5.py
--- a/chirp/vx5.py Fri Mar 23 14:12:38 2012 -0600
+++ b/chirp/vx5.py Fri Mar 23 17:13:04 2012 -0600
@@ -36,12 +36,11 @@
u8 unknown4:4,
tuning_step:4;
bbcd freq[3];
- u8 unknown5:6,
+ u8 icon:6,
mode:2;
char name[8];
bbcd offset[3];
- u8 unknown6:2,
- tmode:2,
+ u8 tmode:4,
power:2,
duplex:2;
u8 unknown7:2,
@@ -123,7 +122,7 @@
mem.tuning_step = STEPS[_mem.tuning_step]
mem.offset = int(_mem.offset) * 1000
mem.power = POWER_LEVELS[3 - _mem.power]
- mem.tmode = TMODES[_mem.tmode]
+ mem.tmode = TMODES[_mem.tmode & 0x3] # masked so bad mems can be read
mem.rtone = mem.ctone = chirp_common.TONES[_mem.tone]
mem.dtcs = chirp_common.DTCS_CODES[_mem.dtcs]
@@ -135,6 +134,17 @@
_mem = self._memobj.memory[mem.number-1]
_flg = self._memobj.flag[mem.number-1]
+ # initialize new channel to safe defaults
+ if not mem.empty and not _flg.used:
+ _mem.unknown1 = 0x00
+ _mem.unknown2 = 0x00
+ _mem.unknown3 = 0x00
+ _mem.unknown4 = 0x00
+ _mem.icon = 12 # file cabinet icon
+ _mem.unknown7 = 0x00
+ _mem.unknown8 = 0x00
+ _mem.unknown9 = 0x00
+
_flg.used = not mem.empty
_flg.visible = not mem.empty
if mem.empty:
More information about the chirp_devel
mailing list