The parameters cannot be saved
What ArduPilot says:
- PreArm: parameter storage full
- PreArm: Param storage failed
“Param storage failed”: the memory that holds the parameters (a chip on the board, or a file on the SD card on some boards) was not found at start-up, or changes have been waiting to be written for more than 2 seconds (30 with SD card storage). “parameter storage full”: there was no room left to save a parameter. Either way a setting you made may be gone after the next reboot.
What to do, most likely first
Many parameters were just written at once, and the board is still saving them.
CheckIt appeared right after loading a parameter file.
FixWait some seconds. If the message goes, nothing is wrong.
The board keeps its parameters on the SD card, and the card is missing or unreadable.
CheckParameters you change are back at their old values after every reboot.
FixInsert a good card and reboot.
The storage is full: very many parameters differ from their defaults.
CheckThe log's start-up line “Param space used: …” gives used and total bytes.
FixOnly values that differ from the default take room. Set what you do not use back to its default, or save your file, reset all parameters and load only what you need.
The storage chip is faulty: the message stays through reboots and nothing is ever saved.
FixDo not fly a board that forgets its settings; replace it.
Where to do it:Parameter Compare & Migrate
The code that sends it
PreArm: parameter storage full
libraries/AP_Arming/AP_Arming.cpp AP_Arming::system_checks() · Open in ArduPilot Copter-4.7.1
PreArm: Param storage failed
libraries/AP_Arming/AP_Arming.cpp AP_Arming::system_checks() · Open in ArduPilot Copter-4.7.1