From c87e44f66f50b31ea17d188044358b2bd0aa0f18 Mon Sep 17 00:00:00 2001 From: dogmaphobic Date: Sat, 16 Jan 2016 10:28:20 -0500 Subject: [PATCH] Show ESP8266 Firmware Version in Summary Panel --- .../Common/ESP8266ComponentController.cc | 18 ++++++++++++++++++ .../Common/ESP8266ComponentController.h | 4 ++++ .../Common/ESP8266ComponentSummary.qml | 12 ++++-------- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/AutoPilotPlugins/Common/ESP8266ComponentController.cc b/src/AutoPilotPlugins/Common/ESP8266ComponentController.cc index 548f9a927..576fcc8f2 100644 --- a/src/AutoPilotPlugins/Common/ESP8266ComponentController.cc +++ b/src/AutoPilotPlugins/Common/ESP8266ComponentController.cc @@ -56,6 +56,8 @@ ESP8266ComponentController::ESP8266ComponentController() connect(paswd, &Fact::valueChanged, this, &ESP8266ComponentController::_passwordChanged); Fact* baud = getParameterFact(MAV_COMP_ID_UDP_BRIDGE, "UART_BAUDRATE"); connect(baud, &Fact::valueChanged, this, &ESP8266ComponentController::_baudChanged); + Fact* ver = getParameterFact(MAV_COMP_ID_UDP_BRIDGE, "SW_VER"); + connect(ver, &Fact::valueChanged, this, &ESP8266ComponentController::_versionChanged); } //----------------------------------------------------------------------------- @@ -64,6 +66,15 @@ ESP8266ComponentController::~ESP8266ComponentController() } +//----------------------------------------------------------------------------- +QString +ESP8266ComponentController::version() +{ + uint32_t uv = getParameterFact(MAV_COMP_ID_UDP_BRIDGE, "SW_VER")->rawValue().toUInt(); + QString versionString = QString("%1.%2.%3").arg(uv >> 24).arg((uv >> 16) & 0xFF).arg(uv & 0xFFFF); + return versionString; +} + //----------------------------------------------------------------------------- QString ESP8266ComponentController::wifiSSID() @@ -316,3 +327,10 @@ ESP8266ComponentController::_baudChanged(QVariant) { emit baudIndexChanged(); } + +//----------------------------------------------------------------------------- +void +ESP8266ComponentController::_versionChanged(QVariant) +{ + emit versionChanged(); +} diff --git a/src/AutoPilotPlugins/Common/ESP8266ComponentController.h b/src/AutoPilotPlugins/Common/ESP8266ComponentController.h index ab5515c1f..5a5f5ab21 100644 --- a/src/AutoPilotPlugins/Common/ESP8266ComponentController.h +++ b/src/AutoPilotPlugins/Common/ESP8266ComponentController.h @@ -51,6 +51,7 @@ public: ~ESP8266ComponentController (); Q_PROPERTY(int componentID READ componentID CONSTANT) + Q_PROPERTY(QString version READ version NOTIFY versionChanged) Q_PROPERTY(QString wifiSSID READ wifiSSID WRITE setWifiSSID NOTIFY wifiSSIDChanged) Q_PROPERTY(QString wifiPassword READ wifiPassword WRITE setWifiPassword NOTIFY wifiPasswordChanged) Q_PROPERTY(QStringList wifiChannels READ wifiChannels CONSTANT) @@ -62,6 +63,7 @@ public: Q_INVOKABLE void reboot(); int componentID () { return MAV_COMP_ID_UDP_BRIDGE; } + QString version (); QString wifiSSID (); QString wifiPassword (); QStringList wifiChannels () { return _channels; } @@ -74,6 +76,7 @@ public: void setBaudIndex (int idx); signals: + void versionChanged (); void wifiSSIDChanged (); void wifiPasswordChanged (); void baudIndexChanged (); @@ -85,6 +88,7 @@ private slots: void _ssidChanged (QVariant value); void _passwordChanged (QVariant value); void _baudChanged (QVariant value); + void _versionChanged (QVariant value); private: void _reboot (); diff --git a/src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml b/src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml index 50b379252..1cd4465cf 100644 --- a/src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml +++ b/src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml @@ -28,6 +28,10 @@ FactPanel { Column { anchors.fill: parent anchors.margins: 8 + VehicleSummaryRow { + labelText: "Firmware Version:" + valueText: esp8266.version + } VehicleSummaryRow { labelText: "WiFi Channel:" valueText: wifiChannel.valueString @@ -40,14 +44,6 @@ FactPanel { labelText: "WiFi Password:" valueText: esp8266.wifiPassword } - VehicleSummaryRow { - labelText: "QGC UDP Port:" - valueText: wifiHostPort.valueString - } - VehicleSummaryRow { - labelText: "UAV UDP Port:" - valueText: wifiClientPort.valueString - } VehicleSummaryRow { labelText: "UART Baud Rate:" valueText: uartBaud.valueString -- 2.22.0