AP_Rangefinder: Add arming checks

This commit is contained in:
Michael du Breuil 2019-04-10 00:32:15 -07:00 committed by Andrew Tridgell
parent ce6fb75e52
commit 3202a2e0a6
2 changed files with 15 additions and 0 deletions

View File

@ -693,6 +693,18 @@ void RangeFinder::Log_RFND()
}
}
bool RangeFinder::prearm_healthy(char *failure_msg, const uint8_t failure_msg_len) const
{
for (uint8_t i = 0; i < RANGEFINDER_MAX_INSTANCES; i++) {
if ((params[i].type != RangeFinder_TYPE_NONE) && (drivers[i] == nullptr)) {
hal.util->snprintf(failure_msg, failure_msg_len, "Rangefinder %d was not detected", i + 1);
return false;
}
}
return true;
}
RangeFinder *RangeFinder::_singleton;
namespace AP {

View File

@ -111,6 +111,9 @@ public:
return num_instances;
}
// prearm checks
bool prearm_healthy(char *failure_msg, const uint8_t failure_msg_len) const;
// detect and initialise any available rangefinders
void init(enum Rotation orientation_default);