diff --git a/libraries/AP_Compass/AP_Compass_PX4.cpp b/libraries/AP_Compass/AP_Compass_PX4.cpp index 541a53bde89192baf169d75e6187e4255bffa19b..61ca2a30fcd48405462234913163fdb25821c30f 100644 --- a/libraries/AP_Compass/AP_Compass_PX4.cpp +++ b/libraries/AP_Compass/AP_Compass_PX4.cpp @@ -92,6 +92,9 @@ bool AP_Compass_PX4::read(void) } for (uint8_t i=0; i<_num_instances; i++) { + // avoid division by zero if we haven't received any mag reports + if (_count[i] == 0) continue; + _sum[i] /= _count[i]; _sum[i] *= 1000;