From b4fccb7ff2f1c1bcae91fff960aa5adf973b6b13 Mon Sep 17 00:00:00 2001 From: sq5bpf Date: Tue, 20 Jun 2023 13:22:18 +0200 Subject: [PATCH] code cleanup: convert flags1 and masks to a struct --- uvk5.py | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/uvk5.py b/uvk5.py index 4cddd86..26a9427 100644 --- a/uvk5.py +++ b/uvk5.py @@ -57,11 +57,21 @@ struct { ul32 offset; u8 rxcode; u8 txcode; + u8 unknown1:2, txcodeflag:2, unknown2:2, rxcodeflag:2; - u8 flags1; + + //u8 flags1; + u8 flags1_unknown7:1, + flags1_unknown6:1, + flags1_unknown5:1, + enable_am:1, + flags1_unknown3:1, + is_in_scanlist:1, + shift:2; + u8 flags2; u8 dtmf_flags; u8 step; @@ -844,9 +854,9 @@ class UVK5Radio(chirp_common.CloneModeRadio): if (mem.offset == 0): mem.duplex = '' else: - if (_mem.flags1 & FLAGS1_OFFSET_MASK) == FLAGS1_OFFSET_MINUS: + if _mem.shift == FLAGS1_OFFSET_MINUS: mem.duplex = '-' - elif (_mem.flags1 & FLAGS1_OFFSET_MASK) == FLAGS1_OFFSET_PLUS: + elif _mem.shift == FLAGS1_OFFSET_PLUS: mem.duplex = '+' else: mem.duplex = '' @@ -855,7 +865,7 @@ class UVK5Radio(chirp_common.CloneModeRadio): self._get_tone(mem, _mem) # mode - if (_mem.flags1 & FLAGS1_ISAM) > 0: + if _mem.enable_am > 0: if (_mem.flags2 & FLAGS2_BANDWIDTH) > 0: mem.mode = "NAM" else: @@ -1861,16 +1871,16 @@ class UVK5Radio(chirp_common.CloneModeRadio): # mode if mem.mode == "NFM": _mem.flags2 = _mem.flags2 | FLAGS2_BANDWIDTH - _mem.flags1 = _mem.flags1 & ~FLAGS1_ISAM + _mem.enable_am = 0; elif mem.mode == "FM": _mem.flags2 = _mem.flags2 & ~FLAGS2_BANDWIDTH - _mem.flags1 = _mem.flags1 & ~FLAGS1_ISAM + _mem.enable_am = 0; elif mem.mode == "NAM": _mem.flags2 = _mem.flags2 | FLAGS2_BANDWIDTH - _mem.flags1 = _mem.flags1 | FLAGS1_ISAM + _mem.enable_am = 1; elif mem.mode == "AM": _mem.flags2 = _mem.flags2 & ~FLAGS2_BANDWIDTH - _mem.flags1 = _mem.flags1 | FLAGS1_ISAM + _mem.enable_am = 1; # frequency/offset _mem.freq = mem.freq/10 @@ -1878,13 +1888,11 @@ class UVK5Radio(chirp_common.CloneModeRadio): if mem.duplex == "off" or mem.duplex == "": _mem.offset = 0 - _mem.flags1 = _mem.flags1 & ~FLAGS1_OFFSET_MASK + _mem.shift = 0 elif mem.duplex == '-': - _mem.flags1 = ( - _mem.flags1 & ~FLAGS1_OFFSET_MASK) | FLAGS1_OFFSET_MINUS + _mem.shift = FLAGS1_OFFSET_MINUS elif mem.duplex == '+': - _mem.flags1 = ( - _mem.flags1 & ~FLAGS1_OFFSET_MASK) | FLAGS1_OFFSET_PLUS + _mem.shift = FLAGS1_OFFSET_PLUS # set band if number < 200: