Bug #3437
closedTurning off clone instructions for one radio affects all radios, including new ones for which the user has never seen the instructions.
100%
Description
_Note: While CHIRP is working as designed, I believe that this is a bug (flaw) in the design for which there is no obvious end-user workaround.
_
I own a Kenwood TM-281A and, after seeing the warning about operating in "live mode" on several occasions, I checked the box to disable the warning.
Then I bought a used Yaesu FT-2900R. I spent about an hour trying to download from it, suspecting both the new cable and the used radio as causes. I looked up pinouts and schematics, tried the cable in alternate USB ports, tried to determine if the Prolific chip was counterfeit, etc. Finally, I rebooted my Mac Pro into Windows 10, installed CHIRP under Windows, ran it, and started a download from the radio. Suddenly, the cloning instructions popped up:
Yaesu FT-2900R/1900R Instructions
- Turn Radio off.
- Connect data cable.
- While holding "A/N LOW" button, turn radio on.
- After clicking OK, press "SET MHz" to send image.
[ ] Don't show instructions for any radio again
That explained why it didn't work before, and it's not exactly an intuitive process that a user would be likely to figure out on their own. Of course, when following those instructions, it all worked fine.
Short version:
The CHIRP config file contains the following upon installation:
[noconfirm]
clone_instructions = False
After the user checks the box to disable the warning, it changes to True.
Low-impact recommendations to address this problem:
First choice: If a cloning attempt fails, reset [noconfirm] clone_instructions = False
Second choice: Construct radio-specific environment variables formatted as {vendor}{model_clone_instructions_. Example: Yaesu_FT-2900R/1900R_clone_instructions = False
Third choice: If the current vendor and model is different than the last_vendor and last_model, reset [noconfirm] clone_instructions = false (such that the cloning instructions are shown).
Note: This seems like inverted logic. Rather than calling the section "[noconfirm]", I'd call it "[showinstructions] and invert the variable. When an engineer sees "clone_instructions = False", the initial assumption is that clone instructions will not be shown.