# HG changeset patch # User Marco Filippi iz3gme.marco@gmail.com # Date 1333645315 -7200 # Node ID a4675e65023831ea5b050c4fc46b445deb78f4a3 # Parent 69c66e533b3ada0f8f9b7ca9336fb560fd899604 Support masked memories (affect whole ft8x7 family)
diff -r 69c66e533b3a -r a4675e650238 chirp/ft817.py --- a/chirp/ft817.py mer apr 04 18:30:58 2012 -0700 +++ b/chirp/ft817.py gio apr 05 19:01:55 2012 +0200 @@ -366,24 +366,31 @@ def _get_normal(self, number): _mem = self._memobj.memory[number-1] used = (self._memobj.visible[(number-1)/8] >> (number-1)%8) & 0x01 + valid = (self._memobj.filled[(number-1)/8] >> (number-1)%8) & 0x01
mem = chirp_common.Memory() mem.number = number if not used: mem.empty = True + if not valid: + mem.empty = True return mem
return self._get_memory(mem, _mem)
def _set_normal(self, mem): _mem = self._memobj.memory[mem.number-1] + wasused = (self._memobj.visible[(mem.number-1)/8] >> (mem.number-1)%8) & 0x01 + wasvalid = (self._memobj.filled[(mem.number-1)/8] >> (mem.number-1)%8) & 0x01 + if mem.empty: if mem.number == 1: # as Dan says "yaesus are not good about that :(" # if you ulpoad an empty image you can brick your radio raise Exception("Sorry, can't delete first memory") + if wasvalid and not wasused: + self._memobj.filled[(mem.number-1)/8] &= ~ (1 << (mem.number-1)%8) self._memobj.visible[(mem.number-1)/8] &= ~ (1 << (mem.number-1)%8) - self._memobj.filled[(mem.number-1)/8] = self._memobj.visible[(mem.number-1)/8] return
self._memobj.visible[(mem.number-1)/8] |= 1 << (mem.number-1)%8