Bug #543
closedVX-8 flags.valid is never set (introduced revision 1496)
100%
Description
Hi,
Chirp daily and release 0.3.0 do not save or apply new channel memories because the valid flag for the memory is never set to True. Existing channel memories can be modified, but attempts to populate empty channel memories do not succeed. The UI shows the new settings, however uploading them to the radio or saving/loading them does not result in the change being applied.
The reason for this is that revision 1496 changed flags handling in vx8.py from setting opaque u8 values to manipulating named bit fields. Here is the diff:
http://chirp.danplanet.com/projects/chirp/repository/diff/chirp/vx8.py?rev=36ece7b1a4af&rev_to=d1aa69eb5fe9
The lines where flag.valid used to be set are:
- 256 flag.flag = 0x83 # Masked from VFO B
- 270 flag.nosubvfo = True # Masked from VFO B And:
- 258 flag.flag = 0x03 # Available in both VFOs
- 272 flag.nosubvfo = False # Available in both VFOs
As shown above, set_memory() in vx8.py used to (blindly) set the used (0x02) and valid (0x01) flags. Now it sets used (elsewhere in set_memory()) but never sets valid.
I don't know the difference between used and valid, however I expect that modifying line 263 to set flag.valid = flag.used would fix this.
Files