diff --git a/ground/src/plugins/config/configairframewidget.cpp b/ground/src/plugins/config/configairframewidget.cpp
index 9d9b191e7..56ca0c5cd 100644
--- a/ground/src/plugins/config/configairframewidget.cpp
+++ b/ground/src/plugins/config/configairframewidget.cpp
@@ -60,7 +60,8 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p
m_aircraft->fixedWingType->addItems(fixedWingTypes);
QStringList multiRotorTypes;
- multiRotorTypes << "Quad +" << "Quad X" << "Hexacopter" << "Octocopter";
+ multiRotorTypes << "Quad +" << "Quad X" << "Hexacopter" << "Octocopter" << "Hexacopter X" << "Octocopter V" << "Octo Coax +"
+ << "Octo Coax X" << "Hexacopter Y6" << "Tricopter Y";
m_aircraft->multirotorFrameType->addItems(multiRotorTypes);
@@ -616,8 +617,7 @@ void ConfigAirframeWidget::setupAirframeUI(QString frameType)
m_aircraft->aircraftType->setCurrentIndex(m_aircraft->aircraftType->findText("Multirotor"));
m_aircraft->multirotorFrameType->setCurrentIndex(m_aircraft->multirotorFrameType->findText("Quad X"));
quad->setElementId("quad-X");
- m_aircraft->quadShape->setSceneRect(quad->boundingRect());
- m_aircraft->quadShape->fitInView(quad, Qt::KeepAspectRatio);
+ m_aircraft->multiMotor4->setEnabled(true);
m_aircraft->multiMotor5->setEnabled(false);
m_aircraft->multiMotor6->setEnabled(false);
m_aircraft->multiMotor7->setEnabled(false);
@@ -629,8 +629,7 @@ void ConfigAirframeWidget::setupAirframeUI(QString frameType)
m_aircraft->aircraftType->setCurrentIndex(m_aircraft->aircraftType->findText("Multirotor"));
m_aircraft->multirotorFrameType->setCurrentIndex(m_aircraft->multirotorFrameType->findText("Quad +"));
quad->setElementId("quad-plus");
- m_aircraft->quadShape->setSceneRect(quad->boundingRect());
- m_aircraft->quadShape->fitInView(quad, Qt::KeepAspectRatio);
+ m_aircraft->multiMotor4->setEnabled(true);
m_aircraft->multiMotor5->setEnabled(false);
m_aircraft->multiMotor6->setEnabled(false);
m_aircraft->multiMotor7->setEnabled(false);
@@ -642,8 +641,7 @@ void ConfigAirframeWidget::setupAirframeUI(QString frameType)
m_aircraft->aircraftType->setCurrentIndex(m_aircraft->aircraftType->findText("Multirotor"));
m_aircraft->multirotorFrameType->setCurrentIndex(m_aircraft->multirotorFrameType->findText("Hexacopter"));
quad->setElementId("quad-hexa");
- m_aircraft->quadShape->setSceneRect(quad->boundingRect());
- m_aircraft->quadShape->fitInView(quad, Qt::KeepAspectRatio);
+ m_aircraft->multiMotor4->setEnabled(true);
m_aircraft->multiMotor5->setEnabled(true);
m_aircraft->multiMotor6->setEnabled(true);
m_aircraft->multiMotor7->setEnabled(false);
@@ -655,8 +653,7 @@ void ConfigAirframeWidget::setupAirframeUI(QString frameType)
m_aircraft->aircraftType->setCurrentIndex(m_aircraft->aircraftType->findText("Multirotor"));
m_aircraft->multirotorFrameType->setCurrentIndex(m_aircraft->multirotorFrameType->findText("Octocopter"));
quad->setElementId("quad-octo");
- m_aircraft->quadShape->setSceneRect(quad->boundingRect());
- m_aircraft->quadShape->fitInView(quad, Qt::KeepAspectRatio);
+ m_aircraft->multiMotor4->setEnabled(true);
m_aircraft->multiMotor5->setEnabled(true);
m_aircraft->multiMotor6->setEnabled(true);
m_aircraft->multiMotor7->setEnabled(true);
@@ -664,7 +661,57 @@ void ConfigAirframeWidget::setupAirframeUI(QString frameType)
m_aircraft->mrRollMixLevel->setValue(33);
m_aircraft->mrPitchMixLevel->setValue(33);
m_aircraft->mrYawMixLevel->setValue(12);
+ } else if (frameType == "HexaX" || frameType == "Hexacopter X" ) {
+ quad->setElementId("quad-hexa-X");
+ m_aircraft->multiMotor4->setEnabled(true);
+ m_aircraft->multiMotor5->setEnabled(true);
+ m_aircraft->multiMotor6->setEnabled(true);
+ m_aircraft->multiMotor7->setEnabled(false);
+ m_aircraft->multiMotor8->setEnabled(false);
+
+ } else if (frameType == "OctoV" || frameType == "Octocopter V") {
+ quad->setElementId("quad-octo-v");
+ m_aircraft->multiMotor4->setEnabled(true);
+ m_aircraft->multiMotor5->setEnabled(true);
+ m_aircraft->multiMotor6->setEnabled(true);
+ m_aircraft->multiMotor7->setEnabled(true);
+ m_aircraft->multiMotor8->setEnabled(true);
+
+ } else if (frameType == "OctoCoaxP" || frameType == "Octo Coax +") {
+ quad->setElementId("octo-coax-P");
+ m_aircraft->multiMotor4->setEnabled(true);
+ m_aircraft->multiMotor5->setEnabled(true);
+ m_aircraft->multiMotor6->setEnabled(true);
+ m_aircraft->multiMotor7->setEnabled(true);
+ m_aircraft->multiMotor8->setEnabled(true);
+
+ } else if (frameType == "OctoCoaxX" || frameType == "Octo Coax X") {
+ quad->setElementId("octo-coax-X");
+ m_aircraft->multiMotor4->setEnabled(true);
+ m_aircraft->multiMotor5->setEnabled(true);
+ m_aircraft->multiMotor6->setEnabled(true);
+ m_aircraft->multiMotor7->setEnabled(true);
+ m_aircraft->multiMotor8->setEnabled(true);
+
+ } else if (frameType == "HexaCoax" || frameType == "Hexacopter Y6") {
+ quad->setElementId("hexa-coax");
+ m_aircraft->multiMotor4->setEnabled(true);
+ m_aircraft->multiMotor5->setEnabled(true);
+ m_aircraft->multiMotor6->setEnabled(true);
+ m_aircraft->multiMotor7->setEnabled(false);
+ m_aircraft->multiMotor8->setEnabled(false);
+
+ } else if (frameType == "Tri" || frameType == "Tricopter Y") {
+ quad->setElementId("tri");
+ m_aircraft->multiMotor4->setEnabled(false);
+ m_aircraft->multiMotor5->setEnabled(false);
+ m_aircraft->multiMotor6->setEnabled(false);
+ m_aircraft->multiMotor7->setEnabled(false);
+ m_aircraft->multiMotor8->setEnabled(false);
+
}
+ m_aircraft->quadShape->setSceneRect(quad->boundingRect());
+ m_aircraft->quadShape->fitInView(quad, Qt::KeepAspectRatio);
}
/**
diff --git a/ground/src/plugins/config/images/quad-shapes.svg b/ground/src/plugins/config/images/quad-shapes.svg
index 86753993a..cef6f5af7 100644
--- a/ground/src/plugins/config/images/quad-shapes.svg
+++ b/ground/src/plugins/config/images/quad-shapes.svg
@@ -46,15 +46,15 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="0.49497475"
- inkscape:cx="550.37918"
- inkscape:cy="505.78716"
+ inkscape:zoom="1.4"
+ inkscape:cx="152.82688"
+ inkscape:cy="204.57937"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
- inkscape:snap-to-guides="false"
+ inkscape:snap-to-guides="true"
inkscape:snap-grids="true"
inkscape:window-width="1366"
inkscape:window-height="693"
@@ -103,8 +103,12 @@
id="guide3207" />
+
@@ -114,7 +118,7 @@
image/svg+xml
-
+
@@ -1893,183 +1897,16 @@
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
-
-
-
-
-
-
-
-
+ transform="translate(10,10)"
+ id="g3143"
+ inkscape:label="#g3890"
+ inkscape:export-filename="/tmp/quad-shapes.png"
+ inkscape:export-xdpi="111.09"
+ inkscape:export-ydpi="111.09">
+
+
@@ -2104,36 +1949,36 @@
transform="translate(0,108)"
sodipodi:type="arc"
style="fill:#a3a3a3;fill-opacity:1;stroke:#000000;stroke-opacity:1"
- id="path3101"
+ id="path3155"
sodipodi:cx="153.03812"
sodipodi:cy="75.039597"
sodipodi:rx="23.738585"
sodipodi:ry="23.738585"
d="m 176.7767,75.039597 c 0,13.110458 -10.62813,23.738584 -23.73858,23.738584 -13.11046,0 -23.73859,-10.628126 -23.73859,-23.738584 0,-13.110459 10.62813,-23.738585 23.73859,-23.738585 13.11045,0 23.73858,10.628126 23.73858,23.738585 z" />
1
3
+ style="font-size:24px">2
5
+ id="tspan3167"
+ sodipodi:role="line">3
7
+ style="font-size:24px">4
+ id="g3173"
+ transform="translate(-1.8551802,0)">
+ d="m 174.92857,80.147895 -2.85714,-5.714285 -5.35714,3.928571"
+ id="path3177" />
+ id="g3179">
-
-
-
-
- 2
- 4
- 6
- 8
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 1
- 1
+ 3
+ 5
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ 4
+ 6
+ 8
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 5
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ 4
+ 6
+ 8
+
+
+
+
+
+ 2
+ 3
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+ 2
+
+
+
+ 3
+
+
5
+ id="tspan4324"
+ x="191.02646"
+ y="128.74673"
+ style="font-size:24px">4
+
+
+
5
+
+
+
+
+ 7
+ y="212.47389"
+ x="188.63177"
+ id="tspan4328"
+ sodipodi:role="line">6
+
+
+
+
+
+
+ 2
+
+
+ 3
+ transform="translate(8,108.48477)"
+ id="g4421">
-
-
-
-
-
-
-
-
-
-
- 2
- 4
- 6
- 8
-
-
-
-
- 2
- 3
-
-
-
-
-
-
- 1
-
-
-
-
-
-
- 1
- 2
-
-
-
- 3
-
-
- 4
-
-
-
- 5
-
-
-
-
- 6
-
-
-
-
-
-
- 2
-
-
- 3
-
-
-
-
-
-
-
-
-
+
+
+ 1
-
-
-
-
+ x="108.94852"
+ id="tspan4433"
+ sodipodi:role="line">1
+
+
+