mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-05 21:52:10 +01:00
OP-138 A few missing bits in the tricopter mixer settings, sorry...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2033 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
8087fda6f9
commit
739f4e468f
@ -418,7 +418,7 @@ void ConfigAirframeWidget::requestAircraftUpdate()
|
|||||||
frameType == "Hexa" || frameType == "Octo" ||
|
frameType == "Hexa" || frameType == "Octo" ||
|
||||||
frameType == "HexaCoax" || frameType == "OctoV" ||
|
frameType == "HexaCoax" || frameType == "OctoV" ||
|
||||||
frameType == "HexaX" || frameType == "OctoCoaxP" ||
|
frameType == "HexaX" || frameType == "OctoCoaxP" ||
|
||||||
frameType == "OctoCoaxX") {
|
frameType == "OctoCoaxX" || frameType == "Tri") {
|
||||||
//////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////
|
||||||
// Retrieve Multirotor settings
|
// Retrieve Multirotor settings
|
||||||
//////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////
|
||||||
@ -714,8 +714,35 @@ void ConfigAirframeWidget::requestAircraftUpdate()
|
|||||||
val = floor(field->getDouble(i)/1.27);
|
val = floor(field->getDouble(i)/1.27);
|
||||||
m_aircraft->mrRollMixLevel->setValue(val);
|
m_aircraft->mrRollMixLevel->setValue(val);
|
||||||
}
|
}
|
||||||
}
|
} else if (frameType == "Tri") {
|
||||||
|
// Motors 1 to 8 are N / NE / E / etc
|
||||||
|
field = obj->getField(QString("VTOLMotorNW"));
|
||||||
|
Q_ASSERT(field);
|
||||||
|
m_aircraft->multiMotor1->setCurrentIndex(m_aircraft->multiMotor1->findText(field->getValue().toString()));
|
||||||
|
field = obj->getField(QString("VTOLMotorNE"));
|
||||||
|
Q_ASSERT(field);
|
||||||
|
m_aircraft->multiMotor2->setCurrentIndex(m_aircraft->multiMotor2->findText(field->getValue().toString()));
|
||||||
|
field = obj->getField(QString("VTOLMotorS"));
|
||||||
|
Q_ASSERT(field);
|
||||||
|
m_aircraft->multiMotor3->setCurrentIndex(m_aircraft->multiMotor3->findText(field->getValue().toString()));
|
||||||
|
field = obj->getField(QString("FixedWingYaw"));
|
||||||
|
Q_ASSERT(field);
|
||||||
|
m_aircraft->triYawChannel->setCurrentIndex(m_aircraft->multiMotor3->findText(field->getValue().toString()));
|
||||||
|
|
||||||
|
obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("MixerSettings")));
|
||||||
|
int eng= m_aircraft->multiMotor1->currentIndex()-1;
|
||||||
|
// eng will be -1 if value is set to "None"
|
||||||
|
if (eng > -1) {
|
||||||
|
field = obj->getField(mixerVectors.at(eng));
|
||||||
|
int i = field->getElementNames().indexOf("Pitch");
|
||||||
|
double val = floor(2*field->getDouble(i)/1.27);
|
||||||
|
m_aircraft->mrPitchMixLevel->setValue(val);
|
||||||
|
i = field->getElementNames().indexOf("Roll");
|
||||||
|
val = floor(field->getDouble(i)/1.27);
|
||||||
|
m_aircraft->mrRollMixLevel->setValue(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("MixerSettings")));
|
obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("MixerSettings")));
|
||||||
Q_ASSERT(obj);
|
Q_ASSERT(obj);
|
||||||
// Now, retrieve the Feedforward values:
|
// Now, retrieve the Feedforward values:
|
||||||
@ -1876,7 +1903,6 @@ void ConfigAirframeWidget::sendAircraftUpdate()
|
|||||||
};
|
};
|
||||||
setupMixer(mixer);
|
setupMixer(mixer);
|
||||||
|
|
||||||
// TODO: enable tricopter yaw channel!!
|
|
||||||
int eng = m_aircraft->triYawChannel->currentIndex()-1;
|
int eng = m_aircraft->triYawChannel->currentIndex()-1;
|
||||||
obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("MixerSettings")));
|
obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("MixerSettings")));
|
||||||
field = obj->getField(mixerTypes.at(eng));
|
field = obj->getField(mixerTypes.at(eng));
|
||||||
@ -1885,6 +1911,12 @@ void ConfigAirframeWidget::sendAircraftUpdate()
|
|||||||
resetField(field);
|
resetField(field);
|
||||||
int ti = field->getElementNames().indexOf("Yaw");
|
int ti = field->getElementNames().indexOf("Yaw");
|
||||||
field->setValue(127,ti);
|
field->setValue(127,ti);
|
||||||
|
|
||||||
|
obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("ActuatorSettings")));
|
||||||
|
Q_ASSERT(obj);
|
||||||
|
field = obj->getField("FixedWingYaw");
|
||||||
|
field->setValue(m_aircraft->triYawChannel->currentText());
|
||||||
|
|
||||||
m_aircraft->mrStatusLabel->setText("SUCCESS: Mixer Saved OK");
|
m_aircraft->mrStatusLabel->setText("SUCCESS: Mixer Saved OK");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user