diff --git a/ground/openpilotgcs/src/plugins/config/configpipxtremewidget.cpp b/ground/openpilotgcs/src/plugins/config/configpipxtremewidget.cpp
index 0bcce9726..19ad9cd0f 100644
--- a/ground/openpilotgcs/src/plugins/config/configpipxtremewidget.cpp
+++ b/ground/openpilotgcs/src/plugins/config/configpipxtremewidget.cpp
@@ -76,14 +76,6 @@ void ConfigPipXtremeWidget::saveSettings()
*/
void ConfigPipXtremeWidget::updateStatus(UAVObject *object) {
- // Update the DeviceID field
- UAVObjectField* idField = object->getField("DeviceID");
- if (idField) {
- m_pipx->DeviceID->setText(QString::number(idField->getValue().toUInt(), 16).toUpper());
- } else {
- qDebug() << "PipXtremeGadgetWidget: Count not read DeviceID field.";
- }
-
// Update the detected devices.
UAVObjectField* pairIdField = object->getField("PairIDs");
if (pairIdField) {
@@ -104,6 +96,42 @@ void ConfigPipXtremeWidget::updateStatus(UAVObject *object) {
qDebug() << "PipXtremeGadgetWidget: Count not read PairID field.";
}
+ // Update the Description field
+ UAVObjectField* descField = object->getField("Description");
+ if (descField) {
+ char buf[PipXStatus::DESCRIPTION_NUMELEM];
+ for (unsigned int i = 0; i < PipXStatus::DESCRIPTION_NUMELEM; ++i)
+ buf[i] = descField->getValue(i).toChar().toAscii();
+ m_pipx->FirmwareVersion->setText(buf);
+ } else {
+ qDebug() << "PipXtremeGadgetWidget: Count not read Description field.";
+ }
+
+ // Update the serial number field
+ UAVObjectField* serialField = object->getField("CPUSerial");
+ if (serialField) {
+ char buf[PipXStatus::CPUSERIAL_NUMELEM * 2 + 1];
+ for (unsigned int i = 0; i < PipXStatus::CPUSERIAL_NUMELEM; ++i)
+ {
+ unsigned char val = serialField->getValue(i).toUInt() >> 4;
+ buf[i * 2] = ((val < 10) ? '0' : '7') + val;
+ val = serialField->getValue(i).toUInt() & 0xf;
+ buf[i * 2 + 1] = ((val < 10) ? '0' : '7') + val;
+ }
+ buf[PipXStatus::CPUSERIAL_NUMELEM * 2] = '\0';
+ m_pipx->SerialNumber->setText(buf);
+ } else {
+ qDebug() << "PipXtremeGadgetWidget: Count not read Description field.";
+ }
+
+ // Update the DeviceID field
+ UAVObjectField* idField = object->getField("DeviceID");
+ if (idField) {
+ m_pipx->DeviceID->setText(QString::number(idField->getValue().toUInt(), 16).toUpper());
+ } else {
+ qDebug() << "PipXtremeGadgetWidget: Count not read DeviceID field.";
+ }
+
// Update the link state
UAVObjectField* linkField = object->getField("LinkState");
if (linkField) {
@@ -124,6 +152,30 @@ void ConfigPipXtremeWidget::updateStatus(UAVObject *object) {
} else {
qDebug() << "PipXtremeGadgetWidget: Count not read link state field.";
}
+
+ // Update the Retries field
+ UAVObjectField* retriesField = object->getField("Retries");
+ if (retriesField) {
+ m_pipx->Retries->setText(QString::number(retriesField->getValue().toUInt()));
+ } else {
+ qDebug() << "PipXtremeGadgetWidget: Count not read Retries field.";
+ }
+
+ // Update the Errors field
+ UAVObjectField* errorsField = object->getField("Errors");
+ if (errorsField) {
+ m_pipx->Errors->setText(QString::number(errorsField->getValue().toUInt()));
+ } else {
+ qDebug() << "PipXtremeGadgetWidget: Count not read Errors field.";
+ }
+
+ // Update the Resets field
+ UAVObjectField* resetsField = object->getField("Resets");
+ if (resetsField) {
+ m_pipx->Retries->setText(QString::number(resetsField->getValue().toUInt()));
+ } else {
+ qDebug() << "PipXtremeGadgetWidget: Count not read Resets field.";
+ }
}
diff --git a/ground/openpilotgcs/src/plugins/config/pipxtreme.ui b/ground/openpilotgcs/src/plugins/config/pipxtreme.ui
index 0ba4c5a3e..0efb01340 100644
--- a/ground/openpilotgcs/src/plugins/config/pipxtreme.ui
+++ b/ground/openpilotgcs/src/plugins/config/pipxtreme.ui
@@ -69,7 +69,7 @@
true
- %p dBm
+ %v dBm
@@ -98,7 +98,7 @@
true
- %p dBm
+ %v dBm
@@ -127,7 +127,7 @@
true
- %p dBm
+ %v dBm
@@ -156,7 +156,7 @@
true
- %p dBm
+ %v dBm