[chirp_devel] [PATCH] [ic-v86] Adds reverse duplex memory setting for ICom IC-V86. Fixes #8179
Kosta A.
Fri Aug 14 23:00:21 PDT 2020
# HG changeset patch
# User Kosta A. <ve7kcy at gmail.com>
# Date 1597470720 0
# Sat Aug 15 05:52:00 2020 +0000
# Node ID 974d8d8bcabaf9c7d4283dbcffe51b9858536d1f
# Parent 2c552ce0d1a8f59b1ace34da171d7a48450848ac
[ic-v86] Adds reverse duplex memory setting for ICom IC-V86. Fixes #8179
diff --git a/chirp/drivers/icv86.py b/chirp/drivers/icv86.py
--- a/chirp/drivers/icv86.py
+++ b/chirp/drivers/icv86.py
@@ -63,7 +63,7 @@
tuning_step:3;
u8 reserved5:2,
mode:1,
- reserved6:1,
+ rev:1,
duplex:2,
reserved7:2;
u8 reserved8:2,
@@ -224,7 +224,7 @@
else:
mem.extd_number = SPECIAL_REV[number]
mem.immutable = ["name", "number", "extd_number", "skip"]
- _usd = self._memobj.used[byte] if (number < 206) else None
+ _usd = self._memobj.used[byte] if (number <= 206) else None
_skp = None
if _usd is not None and (_usd & bit):
@@ -245,10 +245,15 @@
mem.tmode = TMODES[_mem.tmode]
mem.power = POWER_LEVELS[_mem.power]
+ # Extras
+ mem.extra = RadioSettingGroup("extra", "Extra")
+ rev = RadioSetting("rev", "Reverse duplex",
+ RadioSettingValueBoolean(bool(_mem.rev)))
+ rev.set_doc("Reverse duplex")
+ mem.extra.append(rev)
+
if _skp is not None:
mem.skip = (_skp & bit) and "S" or ""
- else:
- mem.skip = ""
return mem
@@ -271,7 +276,7 @@
byte = int(mem.number / 8)
_mem = self._memobj.memory[mem.number]
- _usd = self._memobj.used[byte] if mem.number < 206 else None
+ _usd = self._memobj.used[byte] if mem.number <= 206 else None
_skp = self._memobj.skips[byte] if mem.number < 200 else None
assert(_mem)
@@ -311,6 +316,9 @@
_mem.tmode = TMODES.index(mem.tmode)
_mem.power = POWER_LEVELS.index(mem.power)
+ for setting in mem.extra:
+ setattr(_mem, setting.get_name(), setting.value)
+
if _skp is not None:
if mem.skip == "S":
_skp |= bit
More information about the chirp_devel
mailing list