Browse Source

Merge branch 'master' of github.com:mavlink/qgroundcontrol into thread_test

QGC4.4
Lorenz Meier 11 years ago
parent
commit
eaf61cb187
  1. 4
      src/comm/px4_custom_mode.h
  2. 8
      src/uas/UAS.cc
  3. 38
      src/ui/QGCPX4VehicleConfig.cc
  4. 134
      src/ui/QGCPX4VehicleConfig.ui
  5. 4
      src/ui/uas/UASControlWidget.cc

4
src/comm/px4_custom_mode.h

@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
enum PX4_CUSTOM_MAIN_MODE {
PX4_CUSTOM_MAIN_MODE_MANUAL = 1,
PX4_CUSTOM_MAIN_MODE_SEATBELT,
PX4_CUSTOM_MAIN_MODE_EASY,
PX4_CUSTOM_MAIN_MODE_ALTCTL,
PX4_CUSTOM_MAIN_MODE_POSCTL,
PX4_CUSTOM_MAIN_MODE_AUTO,
};

8
src/uas/UAS.cc

@ -3396,10 +3396,10 @@ QString UAS::getShortModeTextFor(uint8_t base_mode, uint32_t custom_mode, int au @@ -3396,10 +3396,10 @@ QString UAS::getShortModeTextFor(uint8_t base_mode, uint32_t custom_mode, int au
px4_mode.data = custom_mode;
if (px4_mode.main_mode == PX4_CUSTOM_MAIN_MODE_MANUAL) {
mode += "|MANUAL";
} else if (px4_mode.main_mode == PX4_CUSTOM_MAIN_MODE_SEATBELT) {
mode += "|SEATBELT";
} else if (px4_mode.main_mode == PX4_CUSTOM_MAIN_MODE_EASY) {
mode += "|EASY";
} else if (px4_mode.main_mode == PX4_CUSTOM_MAIN_MODE_ALTCTL) {
mode += "|ALTCTL";
} else if (px4_mode.main_mode == PX4_CUSTOM_MAIN_MODE_POSCTL) {
mode += "|POSCTL";
} else if (px4_mode.main_mode == PX4_CUSTOM_MAIN_MODE_AUTO) {
mode += "|AUTO";
if (px4_mode.sub_mode == PX4_CUSTOM_SUB_MODE_AUTO_READY) {

38
src/ui/QGCPX4VehicleConfig.cc

@ -71,7 +71,7 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) : @@ -71,7 +71,7 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) :
channelNames << "Yaw / Rudder";
channelNames << "Throttle";
channelNames << "Main Mode Switch";
channelNames << "Assist Switch";
channelNames << "Posctl Switch";
channelNames << "Loiter Switch";
channelNames << "Return Switch";
channelNames << "Flaps";
@ -202,8 +202,8 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) : @@ -202,8 +202,8 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) :
connect(ui->yawSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setYawChan(int)));
connect(ui->throttleSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setThrottleChan(int)));
connect(ui->modeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setModeChan(int)));
connect(ui->assistSwSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setAssistChan(int)));
connect(ui->missionSwSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setMissionChan(int)));
connect(ui->posctlSwSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setAssistChan(int)));
connect(ui->loiterSwSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setMissionChan(int)));
connect(ui->returnSwSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setReturnChan(int)));
connect(ui->flapsSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setFlapsChan(int)));
connect(ui->aux1SpinBox, SIGNAL(valueChanged(int)), this, SLOT(setAux1Chan(int)));
@ -215,8 +215,8 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) : @@ -215,8 +215,8 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) :
connect(ui->invertCheckBox_3, SIGNAL(clicked(bool)), this, SLOT(setYawInverted(bool)));
connect(ui->invertCheckBox_4, SIGNAL(clicked(bool)), this, SLOT(setThrottleInverted(bool)));
connect(ui->invertCheckBox_5, SIGNAL(clicked(bool)), this, SLOT(setModeInverted(bool)));
connect(ui->assistSwInvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setAssistInverted(bool)));
connect(ui->missionSwInvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setMissionInverted(bool)));
connect(ui->posctlSwInvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setAssistInverted(bool)));
connect(ui->loiterSwInvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setMissionInverted(bool)));
connect(ui->returnSwInvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setReturnInverted(bool)));
connect(ui->flapsInvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setFlapsInverted(bool)));
connect(ui->aux1InvertCheckBox, SIGNAL(clicked(bool)), this, SLOT(setAux1Inverted(bool)));
@ -227,8 +227,8 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) : @@ -227,8 +227,8 @@ QGCPX4VehicleConfig::QGCPX4VehicleConfig(QWidget *parent) :
connect(ui->yawButton, SIGNAL(clicked()), this, SLOT(identifyYawChannel()));
connect(ui->throttleButton, SIGNAL(clicked()), this, SLOT(identifyThrottleChannel()));
connect(ui->modeButton, SIGNAL(clicked()), this, SLOT(identifyModeChannel()));
connect(ui->assistSwButton, SIGNAL(clicked()), this, SLOT(identifyAssistChannel()));
connect(ui->missionSwButton, SIGNAL(clicked()), this, SLOT(identifyMissionChannel()));
connect(ui->posctlSwButton, SIGNAL(clicked()), this, SLOT(identifyAssistChannel()));
connect(ui->loiterSwButton, SIGNAL(clicked()), this, SLOT(identifyMissionChannel()));
connect(ui->returnSwButton, SIGNAL(clicked()), this, SLOT(identifyReturnChannel()));
connect(ui->flapsButton, SIGNAL(clicked()), this, SLOT(identifyFlapsChannel()));
connect(ui->aux1Button, SIGNAL(clicked()), this, SLOT(identifyAux1Channel()));
@ -1409,10 +1409,10 @@ void QGCPX4VehicleConfig::remoteControlChannelRawChanged(int chan, float fval) @@ -1409,10 +1409,10 @@ void QGCPX4VehicleConfig::remoteControlChannelRawChanged(int chan, float fval)
ui->modeSpinBox->setValue(chan + 1);
break;
case 5:
ui->assistSwSpinBox->setValue(chan + 1);
ui->posctlSwSpinBox->setValue(chan + 1);
break;
case 6:
ui->missionSwSpinBox->setValue(chan + 1);
ui->loiterSwSpinBox->setValue(chan + 1);
break;
case 7:
ui->returnSwSpinBox->setValue(chan + 1);
@ -1565,10 +1565,10 @@ void QGCPX4VehicleConfig::updateAllInvertedCheckboxes() @@ -1565,10 +1565,10 @@ void QGCPX4VehicleConfig::updateAllInvertedCheckboxes()
//ui->radio5Widget->setName(tr("Mode Switch (#%1)").arg(rcMapping[4] + 1));
break;
case 5:
ui->assistSwInvertCheckBox->setChecked(rcRev[rc_input_index]);
ui->posctlSwInvertCheckBox->setChecked(rcRev[rc_input_index]);
break;
case 6:
ui->missionSwInvertCheckBox->setChecked(rcRev[rc_input_index]);
ui->loiterSwInvertCheckBox->setChecked(rcRev[rc_input_index]);
break;
case 7:
ui->returnSwInvertCheckBox->setChecked(rcRev[rc_input_index]);
@ -1692,13 +1692,13 @@ void QGCPX4VehicleConfig::handleRcParameterChange(QString parameterName, QVarian @@ -1692,13 +1692,13 @@ void QGCPX4VehicleConfig::handleRcParameterChange(QString parameterName, QVarian
}
else if (parameterName.startsWith("RC_MAP_POSCTL_SW")) {
setChannelToFunctionMapping(5, intValue);
ui->assistSwSpinBox->setValue(rcMapping[5]+1);
ui->assistSwSpinBox->setEnabled(true);
ui->posctlSwSpinBox->setValue(rcMapping[5]+1);
ui->posctlSwSpinBox->setEnabled(true);
}
else if (parameterName.startsWith("RC_MAP_LOITER_SW")) {
setChannelToFunctionMapping(6, intValue);
ui->missionSwSpinBox->setValue(rcMapping[6]+1);
ui->missionSwSpinBox->setEnabled(true);
ui->loiterSwSpinBox->setValue(rcMapping[6]+1);
ui->loiterSwSpinBox->setEnabled(true);
}
else if (parameterName.startsWith("RC_MAP_RETURN_SW")) {
setChannelToFunctionMapping(7, intValue);
@ -1941,17 +1941,17 @@ void QGCPX4VehicleConfig::updateRcChanLabels() @@ -1941,17 +1941,17 @@ void QGCPX4VehicleConfig::updateRcChanLabels()
}
if (rcValue[rcMapping[5]] != UINT16_MAX) {
ui->assistSwChanLabel->setText(labelForRcValue(rcAssist));
ui->posctlSwChanLabel->setText(labelForRcValue(rcAssist));
}
else {
ui->assistSwChanLabel->setText(blankLabel);
ui->posctlSwChanLabel->setText(blankLabel);
}
if (rcValue[rcMapping[6]] != UINT16_MAX) {
ui->missionSwChanLabel->setText(labelForRcValue(rcLoiter));
ui->loiterSwChanLabel->setText(labelForRcValue(rcLoiter));
}
else {
ui->missionSwChanLabel->setText(blankLabel);
ui->loiterSwChanLabel->setText(blankLabel);
}
if (rcValue[rcMapping[7]] != UINT16_MAX) {

134
src/ui/QGCPX4VehicleConfig.ui

@ -20,16 +20,7 @@ @@ -20,16 +20,7 @@
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item row="1" column="1">
@ -67,9 +58,9 @@ @@ -67,9 +58,9 @@
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="6" column="0">
<widget class="QLabel" name="chanNameAssistSw">
<widget class="QLabel" name="posctlSwChanName">
<property name="text">
<string>Assist Switch</string>
<string>Posctl Switch</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@ -121,7 +112,7 @@ @@ -121,7 +112,7 @@
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_7">
<widget class="QLabel" name="returnChanName">
<property name="text">
<string>Return Switch</string>
</property>
@ -141,7 +132,7 @@ @@ -141,7 +132,7 @@
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="chanNameAux2_2">
<widget class="QLabel" name="aux1ChanName">
<property name="text">
<string>Aux 1</string>
</property>
@ -188,7 +179,7 @@ @@ -188,7 +179,7 @@
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="chanName_2">
<widget class="QLabel" name="pitchChanName">
<property name="text">
<string>Pitch / Elevator</string>
</property>
@ -205,7 +196,7 @@ @@ -205,7 +196,7 @@
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="chanName_3">
<widget class="QLabel" name="yawChanName">
<property name="text">
<string>Yaw / Rudder</string>
</property>
@ -288,7 +279,7 @@ @@ -288,7 +279,7 @@
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="missionSwChanLabel">
<widget class="QLabel" name="loiterSwChanLabel">
<property name="text">
<string>0000</string>
</property>
@ -298,7 +289,7 @@ @@ -298,7 +289,7 @@
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="chanName_5">
<widget class="QLabel" name="modeSwChanName">
<property name="text">
<string>Mode Switch</string>
</property>
@ -328,7 +319,7 @@ @@ -328,7 +319,7 @@
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="chanName">
<widget class="QLabel" name="rollChanName">
<property name="text">
<string>Roll / Ailerons</string>
</property>
@ -355,7 +346,7 @@ @@ -355,7 +346,7 @@
</widget>
</item>
<item row="6" column="2">
<widget class="QCheckBox" name="assistSwInvertCheckBox">
<widget class="QCheckBox" name="posctlSwInvertCheckBox">
<property name="text">
<string>Reverse</string>
</property>
@ -372,14 +363,14 @@ @@ -372,14 +363,14 @@
</widget>
</item>
<item row="6" column="4">
<widget class="QPushButton" name="assistSwButton">
<widget class="QPushButton" name="posctlSwButton">
<property name="text">
<string>Identify Assist Switch</string>
<string>Identify Posctl Switch</string>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="chanNameAux2">
<widget class="QLabel" name="aux2ChanName">
<property name="text">
<string>Aux 2</string>
</property>
@ -396,7 +387,7 @@ @@ -396,7 +387,7 @@
</widget>
</item>
<item row="6" column="3">
<widget class="QSpinBox" name="assistSwSpinBox">
<widget class="QSpinBox" name="posctlSwSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
@ -457,7 +448,7 @@ @@ -457,7 +448,7 @@
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="assistSwChanLabel">
<widget class="QLabel" name="posctlSwChanLabel">
<property name="text">
<string>0000</string>
</property>
@ -487,9 +478,9 @@ @@ -487,9 +478,9 @@
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_6">
<widget class="QLabel" name="loiterSwChanName">
<property name="text">
<string>Mission Switch</string>
<string>Loiter Switch</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@ -507,7 +498,7 @@ @@ -507,7 +498,7 @@
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="chanName_4">
<widget class="QLabel" name="throttleChanName">
<property name="text">
<string>Throttle</string>
</property>
@ -517,7 +508,7 @@ @@ -517,7 +508,7 @@
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_10">
<widget class="QLabel" name="flapsChanName">
<property name="text">
<string>Flaps</string>
</property>
@ -537,7 +528,7 @@ @@ -537,7 +528,7 @@
</widget>
</item>
<item row="7" column="2">
<widget class="QCheckBox" name="missionSwInvertCheckBox">
<widget class="QCheckBox" name="loiterSwInvertCheckBox">
<property name="text">
<string>Reverse</string>
</property>
@ -558,7 +549,7 @@ @@ -558,7 +549,7 @@
</widget>
</item>
<item row="7" column="3">
<widget class="QSpinBox" name="missionSwSpinBox">
<widget class="QSpinBox" name="loiterSwSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
@ -582,9 +573,9 @@ @@ -582,9 +573,9 @@
</widget>
</item>
<item row="7" column="4">
<widget class="QPushButton" name="missionSwButton">
<widget class="QPushButton" name="loiterSwButton">
<property name="text">
<string>Identify Mission Switch</string>
<string>Identify Loiter Switch</string>
</property>
</widget>
</item>
@ -1005,16 +996,7 @@ @@ -1005,16 +996,7 @@
<string>Configuration</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -1032,16 +1014,7 @@ @@ -1032,16 +1014,7 @@
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -1060,16 +1033,7 @@ @@ -1060,16 +1033,7 @@
<string>Configuration</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -1087,16 +1051,7 @@ @@ -1087,16 +1051,7 @@
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -1129,16 +1084,7 @@ @@ -1129,16 +1084,7 @@
<string>Onboard Configuration</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -1156,16 +1102,7 @@ @@ -1156,16 +1102,7 @@
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -1271,16 +1208,7 @@ @@ -1271,16 +1208,7 @@
<item row="0" column="0" rowspan="3">
<widget class="QWidget" name="navBarWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>

4
src/ui/uas/UASControlWidget.cc

@ -80,10 +80,10 @@ void UASControlWidget::updateModesList() @@ -80,10 +80,10 @@ void UASControlWidget::updateModesList()
px4_cm.main_mode = PX4_CUSTOM_MAIN_MODE_MANUAL;
modes_list_px4[0].customMode = px4_cm.data;
modes_list_px4[1].baseMode = MAV_MODE_FLAG_CUSTOM_MODE_ENABLED | MAV_MODE_FLAG_MANUAL_INPUT_ENABLED | MAV_MODE_FLAG_STABILIZE_ENABLED;
px4_cm.main_mode = PX4_CUSTOM_MAIN_MODE_SEATBELT;
px4_cm.main_mode = PX4_CUSTOM_MAIN_MODE_ALTCTL;
modes_list_px4[1].customMode = px4_cm.data;
modes_list_px4[2].baseMode = MAV_MODE_FLAG_CUSTOM_MODE_ENABLED | MAV_MODE_FLAG_MANUAL_INPUT_ENABLED | MAV_MODE_FLAG_STABILIZE_ENABLED | MAV_MODE_FLAG_GUIDED_ENABLED;
px4_cm.main_mode = PX4_CUSTOM_MAIN_MODE_EASY;
px4_cm.main_mode = PX4_CUSTOM_MAIN_MODE_POSCTL;
modes_list_px4[2].customMode = px4_cm.data;
modes_list_px4[3].baseMode = MAV_MODE_FLAG_CUSTOM_MODE_ENABLED | MAV_MODE_FLAG_AUTO_ENABLED | MAV_MODE_FLAG_STABILIZE_ENABLED | MAV_MODE_FLAG_GUIDED_ENABLED;
px4_cm.main_mode = PX4_CUSTOM_MAIN_MODE_AUTO;

Loading…
Cancel
Save