-
Notifications
You must be signed in to change notification settings - Fork 19.2k
Description
#25108 moved us from numbered relays set in libraries to relay functions. In this process param conversion was added to enable the correct functions automatically. However, that function assumes that the parachute lib must be enabled to work. However as discovered in #26128 (comment) its perfectly possible to have the chute disabled yet have the chute still deploy.
This is where enabled is checked in the param conversion:
if (!enabled() || (_release_type > AP_PARACHUTE_TRIGGER_TYPE_RELAY_3)) { |
We can't just remove the enable check because then relay 0 on every board would get set to parachute because its the default type. This would override any other functionality that could be using the pin. There is a pre-arm, but again it will only warn about no relay if chute is enabled.....
So a user could have working setup with the parachute enable param set to 0, a mission or switch can be used to set enable param to 1 at run time and deploy the chute. They update and will not get the param conversion or pre-arm so there will be no relay, and there chute will not deploy.