How to omit unused parameters in parameters.xml?

I would like to prevent unused parameters from showing up in parameters.xml. My system is multicopter-only and I would like to keep my parameter list as small as possible. I don’t need any fixed wing, vtol, or example parameters in the list. I’ve noticed that excluding the given module from the build does not prevent the parameter auto-gen from excluding the parameters from parameters.xml.

The only way I’ve found to accomplish what I want is to delete the offending module, but I’d rather not do this if I don’t have to. I’ve thought of renaming the given _param.c file but this doesn’t seem like the best solution, and I’m not sure it will work anyway.

Hi Ben,

There is parameter culling based on scope here https://github.com/PX4/Firmware/blob/4453e4201b7a245cff52beeb38a293161aea4c48/Tools/px_generate_params.py#L39, but it sounds like it might not be working.

Could you add some debug statements to the CMakeParser and see what’s going wrong?

@david_s5 FYI

You or someone else would have to provide the file with the debug statements. I’ve never written a single line of Python code. I understand if you don’t have time, but I don’t know how to do and don’t know if I can find the time either.

I looked into the culling and it’s a bit different than I thought. If you remove a module from a build (FW in your case) the parameters in that excluded module are not generated and stored onboard. However, all metadata is still placed in parameters.xml (which isn’t stored on the vehicle). So there’s no additional space to save.

In addition to that, if you use QGC only active onboard params will be shown in the editor tree.