[chirp_devel] Handling "illegal" image files?
The Yeasu FT-4 and FT-65 are perfectly happy to have "bank" bits set for memories that are currently "empty". This is one of several similar situations where value "A" is "don't care" because another value "B" somewhere is set such that the radio doesn't use value "A". Is there any guidance on this, or is it case-by-case?
Here are the possiblilities: 1) ignore it. just leave the value alone unless the user changes it. 2) have each driver clean up such locations when appropriate 3) have the UI command the drivers when a field is required to be a certain value.
In this specific situation, my drivers fail the "BANKS" test if I start with an image that has bank bits set for an empty memory. I "fixed" this by providing a cleaned-up image for the test, but that's a kludge. If the "banks" test were changed to check that I "cleaned" the banks explicitly, I would fail (and possibly other drivers would fail) but the radios would work just fine. Cleaning the banks may not even be what the user wants. It's certainly the case that the rest of a memory's contents (frequency, name, etc.) are retained when the field is "empty."
The Yeasu FT-4 and FT-65 are perfectly happy to have "bank" bits set for memories that are currently "empty". This is one of several similar situations where value "A" is "don't care" because another value "B" somewhere is set such that the radio doesn't use value "A". Is there any guidance on this, or is it case-by-case?
Most Yaesus don't clean up their memories like this. It's confusing, annoying, and sloppy, IMHO.
Here are the possiblilities:
- ignore it. just leave the value alone unless the user changes it.
- have each driver clean up such locations when appropriate
- have the UI command the drivers when a field is required to be a certain value.
In this specific situation, my drivers fail the "BANKS" test if I start with an image that has bank bits set for an empty memory. I "fixed" this by providing a cleaned-up image for the test, but that's a kludge. If the "banks" test were changed to check that I "cleaned" the banks explicitly, I would fail (and possibly other drivers would fail) but the radios would work just fine. Cleaning the banks may not even be what the user wants. It's certainly the case that the rest of a memory's contents (frequency, name, etc.) are retained when the field is "empty."
Definitely don't clean up images opportunistically at load time. Only change the things that need to be changed when something is set. If the radio ignores something based on some other criteria, I think you should as well.
--Dan
participants (2)
-
Dan Clemmensen
-
Dan Smith