diff --git a/chirp/drivers/tk270.py b/chirp/drivers/tk270.py index c4b664f5..6d29db8d 100644 --- a/chirp/drivers/tk270.py +++ b/chirp/drivers/tk270.py @@ -645,11 +645,7 @@ class Kenwood_P60_Radio(chirp_common.CloneModeRadio, chirp_common.ExperimentalRa self.encode_tone(_mem.tx_tone, txmode, txtone, txpol) self.encode_tone(_mem.rx_tone, rxmode, rxtone, rxpol) - # power, default power is high, as the low is configurable via a key - if mem.power is None: - mem.power = POWER_LEVELS[1] - - _mem.power = POWER_LEVELS.index(mem.power) + _mem.power = POWER_LEVELS.index(mem.power or POWER_LEVELS[1]) # skip self.set_scan(mem.number - 1, mem.skip) diff --git a/chirp/drivers/tk760g.py b/chirp/drivers/tk760g.py index 66380d13..6fd1b6a7 100644 --- a/chirp/drivers/tk760g.py +++ b/chirp/drivers/tk760g.py @@ -1073,12 +1073,7 @@ class Kenwood_Series_60G(chirp_common.CloneModeRadio, except IndexError: _mem.name[i] = "\x20" - # power - # default power is low - if mem.power is None: - mem.power = POWER_LEVELS[0] - - _mem.power = POWER_LEVELS.index(mem.power) + _mem.power = POWER_LEVELS.index(mem.power or POWER_LEVELS[0]) # wide/marrow _mem.wide = MODES.index(mem.mode) diff --git a/chirp/drivers/vx1.py b/chirp/drivers/vx1.py index 4fb7256c..ce23eb5d 100644 --- a/chirp/drivers/vx1.py +++ b/chirp/drivers/vx1.py @@ -866,17 +866,18 @@ class VX1RadioCG1(VX1Radio): return mem def set_memory(self, mem): - if isinstance(mem.number, str): + number = mem.number + if isinstance(number, str): # Convert string to number - mem.number = self.SPECIAL_MEMORIES[mem.number] + number = self.SPECIAL_MEMORIES[mem.number] # Map CG1 subdevice number to cg1_idx - if mem.number <= 72: + if number <= 72: # Regular and L/U memories: 1-72 map to cg1_idx 8-79 - cg1_idx = mem.number + 7 + cg1_idx = number + 7 else: # Home channels: 73-80 map to cg1_idx 0-7 - cg1_idx = mem.number - 73 + cg1_idx = number - 73 # Handle CG1 memory structure directly _mem = self._memobj.cg1_memory[cg1_idx] diff --git a/tests/test_edges.py b/tests/test_edges.py index d41970a0..5af449af 100644 --- a/tests/test_edges.py +++ b/tests/test_edges.py @@ -37,6 +37,10 @@ class TestCaseEdges(base.DriverTest): n = self.radio.get_memory(m.number) self.assertEqualMem(m, n) + def test_set_does_not_modify_input(self): + m = self.get_mem() + self.radio.set_memory(chirp_common.FrozenMemory(m)) + def test_bandedges(self): m = self.get_mem() min_step = min(self.rf.has_tuning_step and