From a994cdc184c44233512e70817e7a3b49b619998f Mon Sep 17 00:00:00 2001 From: pixhawk Date: Tue, 25 May 2010 19:00:25 +0200 Subject: [PATCH] Added complete Watchdog comm methods, testing code --- qgroundcontrol.pro | 3 ++- src/ui/MainWindow.cc | 1 + src/ui/MainWindow.h | 2 ++ src/ui/watchdog/WatchdogControl.cc | 8 ++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 9e633857b..edc1afd7a 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -62,7 +62,8 @@ INCLUDEPATH += src \ src/input \ src/lib/qmapcontrol \ src/ui/mavlink \ - src/ui/param + src/ui/param \ + src/ui/watchdog HEADERS += src/MG.h \ src/Core.h \ src/uas/UASInterface.h \ diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index e07e037b6..5caa3ef4b 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -98,6 +98,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), centerStack->addWidget(protocol); parameters = new ParameterInterface(this); parameters->setVisible(false); + watchdogControl = new WatchdogControl(this); QStringList* acceptList = new QStringList(); acceptList->append("roll IMU"); diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index dc8873f36..2a0d62f02 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -60,6 +60,7 @@ This file is part of the PIXHAWK project #include "ParameterInterface.h" #include "XMLCommProtocolWidget.h" #include "HDDisplay.h" +#include "WatchdogControl.h" #include "LogCompressor.h" @@ -146,6 +147,7 @@ protected: XMLCommProtocolWidget* protocol; HDDisplay* headDown1; HDDisplay* headDown2; + WatchdogControl* watchdogControl; // Popup widgets JoystickWidget* joystickWidget; diff --git a/src/ui/watchdog/WatchdogControl.cc b/src/ui/watchdog/WatchdogControl.cc index a53f956bc..208544877 100644 --- a/src/ui/watchdog/WatchdogControl.cc +++ b/src/ui/watchdog/WatchdogControl.cc @@ -2,6 +2,8 @@ #include "ui_WatchdogControl.h" #include "PxQuadMAV.h" +#include "UASManager.h" + #include WatchdogControl::WatchdogControl(QWidget *parent) : @@ -10,6 +12,7 @@ WatchdogControl::WatchdogControl(QWidget *parent) : ui(new Ui::WatchdogControl) { ui->setupUi(this); + connect(UASManager::instance(), SIGNAL(UASCreated(UASInterface*)), this, SLOT(setUAS(UASInterface*))); } WatchdogControl::~WatchdogControl() @@ -24,6 +27,8 @@ void WatchdogControl::setUAS(UASInterface* uas) if (qmav) { connect(qmav, SIGNAL(processReceived(int,int,int,QString,QString,int)), this, SLOT(addProcess(int,int,int,QString,QString,int))); + connect(qmav, SIGNAL(watchdogReceived(int,int,int)), this, SLOT(updateWatchdog(int,int,uint))); + connect(qmav, SIGNAL(processChanged(int,int,int,int,bool,int,int)), this, SLOT(updateProcess(int,int,int,int,bool,int,int))); } } @@ -38,6 +43,7 @@ void WatchdogControl::updateWatchdog(int systemId, int watchdogId, unsigned int // start the timeout timer //watchdog.timeoutTimer_.reset(); + qDebug() << "WATCHDOG RECEIVED"; //qDebug() << "<-- received mavlink_watchdog_heartbeat_t " << msg->sysid << " / " << payload.watchdog_id << " / " << payload.process_count << std::endl; } @@ -51,6 +57,7 @@ void WatchdogControl::addProcess(int systemId, int watchdogId, int processId, QS process.name_ = name.toStdString(); process.arguments_ = arguments.toStdString(); process.timeout_ = timeout; + qDebug() << "PROCESS RECEIVED"; //qDebug() << "<-- received mavlink_watchdog_process_info_t " << msg->sysid << " / " << (const char*)payload.name << " / " << (const char*)payload.arguments << " / " << payload.timeout << std::endl; } @@ -67,6 +74,7 @@ void WatchdogControl::updateProcess(int systemId, int watchdogId, int processId, process.crashes_ = crashes; process.pid_ = pid; + qDebug() << "PROCESS UPDATED"; //process.updateTimer_.reset(); //qDebug() << "<-- received mavlink_watchdog_process_status_t " << msg->sysid << " / " << payload.state << " / " << payload.muted << " / " << payload.crashes << " / " << payload.pid << std::endl; } -- 2.22.0