Browse Source

Handle airspeed circuit breaker correctly

QGC4.4
Don Gagne 9 years ago
parent
commit
fee7929e37
  1. 21
      src/AutoPilotPlugins/PX4/SensorsComponent.cc
  2. 2
      src/AutoPilotPlugins/PX4/SensorsComponent.h

21
src/AutoPilotPlugins/PX4/SensorsComponent.cc

@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
#include "QGCQmlWidgetHolder.h"
#include "SensorsComponentController.h"
// These two list must be kept in sync
const char* SensorsComponent::_airspeedBreaker = "CBRK_AIRSPD_CHK";
SensorsComponent::SensorsComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent) :
VehicleComponent(vehicle, autopilot, parent),
@ -62,7 +62,7 @@ bool SensorsComponent::requiresSetup(void) const @@ -62,7 +62,7 @@ bool SensorsComponent::requiresSetup(void) const
bool SensorsComponent::setupComplete(void) const
{
foreach(const QString &triggerParam, setupCompleteChangedTriggerList()) {
if (_autopilot->getParameterFact(FactSystem::defaultComponentId, triggerParam)->rawValue().toFloat() == 0.0f) {
if (triggerParam != _airspeedBreaker && _autopilot->getParameterFact(FactSystem::defaultComponentId, triggerParam)->rawValue().toFloat() == 0.0f) {
return false;
}
}
@ -74,20 +74,9 @@ QStringList SensorsComponent::setupCompleteChangedTriggerList(void) const @@ -74,20 +74,9 @@ QStringList SensorsComponent::setupCompleteChangedTriggerList(void) const
{
QStringList triggers;
triggers << "CAL_MAG0_ID" << "CAL_GYRO0_ID" << "CAL_ACC0_ID";
switch (_vehicle->vehicleType()) {
case MAV_TYPE_FIXED_WING:
case MAV_TYPE_VTOL_DUOROTOR:
case MAV_TYPE_VTOL_QUADROTOR:
case MAV_TYPE_VTOL_TILTROTOR:
case MAV_TYPE_VTOL_RESERVED2:
case MAV_TYPE_VTOL_RESERVED3:
case MAV_TYPE_VTOL_RESERVED4:
case MAV_TYPE_VTOL_RESERVED5:
triggers << "SENS_DPRES_OFF";
break;
default:
break;
triggers << "CAL_MAG0_ID" << "CAL_GYRO0_ID" << "CAL_ACC0_ID" << "CBRK_AIRSPD_CHK";
if (_vehicle->fixedWing() && _autopilot->getParameterFact(FactSystem::defaultComponentId, _airspeedBreaker)->rawValue().toInt() != 162128) {
triggers << "SENS_DPRES_OFF";
}
return triggers;

2
src/AutoPilotPlugins/PX4/SensorsComponent.h

@ -53,6 +53,8 @@ public: @@ -53,6 +53,8 @@ public:
private:
const QString _name;
QVariantList _summaryItems;
static const char* _airspeedBreaker;
};
#endif

Loading…
Cancel
Save