Commit c74d545b authored by Don Gagne's avatar Don Gagne

Switch to FactSystem for parameters

parent 4c8b3f0f
......@@ -142,13 +142,7 @@ bool AirframeComponent::requiresSetup(void) const
bool AirframeComponent::setupComplete(void) const
{
QVariant value;
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), "SYS_AUTOSTART", value)) {
return value.toInt() != 0;
} else {
Q_ASSERT(false);
return false;
}
return _autopilot->getParameterFact("SYS_AUTOSTART")->value().toInt() != 0;
}
QString AirframeComponent::setupStateDescription(void) const
......
......@@ -72,13 +72,7 @@ bool FlightModesComponent::requiresSetup(void) const
bool FlightModesComponent::setupComplete(void) const
{
QVariant value;
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), "RC_MAP_MODE_SW", value)) {
return value.toInt() != 0;
} else {
Q_ASSERT(false);
return false;
}
return _autopilot->getParameterFact("RC_MAP_MODE_SW")->value().toInt() != 0;
}
QString FlightModesComponent::setupStateDescription(void) const
......
......@@ -29,6 +29,12 @@
PX4Component::PX4Component(UASInterface* uas, AutoPilotPlugin* autopilot, QObject* parent) :
VehicleComponent(uas, autopilot, parent)
{
Q_ASSERT(uas);
Q_ASSERT(autopilot);
_paramMgr = _uas->getParamManager();
Q_ASSERT(_paramMgr);
bool fSuccess = connect(_paramMgr, SIGNAL(parameterUpdated(int, QString, QVariant)), this, SLOT(_parameterUpdated(int, QString, QVariant)));
Q_ASSERT(fSuccess);
Q_UNUSED(fSuccess);
......
......@@ -47,6 +47,9 @@ private slots:
/// @brief Connected to QGCUASParamManagerInterface::parameterUpdated signal in order to signal
/// setupCompleteChanged at appropriate times.
void _parameterUpdated(int compId, QString paramName, QVariant value);
private:
QGCUASParamManagerInterface* _paramMgr;
};
#endif
......@@ -58,15 +58,9 @@ bool PowerComponent::requiresSetup(void) const
bool PowerComponent::setupComplete(void) const
{
QVariant cvalue, evalue, nvalue;
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), "BAT_V_CHARGED", cvalue)) {
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), "BAT_V_EMPTY", evalue)) {
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), "BAT_N_CELLS", nvalue)) {
return (cvalue.toFloat() > 0.1f) && (evalue.toFloat() > 0.1f) && (nvalue.toInt() > 0);
}
}
}
Q_ASSERT(false);
return false;
return _autopilot->getParameterFact("BAT_V_CHARGED")->value().toFloat() != 0.0f &&
_autopilot->getParameterFact("BAT_V_EMPTY")->value().toFloat() != 0.0f &&
_autopilot->getParameterFact("BAT_N_CELLS")->value().toInt() != 0;
}
QString PowerComponent::setupStateDescription(void) const
......
......@@ -62,13 +62,7 @@ bool RadioComponent::setupComplete(void) const
QStringList attitudeMappings;
attitudeMappings << "RC_MAP_ROLL" << "RC_MAP_PITCH" << "RC_MAP_YAW" << "RC_MAP_THROTTLE";
foreach(QString mapParam, attitudeMappings) {
QVariant value;
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), mapParam, value)) {
if (value.toInt() == 0) {
return false;
}
} else {
Q_ASSERT(false);
if (_autopilot->getParameterFact(mapParam)->value().toInt() == 0) {
return false;
}
}
......@@ -86,28 +80,13 @@ bool RadioComponent::setupComplete(void) const
QString param;
param = QString("RC%1_MIN").arg(i);
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), param, value)) {
rcMin = value.toInt();
} else {
Q_ASSERT(false);
return false;
}
rcMin = _autopilot->getParameterFact(param)->value().toInt();
param = QString("RC%1_MAX").arg(i);
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), param, value)) {
rcMax = value.toInt();
} else {
Q_ASSERT(false);
return false;
}
rcMax = _autopilot->getParameterFact(param)->value().toInt();
param = QString("RC%1_TRIM").arg(i);
if (_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), param, value)) {
rcTrim = value.toInt();
} else {
Q_ASSERT(false);
return false;
}
rcTrim = _autopilot->getParameterFact(param)->value().toInt();
if (rcMin == rcMinDefault && rcMax == rcMaxDefault && rcTrim == rcTrimDefault) {
return false;
......
......@@ -62,14 +62,7 @@ bool SensorsComponent::requiresSetup(void) const
bool SensorsComponent::setupComplete(void) const
{
foreach(QString triggerParam, setupCompleteChangedTriggerList()) {
QVariant value;
if (!_paramMgr->getParameterValue(_paramMgr->getDefaultComponentId(), triggerParam, value)) {
Q_ASSERT(false);
return false;
}
if (value.toFloat() == 0.0f) {
if (_autopilot->getParameterFact(triggerParam)->value().toFloat() == 0.0f) {
return false;
}
}
......
......@@ -34,9 +34,6 @@ VehicleComponent::VehicleComponent(UASInterface* uas, AutoPilotPlugin* autopilot
{
Q_ASSERT(uas);
Q_ASSERT(autopilot);
_paramMgr = _uas->getParamManager();
Q_ASSERT(_paramMgr);
}
VehicleComponent::~VehicleComponent()
......
......@@ -75,7 +75,6 @@ signals:
protected:
UASInterface* _uas;
AutoPilotPlugin* _autopilot;
QGCUASParamManagerInterface* _paramMgr;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment