From d4f5cb86fe90aae25579cd168112a7442f48ff1e Mon Sep 17 00:00:00 2001 From: lm Date: Fri, 11 Feb 2011 21:46:18 +0100 Subject: [PATCH] Fixed stupid logging bug --- qgroundcontrol.pro | 9 ++-- src/uas/UAS.cc | 10 ++-- src/ui/QGCSettingsWidget.cc | 14 +++++ src/ui/QGCSettingsWidget.h | 22 ++++++++ src/ui/QGCSettingsWidget.ui | 81 +++++++++++++++++++++++++++++ src/ui/linechart/LinechartWidget.cc | 2 +- 6 files changed, 130 insertions(+), 8 deletions(-) create mode 100644 src/ui/QGCSettingsWidget.cc create mode 100644 src/ui/QGCSettingsWidget.h create mode 100644 src/ui/QGCSettingsWidget.ui diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 6aee404a3..bbcfd5fd4 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -157,7 +157,8 @@ FORMS += src/ui/MainWindow.ui \ src/ui/QGCMAVLinkLogPlayer.ui \ src/ui/QGCWaypointListMulti.ui \ src/ui/mission/QGCCustomWaypointAction.ui \ - src/ui/QGCUDPLinkConfiguration.ui + src/ui/QGCUDPLinkConfiguration.ui \ + src/ui/QGCSettingsWidget.ui INCLUDEPATH += src \ src/ui \ @@ -268,7 +269,8 @@ HEADERS += src/MG.h \ src/comm/MAVLinkSimulationMAV.h \ src/uas/QGCMAVLinkUASFactory.h \ src/ui/QGCWaypointListMulti.h \ - src/ui/QGCUDPLinkConfiguration.h + src/ui/QGCUDPLinkConfiguration.h \ + src/ui/QGCSettingsWidget.h # Google Earth is only supported on Mac OS and Windows with Visual Studio Compiler macx|win32-msvc2008: { @@ -394,7 +396,8 @@ SOURCES += src/main.cc \ src/comm/MAVLinkSimulationMAV.cc \ src/uas/QGCMAVLinkUASFactory.cc \ src/ui/QGCWaypointListMulti.cc \ - src/ui/QGCUDPLinkConfiguration.cc + src/ui/QGCUDPLinkConfiguration.cc \ + src/ui/QGCSettingsWidget.cc macx|win32-msvc2008: { SOURCES += src/ui/map3D/QGCGoogleEarthView.cc diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc index 0ffca054c..aaf5e4778 100644 --- a/src/uas/UAS.cc +++ b/src/uas/UAS.cc @@ -164,13 +164,15 @@ void UAS::receiveMessageNamedValue(const mavlink_message_t& message) { mavlink_named_value_float_t val; mavlink_msg_named_value_float_decode(&message, &val); - emit valueChanged(this->getUASID(), QString((char *)val.name), tr("raw"), val.value, getUnixTime()); + QByteArray bytes(val.name, MAVLINK_MSG_NAMED_VALUE_FLOAT_FIELD_NAME_LEN); + emit valueChanged(this->getUASID(), QString(bytes), tr("raw"), val.value, getUnixTime()); } else if (message.msgid == MAVLINK_MSG_ID_NAMED_VALUE_INT) { mavlink_named_value_int_t val; mavlink_msg_named_value_int_decode(&message, &val); - emit valueChanged(this->getUASID(), QString((char *)val.name), tr("raw"), val.value, getUnixTime()); + QByteArray bytes(val.name, MAVLINK_MSG_NAMED_VALUE_INT_FIELD_NAME_LEN); + emit valueChanged(this->getUASID(), QString(bytes), tr("raw"), val.value, getUnixTime()); } } @@ -590,7 +592,7 @@ void UAS::receiveMessage(LinkInterface* link, mavlink_message_t message) // SANITY CHECK // only accept values in a realistic range // quint64 time = getUnixTime(pos.usec); - quint64 time = MG::TIME::getGroundTimeNow(); + quint64 time = getUnixTime(); emit valueChanged(uasId, "latitude", "deg", pos.lat, time); emit valueChanged(uasId, "longitude", "deg", pos.lon, time); @@ -828,7 +830,7 @@ void UAS::receiveMessage(LinkInterface* link, mavlink_message_t message) case MAVLINK_MSG_ID_STATUSTEXT: { QByteArray b; - b.resize(256); + b.resize(MAVLINK_MSG_STATUSTEXT_FIELD_TEXT_LEN); mavlink_msg_statustext_get_text(&message, (int8_t*)b.data()); //b.append('\0'); QString text = QString(b); diff --git a/src/ui/QGCSettingsWidget.cc b/src/ui/QGCSettingsWidget.cc new file mode 100644 index 000000000..523753c1a --- /dev/null +++ b/src/ui/QGCSettingsWidget.cc @@ -0,0 +1,14 @@ +#include "QGCSettingsWidget.h" +#include "ui_QGCSettingsWidget.h" + +QGCSettingsWidget::QGCSettingsWidget(QWidget *parent) : + QDialog(parent), + ui(new Ui::QGCSettingsWidget) +{ + ui->setupUi(this); +} + +QGCSettingsWidget::~QGCSettingsWidget() +{ + delete ui; +} diff --git a/src/ui/QGCSettingsWidget.h b/src/ui/QGCSettingsWidget.h new file mode 100644 index 000000000..13666d385 --- /dev/null +++ b/src/ui/QGCSettingsWidget.h @@ -0,0 +1,22 @@ +#ifndef QGCSETTINGSWIDGET_H +#define QGCSETTINGSWIDGET_H + +#include + +namespace Ui { + class QGCSettingsWidget; +} + +class QGCSettingsWidget : public QDialog +{ + Q_OBJECT + +public: + explicit QGCSettingsWidget(QWidget *parent = 0); + ~QGCSettingsWidget(); + +private: + Ui::QGCSettingsWidget *ui; +}; + +#endif // QGCSETTINGSWIDGET_H diff --git a/src/ui/QGCSettingsWidget.ui b/src/ui/QGCSettingsWidget.ui new file mode 100644 index 000000000..776944dd0 --- /dev/null +++ b/src/ui/QGCSettingsWidget.ui @@ -0,0 +1,81 @@ + + + QGCSettingsWidget + + + + 0 + 0 + 467 + 294 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 30 + 20 + 401 + 16 + + + + QGroundControl Settings - Work in Progress, no Settings yet + + + + + + + buttonBox + accepted() + QGCSettingsWidget + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + QGCSettingsWidget + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/ui/linechart/LinechartWidget.cc b/src/ui/linechart/LinechartWidget.cc index 90f2ea04c..323576129 100644 --- a/src/ui/linechart/LinechartWidget.cc +++ b/src/ui/linechart/LinechartWidget.cc @@ -365,7 +365,7 @@ void LinechartWidget::appendData(int uasId, const QString& curve, const QString& // Log data if (logging) { - if (activePlot->isVisible(curve)) + if (activePlot->isVisible(curve+unit)) { if (logStartTime == 0) logStartTime = usec; qint64 time = usec - logStartTime; -- 2.22.0