A new command “diff” was introduced back in Betaflight 3.0, it’s much better than using “dump” for troubleshoot and managing parameter in CLI. Still some people are not aware of it so I thought I might mention it here.
The Betaflight ‘diff‘ and ‘diff all‘ commands greatly simplify configuration management by only displaying CLI values that are changed.
What Does Dump do?
“dump” simply prints all the configurable settings in a pastable form (over 300 lines long).
What Does Diff Do?
There are 2 command variants: “diff” and “diff all”.
“diff” prints only the parameters in the current profile and current rate profiles that are changed from the default. By adding a command argument “showdefaults” (entering “diff showdefaults” in CLI), the original values are also displayed in a comment line (beginning with a #) for all changed values.
“diff all” displays only the values in all profiles and rate profiles that are different from the default values. By adding a command argument “showdefaults”, the original values are also displayed in a comment line (beginning with a #) for all changed values.
Why Use Diff over Dump?
When using Diff, you no longer need to go over all the settings, only the ones that are different from defaults. This largely simplifies parameter/feature management and makes trouble-shooting easier.
This also works slightly better for firmware updates, where you need to make a setting backup, you can use “diff all showdefaults”, the list is likely to be much shorter.
However this feature is only available since Betaflight V3.0, so won’t work for those are still using older firmware before that.
This post is not saying we should replace dump with diff, it will still be useful in some cases. But unless you have a good reason to use dump, try diff. :)