# HG changeset patch # User Ray Cielencki rayslinky@gmail.com # Date 1493420374 14400 # Fri Apr 28 18:59:34 2017 -0400 # Node ID 269ddc3236ca0971cbdc704ec52f193ef9092fb7 # Parent 7fe5f7b14be57479d4d37c9e204caf6a076b5d18 [VX-3] fix bank_used issue #1203
This patch works around #1203 -- where banks are not properly marked as used. Additionally, it corrects how bank_used values are calculated.
diff -r 7fe5f7b14be5 -r 269ddc3236ca chirp/drivers/vx3.py --- a/chirp/drivers/vx3.py Thu Apr 13 17:31:54 2017 -0700 +++ b/chirp/drivers/vx3.py Fri Apr 28 18:59:34 2017 -0400 @@ -141,11 +141,18 @@ u8 banks_unk1;
#seekto 0x0356; -u32 banks_unk2; +struct { + u32 unmask; +} banks_unmask1;
#seekto 0x0409; u8 banks_unk3;
+#seekto 0x0416; +struct { + u32 unmask; +} banks_unmask2; + #seekto 0x04CA; struct { u8 memory[16]; @@ -300,7 +307,11 @@ channels_in_bank.add(memory.number) self._update_bank_with_channel_numbers(bank, channels_in_bank) _bank_used = self._radio._memobj.bank_used[bank.index] - _bank_used.in_use = 0x0000 + _bank_used.in_use = ((len(channels_in_bank) - 1) * 2) + _banks_unmask1 = self._radio._memobj.banks_unmask1 + _banks_unmask2 = self._radio._memobj.banks_unmask2 + _banks_unmask1.unmask = 0x0017FFFF + _banks_unmask2.unmask = 0x0017FFFF
def remove_memory_from_mapping(self, memory, bank): channels_in_bank = self._get_channel_numbers_in_bank(bank) @@ -311,8 +322,10 @@ (memory.number, bank)) self._update_bank_with_channel_numbers(bank, channels_in_bank)
- if not channels_in_bank: - _bank_used = self._radio._memobj.bank_used[bank.index] + _bank_used = self._radio._memobj.bank_used[bank.index] + if channels_in_bank: + _bank_used.in_use = ((len(channels_in_bank) - 1) * 2) + else: _bank_used.in_use = 0xFFFF
def get_mapping_memories(self, bank):