⚠️ Attention Pixhawk + Leak Detector users

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.

:warning: For the standard Pixhawk setup, a leak detector attached to AUX 6 will not work unless the corresponding servo channel (SERVO14_FUNCTION) is set to GPIO (-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).

3 Likes

Noting that an updated ArduSub firmware version (4.5.7) has now been released, which will automatically fix the incorrect configuration.

1 Like