What do you use for switching PIDs / failsafe voltages on the fly?

Is there any decent solution out there for switching PIDs or failsafe voltages on the fly? I have a multi-purpose copter build that I’m wanting to run 2 different cell counts on and switch between tunes quickly without carrying a ground station around. iNav and Betaflight can switch pids quite well automatically and the voltage ranges are per cell, detected on startup.

I’m aware I could do this with scripting but my autopilot doesn’t support it and it seems like something that should be a feature if it isn’t already… Do you guys know of any good solutions that could be done without ground station intervention or scripting? Only real thing that’s coming to mind is adding on some external mavlink device but that seems kinda clunky.

I made an issue on GitHub (#14463) but I wanted to see if someone else ran into this issue and had a solution.


We already scale the PID values with the battery voltage, if you set the parameters for it.
For example
MOT_BAT_VOLT_MAX 25.200000
MOT_BAT_VOLT_MIN 21.300000

I don’t think this would work very well going from 6s to 4s voltage, although I may try it