Hi everyone,
Context: misconfigured leak detectors (by default)
We recently determined that a change in how the ArduSub 4.5 firmware configures digital signals means that Pixhawk flight controller boards (and other non-Navigator boards) can be silently failing to receive signals from the leak detector.
For the standard Pixhawk setup, a leak detector attached to AUX 6 will not work unless the corresponding servo channel (
SERVO14_FUNCTION) is set toGPIO (-1).
Previously an equivalent configuration was set by default via the BRD_PWM_COUNT parameter, but it seems the leak detector default assignment was missed during the transition away from that parameter (which was done to provide more flexibility over which pins can be assigned a given function).
Where to from here?
EDIT: We have released ArduSub 4.5.7, which should automatically fix this configuration issue when it boots up, or provide a warning if there is something else assigned to that pin.
We are also working on some improvements to the BlueOS interface and our recommended setup procedure that should help detect and avoid this kind of situation in future.
Click here for the parameter details, to fix it manually
You can ensure your leak detector parameters are valid using the parameter editor in BlueOS or QGroundControl*. The standard configuration should be:
| Parameter | Value | Notes |
|---|---|---|
LEAK1_PIN |
AUX6 (55) |
Pixhawks can also use other AUX pins, but this is the default |
SERVO14_FUNCTION |
GPIO (-1) |
Needs to be the servo channel matching the AUX pin + 8. *See note below for QGC configuration |
LEAK1_TYPE |
Digital (1) |
This is already the default |
LEAK1_LOGIC |
Low (0) |
This is already the default |
FS_LEAK_ENABLE |
Warn only (1) |
You can also set it to Enter surface mode (2) if you prefer. |
*NOTE: It may be required to specify the servo function value manually, via the “Advanced settings” option:
Confirmation
If you have access to your ROV electronics, it is recommended to confirm the leak detector works as expected by shorting out the pins going into one of the leak probes (e.g. with a short piece of wire) and seeing whether you trigger the failsafe.
During the failsafe the status LED should flash yellow and white, and there should be a “Leak Detected” warning displayed (and usually announced) in your control station software (e.g. Cockpit or QGroundControl).
