Request: a full erase option during firmware load

It is a common problem to have a tangled up flight controller that needs it’s parameter memory erased to get rid of a corrrupted or mis-set parameter causing problems. The typical solution is to load “Plane” for a copter to attempt to write over the memory space with a different firmware. But that technique does not write over every single memory location. Sure in MP config , reset parameters will do it but ONLY if you can connect. I have had and worked with many people that can’t connect because they have screwed something up.

So why not have a check box in the load firmware to select between “do not erase parameter memory” and “erase all including parameter memory”. Just would be more efficient that telling people to load Plane first.

Thanks for your consideration.

Why dont you use Reset to Default button on Advanced Parameter ?

Can’t connect, as I stated. That is fine IF you can connect but if you can’t and you need to erase all memory to get rid of an offending parameter value you can not use that method.

Also along with this option would be to re-install the version of firmware even if it exists on the board already.

I have a lot of support instances where these problems exist and it would be a lot easier to just instruct the user to check “erase all parameter memory” and reinstall your firmware.

the way i have seen recomended by the developers is to flash another firmware type to the board like antenna tracker or rover then flash back, because its a different firmware type it will reinitialise the eprom.

What that is doing is simply writing over memory with the other firmware and never covers every location. It is not a good solution. With a simple option to clear parameter memory we don’t need that rube goldberg solution. Nor do we need extra steps.

in the full param list screen there is a reset to defaults button.

As I have now explained four times in this posting, that only applies IF you can connect. If the flight controller firmware is messed up because of a bad parameter value you can not use that method to clear parameter memory because you can not connect. So the rube goldberg solution is to load a different vehicle firmware in hopes that it will over write some or all of the parameter values and get the one that is causing the problems. But it would be much cleaner and faster to just have a check box when you load new firmware that allows erasing all memory before load including parameter memory.

there is no method from the bootloader to wipe params, so the only way is to cross flash another firmware.

I suppose you could load a dummy file that was all zeros and covered the entire space. But it would take the same time. It would just assure that every parameter was reset.

Thanks anyway

again, not possible. params are stored in fram, not the chip flash.

I see, then why does loading another firmware do anything to the parameter memory?

I see, then why does loading another firmware do anything to the parameter

The booted firmware sees the parameters aren’t something it recognises and
nukes them from orbit.

I’m wondering tridge’s new .apj default-parameters stuff might help out

No that big of a deal. Loading alternative vehicle firmware will at least re-interpret the parameter value that is causing the problem with the original firmware. Then once you can get it to boot you can clear the parameter memory and then reinstall the original firmware. I have been doing a lot of troubleshooting recently and having to reload firmware a lot. I just thought that Michael was primarily saving the parameter memory so users would not have to re-do their calibrations etc. But it is clearly not a simple solution.