Move some mmap common bits to superclass

This commit is contained in:
Dan Smith 2008-07-17 18:20:42 -07:00
parent 8432a633ae
commit c7f9059976
2 changed files with 16 additions and 14 deletions

View File

@ -52,6 +52,8 @@ class IcomRadio:
class IcomMmapRadio(IcomRadio):
def __init__(self, pipe):
self._mmap = None
if isinstance(pipe, str):
self.pipe = None
self.load_mmap(pipe)
@ -59,10 +61,16 @@ class IcomMmapRadio(IcomRadio):
IcomRadio.__init__(self, pipe)
def load_mmap(self, filename):
pass
f = file(filename, "rb")
self._mmap = f.read()
f.close()
self.process_mmap()
def save_mmap(self, filename):
pass
f = file(filename, "wb")
f.write(self._mmap)
f.close()
def sync_in(self):
pass
@ -70,6 +78,9 @@ class IcomMmapRadio(IcomRadio):
def sync_out(self):
pass
def process_mmap(self):
pass
class Status:
name = "Job"
msg = "Unknown"

View File

@ -10,25 +10,16 @@ class ID800v2Radio(chirp_common.IcomMmapRadio):
BAUD_RATE = 9600
_model = "\x27\x88\x02\x00"
_memsize = 14528
_mmap = None
_memories = []
def load_mmap(self, filename):
f = file(filename, "rb")
self._mmap = f.read()
f.close()
def process_mmap(self):
self._memories = id800_ll.parse_map_for_memory(self._mmap)
def save_mmap(self, filename):
f = file(filename, "wb")
f.write(self._mmap)
f.close()
def _fetch_mmap(self):
self._mmap = id800_ll.get_memory_map(self.pipe, self.status_fn)
self._memories = id800_ll.parse_map_for_memory(self._mmap)
self.process_mmap()
def get_memory(self, number, vfo=None):
if not self._mmap: