I know I’ve defined it correctly (in parameters.c under my sensor driver subdir and it is visible under build/build_name/parameters.xml with correct annotations), I’ve also referenced the parameter in ROMFS/px4fmu_common/init.d/rc.sensors (as the parameter itself is a simple on/off switch for a sensor driver), but it is not visible in QGroundControl and param show in nsh does not mark it as used.
If I reference it in ROMFS/px4fmu_common/init.d/rcS (the reason why I tried that is that the only distance sensor-related parameter visible in QGroundControl is for LL40LS and it is referenced in rcS), my parameter DOES become used, however the annotations in QGC are missing (i.e. it seems that I can change the value, but I don’t get nice drop-down).
So I learnt yesterday in the dev call that in order for a param to show up the call param_find needs to happen before the last rcS item which is mavlink boot_complete.
So if you somehow make sure that your parameter is “used” with param_find before that, then it should work.
Thank you, that explains why adding a check on a parameter in rcS solves it - LL40LS has a check in that file, which marks it as used. Core thing here is that my flight controller is running with SYS_HITL as Enabled, meaning rc.sensors never gets executed.
Now the question is - why are the annotations not picked up? I only get to enter the raw value.
Also, is there documentation on sensors app? In particular, the behaviour of -h flag.