code cleanup: convert flags1 and masks to a struct

main
sq5bpf 2023-06-20 13:22:18 +02:00
rodzic a7aa34749d
commit b4fccb7ff2
1 zmienionych plików z 21 dodań i 13 usunięć

34
uvk5.py
Wyświetl plik

@ -57,11 +57,21 @@ struct {
ul32 offset; ul32 offset;
u8 rxcode; u8 rxcode;
u8 txcode; u8 txcode;
u8 unknown1:2, u8 unknown1:2,
txcodeflag:2, txcodeflag:2,
unknown2:2, unknown2:2,
rxcodeflag: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 flags2;
u8 dtmf_flags; u8 dtmf_flags;
u8 step; u8 step;
@ -844,9 +854,9 @@ class UVK5Radio(chirp_common.CloneModeRadio):
if (mem.offset == 0): if (mem.offset == 0):
mem.duplex = '' mem.duplex = ''
else: else:
if (_mem.flags1 & FLAGS1_OFFSET_MASK) == FLAGS1_OFFSET_MINUS: if _mem.shift == FLAGS1_OFFSET_MINUS:
mem.duplex = '-' mem.duplex = '-'
elif (_mem.flags1 & FLAGS1_OFFSET_MASK) == FLAGS1_OFFSET_PLUS: elif _mem.shift == FLAGS1_OFFSET_PLUS:
mem.duplex = '+' mem.duplex = '+'
else: else:
mem.duplex = '' mem.duplex = ''
@ -855,7 +865,7 @@ class UVK5Radio(chirp_common.CloneModeRadio):
self._get_tone(mem, _mem) self._get_tone(mem, _mem)
# mode # mode
if (_mem.flags1 & FLAGS1_ISAM) > 0: if _mem.enable_am > 0:
if (_mem.flags2 & FLAGS2_BANDWIDTH) > 0: if (_mem.flags2 & FLAGS2_BANDWIDTH) > 0:
mem.mode = "NAM" mem.mode = "NAM"
else: else:
@ -1861,16 +1871,16 @@ class UVK5Radio(chirp_common.CloneModeRadio):
# mode # mode
if mem.mode == "NFM": if mem.mode == "NFM":
_mem.flags2 = _mem.flags2 | FLAGS2_BANDWIDTH _mem.flags2 = _mem.flags2 | FLAGS2_BANDWIDTH
_mem.flags1 = _mem.flags1 & ~FLAGS1_ISAM _mem.enable_am = 0;
elif mem.mode == "FM": elif mem.mode == "FM":
_mem.flags2 = _mem.flags2 & ~FLAGS2_BANDWIDTH _mem.flags2 = _mem.flags2 & ~FLAGS2_BANDWIDTH
_mem.flags1 = _mem.flags1 & ~FLAGS1_ISAM _mem.enable_am = 0;
elif mem.mode == "NAM": elif mem.mode == "NAM":
_mem.flags2 = _mem.flags2 | FLAGS2_BANDWIDTH _mem.flags2 = _mem.flags2 | FLAGS2_BANDWIDTH
_mem.flags1 = _mem.flags1 | FLAGS1_ISAM _mem.enable_am = 1;
elif mem.mode == "AM": elif mem.mode == "AM":
_mem.flags2 = _mem.flags2 & ~FLAGS2_BANDWIDTH _mem.flags2 = _mem.flags2 & ~FLAGS2_BANDWIDTH
_mem.flags1 = _mem.flags1 | FLAGS1_ISAM _mem.enable_am = 1;
# frequency/offset # frequency/offset
_mem.freq = mem.freq/10 _mem.freq = mem.freq/10
@ -1878,13 +1888,11 @@ class UVK5Radio(chirp_common.CloneModeRadio):
if mem.duplex == "off" or mem.duplex == "": if mem.duplex == "off" or mem.duplex == "":
_mem.offset = 0 _mem.offset = 0
_mem.flags1 = _mem.flags1 & ~FLAGS1_OFFSET_MASK _mem.shift = 0
elif mem.duplex == '-': elif mem.duplex == '-':
_mem.flags1 = ( _mem.shift = FLAGS1_OFFSET_MINUS
_mem.flags1 & ~FLAGS1_OFFSET_MASK) | FLAGS1_OFFSET_MINUS
elif mem.duplex == '+': elif mem.duplex == '+':
_mem.flags1 = ( _mem.shift = FLAGS1_OFFSET_PLUS
_mem.flags1 & ~FLAGS1_OFFSET_MASK) | FLAGS1_OFFSET_PLUS
# set band # set band
if number < 200: if number < 200: