sensors reduce priority of a failed sensor

This commit is contained in:
Daniel Agar
2017-10-29 16:24:31 +01:00
committed by Lorenz Meier
parent e5ead354f0
commit 2a1ecaa13e
+6 -1
View File
@@ -920,14 +920,19 @@ bool VotedSensorsUpdate::check_failover(SensorData &sensor, const char *sensor_n
} }
} else { } else {
int failover_index = sensor.voter.failover_index();
mavlink_log_emergency(&_mavlink_log_pub, "%s #%i fail: %s%s%s%s%s!", mavlink_log_emergency(&_mavlink_log_pub, "%s #%i fail: %s%s%s%s%s!",
sensor_name, sensor_name,
sensor.voter.failover_index(), failover_index,
((flags & DataValidator::ERROR_FLAG_NO_DATA) ? " OFF" : ""), ((flags & DataValidator::ERROR_FLAG_NO_DATA) ? " OFF" : ""),
((flags & DataValidator::ERROR_FLAG_STALE_DATA) ? " STALE" : ""), ((flags & DataValidator::ERROR_FLAG_STALE_DATA) ? " STALE" : ""),
((flags & DataValidator::ERROR_FLAG_TIMEOUT) ? " TOUT" : ""), ((flags & DataValidator::ERROR_FLAG_TIMEOUT) ? " TOUT" : ""),
((flags & DataValidator::ERROR_FLAG_HIGH_ERRCOUNT) ? " ECNT" : ""), ((flags & DataValidator::ERROR_FLAG_HIGH_ERRCOUNT) ? " ECNT" : ""),
((flags & DataValidator::ERROR_FLAG_HIGH_ERRDENSITY) ? " EDNST" : "")); ((flags & DataValidator::ERROR_FLAG_HIGH_ERRDENSITY) ? " EDNST" : ""));
// reduce priority of failed sensor to the minimum
sensor.priority[failover_index] = 1;
} }
sensor.last_failover_count = sensor.voter.failover_count(); sensor.last_failover_count = sensor.voter.failover_count();