[chirp_devel] [PATCH] [px777] updated model check and freq range limits
# HG changeset patch # User Marco Filippi iz3gme.marco@gmail.com # Date 1368092980 -7200 # Node ID 113d314ca49639e98f09dbf800422bcfadc2924b # Parent f6c48f71ea6c96b969751f136e40e6c0128960a4 [px777] updated model check and freq range limits to support those radio that are labeled as 777 but their model byte says to be 328 Fix bug #855
diff --git a/chirp/puxing.py b/chirp/puxing.py --- a/chirp/puxing.py +++ b/chirp/puxing.py @@ -167,15 +167,24 @@ rf.memory_bounds = (1, 128)
if not hasattr(self, "_memobj") or self._memobj is None: - limit_idx = 1 - else: + rf.valid_bands = [PUXING_777_BANDS[1]] + elif self._memobj.model.model == PUXING_MODELS[777]: limit_idx = self._memobj.model.limits - 0xEE - try: - rf.valid_bands = [PUXING_777_BANDS[limit_idx]] - except IndexError: - print "Invalid band index %i (0x%02x)" % \ - (limit_idx, self._memobj.model.limits) - rf.valid_bands = [PUXING_777_BANDS[1]] + try: + rf.valid_bands = [PUXING_777_BANDS[limit_idx]] + except IndexError: + print "Invalid band index %i (0x%02x)" % \ + (limit_idx, self._memobj.model.limits) + rf.valid_bands = [PUXING_777_BANDS[1]] + elif self._memobj.model.model == PUXING_MODELS[328]: + # There are PX-777 that says to be model 328 ... + # for them we only know this freq limits till now + if self._memobj.model.limits == 0xEE: + rf.valid_bands = [PUXING_777_BANDS[1]] + else: + raise Exception("Unsupported band limits 0x%02x for PX-777" % \ + (self._memobj.model.limits) + + " submodel 328 - PLEASE REPORT THIS ERROR TO DEVELOPERS!!")
return rf
@@ -188,10 +197,13 @@
@classmethod def match_model(cls, filedata, filename): - if len(filedata) > 0x080B and \ - ord(filedata[0x080B]) != PUXING_MODELS[777]: - return False - return len(filedata) == 3168 + # There are PX-777 that says to be model 328 ... + return len(filedata) == 3168 and ( + ord(filedata[0x080B]) == PUXING_MODELS[777] or ( + ord(filedata[0x080B]) == PUXING_MODELS[328] and + ord(filedata[0x080A]) == 0xEE + ) + )
def get_memory(self, number): _mem = self._memobj.memory[number - 1]
participants (1)
-
Marco Filippi IZ3GME