diff --git a/ArduSub/sensors.cpp b/ArduSub/sensors.cpp index 65154e0d7c..5e7e359d8d 100644 --- a/ArduSub/sensors.cpp +++ b/ArduSub/sensors.cpp @@ -4,6 +4,11 @@ void Sub::read_barometer() { barometer.update(); + // If we are reading a positive altitude, the sensor needs calibration + // Even a few meters above the water we should have no significant depth reading + if(!motors.armed() && barometer.get_altitude() > 0) { + barometer.update_calibration(); + } if (ap.depth_sensor_present) { sensor_health.depth = barometer.healthy(depth_sensor_idx);