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