diff --git a/ground/openpilotgcs/share/openpilotgcs/default_configurations/OpenPilotGCS.xml b/ground/openpilotgcs/share/openpilotgcs/default_configurations/OpenPilotGCS.xml index 7e6179226..f3fdb13e8 100644 --- a/ground/openpilotgcs/share/openpilotgcs/default_configurations/OpenPilotGCS.xml +++ b/ground/openpilotgcs/share/openpilotgcs/default_configurations/OpenPilotGCS.xml @@ -1561,6 +1561,17 @@ false + + + false + 0.0.0 + + + %%DATAPATH%%models/boards/Revolution/revolution.3ds + %%DATAPATH%%models/backgrounds/default_background.png + false + + false diff --git a/ground/openpilotgcs/share/share.pro b/ground/openpilotgcs/share/share.pro index c53b22640..3c2a517b8 100644 --- a/ground/openpilotgcs/share/share.pro +++ b/ground/openpilotgcs/share/share.pro @@ -9,7 +9,7 @@ equals(copydata, 1) { for(dir, DATACOLLECTIONS) { exists($$GCS_SOURCE_TREE/share/openpilotgcs/$$dir) { macx:data_copy.commands += $(COPY_DIR) $$targetPath(\"$$GCS_SOURCE_TREE/share/openpilotgcs/$$dir\") $$targetPath(\"$$GCS_DATA_PATH/\") $$addNewline() - win32:data_copy.commands += $(COPY_DIR) $$targetPath(\"$$GCS_SOURCE_TREE/share/openpilotgcs/$$dir\") $$targetPath(\"$$GCS_DATA_PATH/\") $$addNewline() + win32:data_copy.commands += $(COPY_DIR) $$targetPath(\"$$GCS_SOURCE_TREE/share/openpilotgcs/$$dir\") $$targetPath(\"$$GCS_DATA_PATH/$$dir\") $$addNewline() unix:data_copy.commands += $(MKDIR) $$targetPath(\"$$GCS_DATA_PATH/$$dir\") $$addNewline() unix:data_copy.commands += $(COPY_DIR) $$targetPath(\"$$GCS_SOURCE_TREE/share/openpilotgcs/$$dir\") $$targetPath(\"$$GCS_DATA_PATH/\") $$addNewline() } diff --git a/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp b/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp index 081a847c2..86d3d6aec 100644 --- a/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp +++ b/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp @@ -95,7 +95,7 @@ void deviceWidget::populate() devicePic.load("");//TODO break; case 0x0301: - devicePic.load(":/uploader/images/pipx.png"); + devicePic.load(":/uploader/images/gcs-board-oplink.png"); break; case 0x0401: devicePic.load(":/uploader/images/gcs-board-cc.png"); @@ -103,7 +103,11 @@ void deviceWidget::populate() case 0x0402: devicePic.load(":/uploader/images/gcs-board-cc3d.png"); break; + case 0x0903: + devicePic.load(":/uploader/images/gcs-board-revo.png"); + break; default: + devicePic.load(""); //Clear break; } myDevice->gVDevice->scene()->addPixmap(devicePic); diff --git a/ground/openpilotgcs/src/plugins/uploader/devicewidget.ui b/ground/openpilotgcs/src/plugins/uploader/devicewidget.ui index b7c7849da..03a7b1a18 100644 --- a/ground/openpilotgcs/src/plugins/uploader/devicewidget.ui +++ b/ground/openpilotgcs/src/plugins/uploader/devicewidget.ui @@ -6,7 +6,7 @@ 0 0 - 576 + 584 500 @@ -24,12 +24,18 @@ - + 160 160 + + + 350 + 350 + + background: transparent diff --git a/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc.png b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc.png index ee096b76e..ee6affc3c 100644 Binary files a/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc.png and b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc.png differ diff --git a/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc3d.png b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc3d.png index 69fd4aa8c..24326c952 100644 Binary files a/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc3d.png and b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-cc3d.png differ diff --git a/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-oplink.png b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-oplink.png new file mode 100644 index 000000000..34cadf8bf Binary files /dev/null and b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-oplink.png differ diff --git a/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-revo.png b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-revo.png new file mode 100644 index 000000000..7580003ba Binary files /dev/null and b/ground/openpilotgcs/src/plugins/uploader/images/gcs-board-revo.png differ diff --git a/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.cpp b/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.cpp index 143d1e81c..60cb8cb2c 100644 --- a/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.cpp +++ b/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.cpp @@ -59,7 +59,6 @@ void runningDeviceWidget::resizeEvent(QResizeEvent* event) */ void runningDeviceWidget::populate() { - ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); UAVObjectUtilManager* utilMngr = pm->getObject(); int id = utilMngr->getBoardModel(); @@ -81,7 +80,7 @@ void runningDeviceWidget::populate() devicePic.load("");//TODO break; case 0x0301: - devicePic.load(":/uploader/images/pipx.png"); + devicePic.load(":/uploader/images/gcs-board-oplink.png"); break; case 0x0401: devicePic.load(":/uploader/images/gcs-board-cc.png"); @@ -89,7 +88,11 @@ void runningDeviceWidget::populate() case 0x0402: devicePic.load(":/uploader/images/gcs-board-cc3d.png"); break; + case 0x0903: + devicePic.load(":/uploader/images/gcs-board-revo.png"); + break; default: + devicePic.load(""); //Clear break; } myDevice->devicePicture->scene()->addPixmap(devicePic); @@ -97,65 +100,33 @@ void runningDeviceWidget::populate() myDevice->devicePicture->fitInView(devicePic.rect(),Qt::KeepAspectRatio); QString serial = utilMngr->getBoardCPUSerial().toHex(); - myDevice->CPUSerial->setText(serial); + myDevice->CPUSerial->setText(serial); QByteArray description = utilMngr->getBoardDescription(); deviceDescriptorStruct devDesc; - if(UAVObjectUtilManager::descriptionToStructure(description,devDesc)) - { - if(devDesc.gitTag.startsWith("RELEASE",Qt::CaseSensitive)) - { - myDevice->lblFWTag->setText(QString("Firmware tag: ")+devDesc.gitTag); + if(UAVObjectUtilManager::descriptionToStructure(description, devDesc)) { + if(devDesc.gitTag.startsWith("RELEASE",Qt::CaseSensitive)) { + myDevice->lblFWTag->setText(QString("Firmware tag: ") + devDesc.gitTag); QPixmap pix = QPixmap(QString(":uploader/images/application-certificate.svg")); myDevice->lblCertified->setPixmap(pix); myDevice->lblCertified->setToolTip(tr("Tagged officially released firmware build")); - } - else - { - myDevice->lblFWTag->setText(QString("Firmware tag: ")+devDesc.gitTag); + } else { + myDevice->lblFWTag->setText(QString("Firmware tag: ") + devDesc.gitTag); QPixmap pix = QPixmap(QString(":uploader/images/warning.svg")); myDevice->lblCertified->setPixmap(pix); myDevice->lblCertified->setToolTip(tr("Untagged or custom firmware build")); } - myDevice->lblGitCommitTag->setText("Git commit hash: "+devDesc.gitHash); + myDevice->lblGitCommitTag->setText("Git commit hash: " + devDesc.gitHash); myDevice->lblFWDate->setText(QString("Firmware date: ") + devDesc.gitDate.insert(4,"-").insert(7,"-")); } else { - - myDevice->lblFWTag->setText(QString("Firmware tag: ")+QString(description).left(QString(description).indexOf(QChar(255)))); + myDevice->lblFWTag->setText(QString("Firmware tag: ") + QString(description).left(QString(description).indexOf(QChar(255)))); myDevice->lblGitCommitTag->setText("Git commit tag: Unknown"); myDevice->lblFWDate->setText(QString("Firmware date: Unknown")); QPixmap pix = QPixmap(QString(":uploader/images/warning.svg")); myDevice->lblCertified->setPixmap(pix); myDevice->lblCertified->setToolTip(tr("Custom Firmware Build")); } - //status("Ready...", STATUSICON_INFO); } - - -/** - Updates status message - */ -/* -void runningDeviceWidget::status(QString str, StatusIcon ic) -{ - QPixmap px; - myDevice->statusLabel->setText(str); - switch (ic) { - case STATUSICON_RUNNING: - px.load(QString(":/uploader/images/system-run.svg")); - break; - case STATUSICON_OK: - px.load(QString(":/uploader/images/dialog-apply.svg")); - break; - case STATUSICON_FAIL: - px.load(QString(":/uploader/images/process-stop.svg")); - break; - default: - px.load(QString(":/uploader/images/gtk-info.svg")); - } - myDevice->statusIcon->setPixmap(px); -} -*/ diff --git a/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.ui b/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.ui index b873ded19..16542a320 100644 --- a/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.ui +++ b/ground/openpilotgcs/src/plugins/uploader/runningdevicewidget.ui @@ -6,8 +6,8 @@ 0 0 - 516 - 299 + 561 + 387 @@ -22,12 +22,18 @@ - + 160 160 + + + 350 + 350 + + background: transparent @@ -43,12 +49,21 @@ Qt::ScrollBarAlwaysOff + + QPainter::Antialiasing|QPainter::HighQualityAntialiasing|QPainter::SmoothPixmapTransform|QPainter::TextAntialiasing + + + + 0 + 0 + + TextLabel @@ -56,6 +71,12 @@ + + + 0 + 0 + + TextLabel @@ -63,6 +84,12 @@ + + + 0 + 0 + + TextLabel @@ -72,6 +99,12 @@ + + + 0 + 0 + + CPU Serial: @@ -79,6 +112,12 @@ + + + 0 + 0 + + true @@ -86,8 +125,34 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + diff --git a/ground/openpilotgcs/src/plugins/uploader/uploader.qrc b/ground/openpilotgcs/src/plugins/uploader/uploader.qrc index 2c21df666..d2cd82ca6 100644 --- a/ground/openpilotgcs/src/plugins/uploader/uploader.qrc +++ b/ground/openpilotgcs/src/plugins/uploader/uploader.qrc @@ -16,5 +16,7 @@ images/gcs-board-cc.png images/gcs-board-cc3d.png images/pipx.png + images/gcs-board-oplink.png + images/gcs-board-revo.png diff --git a/ground/openpilotgcs/src/plugins/uploader/uploader.ui b/ground/openpilotgcs/src/plugins/uploader/uploader.ui index 397573535..99f06b2a2 100644 --- a/ground/openpilotgcs/src/plugins/uploader/uploader.ui +++ b/ground/openpilotgcs/src/plugins/uploader/uploader.ui @@ -175,7 +175,7 @@ halting a running board. 0 - + Mainboard @@ -186,14 +186,14 @@ halting a running board. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To upgrade the firmware in your boards, proceed as follows:</p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- Connect telemetry</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- Once telemetry is running, press &quot;Halt&quot; above</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- You will get a list of devices.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- You can then upload/download to/from each board as you wish</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- You can resume operations by pressing &quot;Boot&quot;</p></body></html> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">To upgrade the firmware in your boards, proceed as follows:</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- Connect telemetry</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- Once telemetry is running, press &quot;Halt&quot; above</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- You will get a list of devices.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- You can then upload/download to/from each board as you wish</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- You can resume operations by pressing &quot;Boot&quot;</span></p></body></html> @@ -208,8 +208,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p></body></html> diff --git a/ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp b/ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp index 706cce1fe..9ce7ab67f 100755 --- a/ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp +++ b/ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp @@ -147,7 +147,7 @@ void UploaderGadgetWidget::onPhisicalHWConnect() Enables widget buttons if autopilot connected */ void UploaderGadgetWidget::onAutopilotConnect(){ - QTimer::singleShot(1000,this,SLOT(populate())); + QTimer::singleShot(1000, this, SLOT(populate())); } void UploaderGadgetWidget::populate() @@ -175,6 +175,7 @@ void UploaderGadgetWidget::populate() Enables widget buttons if autopilot disconnected */ void UploaderGadgetWidget::onAutopilotDisconnect(){ + m_config->haltButton->setEnabled(false); m_config->resetButton->setEnabled(false); m_config->bootButton->setEnabled(true); @@ -188,7 +189,6 @@ void UploaderGadgetWidget::onAutopilotDisconnect(){ } } - /** Tell the mainboard to go to bootloader: - Send the relevant IAP commands