diff --git a/ground/openpilotgcs/src/plugins/uavobjectutil/devicedescriptorstruct.h b/ground/openpilotgcs/src/plugins/uavobjectutil/devicedescriptorstruct.h index bf8fafb19..a725c0bfe 100644 --- a/ground/openpilotgcs/src/plugins/uavobjectutil/devicedescriptorstruct.h +++ b/ground/openpilotgcs/src/plugins/uavobjectutil/devicedescriptorstruct.h @@ -12,18 +12,23 @@ public: int boardRevision; static QString idToBoardName(int id) { - switch (id | 0x0011) { - case 0x0111://MB + switch (id) { + case 0x0101://MB return QString("OpenPilot MainBoard"); break; - case 0x0311://PipX + case 0x0201://INS + return QString("OpenPilot INS"); + break; + case 0x0301://PipX return QString("PipXtreame"); break; - case 0x0411://Coptercontrol + case 0x0401://Coptercontrol return QString("CopterControl"); break; - case 0x0211://INS - return QString("OpenPilot INS"); + case 0x0402://Coptercontrol + // It would be nice to say CC3D here but since currently we use string comparisons + // for firmware compatibility and the filename path that would break + return QString("CopterControl"); break; default: return QString(""); diff --git a/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp b/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp index 0393d5534..e3ca707b3 100644 --- a/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp +++ b/ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp @@ -78,27 +78,6 @@ void deviceWidget::setDfu(DFUObject *dfu) m_dfu = dfu; } -QString deviceWidget::idToBoardName(int id) -{ - switch (id | 0x0011) { - case 0x0111://MB - return QString("OpenPilot MainBoard"); - break; - case 0x0311://PipX - return QString("PipXtreme"); - break; - case 0x0411://Coptercontrol - return QString("CopterControl"); - break; - case 0x0211://INS - return QString("OpenPilot INS"); - break; - default: - return QString(""); - break; - } -} - /** Fills the various fields for the device */ @@ -125,6 +104,9 @@ void deviceWidget::populate() case 0x0401: devicePic->renderer()->load(QString(":/uploader/images/deviceID-0401.svg")); break; + case 0x0402: + devicePic->renderer()->load(QString(":/uploader/images/deviceID-0402.svg")); + break; case 0x0201: devicePic->renderer()->load(QString(":/uploader/images/deviceID-0201.svg")); break; @@ -200,7 +182,7 @@ bool deviceWidget::populateBoardStructuredDescription(QByteArray desc) myDevice->lblCertified->setToolTip(tr("Untagged or custom firmware build")); } - myDevice->lblBrdName->setText(idToBoardName(onBoardDescription.boardType<<8)); + myDevice->lblBrdName->setText(deviceDescriptorStruct::idToBoardName(onBoardDescription.boardType << 8 | onBoardDescription.boardRevision)); return true; } @@ -230,7 +212,7 @@ bool deviceWidget::populateLoadedStructuredDescription(QByteArray desc) myDevice->lblCertifiedL->setPixmap(pix); myDevice->lblCertifiedL->setToolTip(tr("Untagged or custom firmware build")); } - myDevice->lblBrdNameL->setText(deviceDescriptorStruct::idToBoardName(LoadedDescription.boardType<<8)); + myDevice->lblBrdNameL->setText(deviceDescriptorStruct::idToBoardName(LoadedDescription.boardType << 8 | LoadedDescription.boardRevision)); return true; } diff --git a/ground/openpilotgcs/src/plugins/uploader/devicewidget.h b/ground/openpilotgcs/src/plugins/uploader/devicewidget.h index 6415985df..202023d50 100644 --- a/ground/openpilotgcs/src/plugins/uploader/devicewidget.h +++ b/ground/openpilotgcs/src/plugins/uploader/devicewidget.h @@ -59,7 +59,6 @@ private: deviceDescriptorStruct onBoardDescription; deviceDescriptorStruct LoadedDescription; QByteArray loadedFW; - QString idToBoardName(int id); Ui_deviceWidget *myDevice; int deviceID; DFUObject *m_dfu; diff --git a/ground/openpilotgcs/src/plugins/uploader/images/deviceID-0402.svg b/ground/openpilotgcs/src/plugins/uploader/images/deviceID-0402.svg new file mode 100644 index 000000000..90121943d --- /dev/null +++ b/ground/openpilotgcs/src/plugins/uploader/images/deviceID-0402.svg @@ -0,0 +1,2389 @@ + + + +image/svg+xmlCC3D + \ No newline at end of file diff --git a/ground/openpilotgcs/src/plugins/uploader/uploader.qrc b/ground/openpilotgcs/src/plugins/uploader/uploader.qrc index 7d2677927..083eab94d 100644 --- a/ground/openpilotgcs/src/plugins/uploader/uploader.qrc +++ b/ground/openpilotgcs/src/plugins/uploader/uploader.qrc @@ -12,5 +12,6 @@ images/application-certificate.svg images/warning.svg images/error.svg + images/deviceID-0402.svg