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 + + +