Corretto calcolo del tempo heartbeat
This commit is contained in:
@@ -31,13 +31,13 @@ void mqtt_callback::message_arrived(mqtt::const_message_ptr msg) {
|
||||
intMsg[mem_->comSettings.TS]);
|
||||
if (!intMsg[mem_->comSettings.NODE].compare(mem_->comSettings.nodeNames["relay"])){
|
||||
mem_->commonStatus.relayRunning = true;
|
||||
mem_->commonStatus.relayLast = std::stod(intMsg[mem_->comSettings.TS]);
|
||||
mem_->commonStatus.relayLast = fabs(mem_->commonStatus.relayLast - std::stod(intMsg[mem_->comSettings.TS]));
|
||||
} else if (!intMsg[mem_->comSettings.NODE].compare(mem_->comSettings.nodeNames["follower"])) {
|
||||
mem_->commonStatus.followerRunning = true;
|
||||
mem_->commonStatus.followerLast = std::stod(intMsg[mem_->comSettings.TS]);
|
||||
mem_->commonStatus.followerLast = fabs(mem_->commonStatus.followerLast - std::stod(intMsg[mem_->comSettings.TS]));
|
||||
} else if (!intMsg[mem_->comSettings.NODE].compare(mem_->comSettings.nodeNames["recorder"])) {
|
||||
mem_->commonStatus.recorderRunning = true;
|
||||
mem_->commonStatus.recorderLast = std::stod(intMsg[mem_->comSettings.TS]);
|
||||
mem_->commonStatus.recorderLast = fabs(mem_->commonStatus.recorderLast - std::stod(intMsg[mem_->comSettings.TS]));
|
||||
} else {
|
||||
log_->error("Node {} unknown", intMsg[mem_->comSettings.NODE].c_str());
|
||||
}
|
||||
|
||||
@@ -4,6 +4,18 @@ RoboGlue_SHARED::RoboGlue_SHARED(QSettings *set){
|
||||
settings=set;
|
||||
//FIXME: inserire la lettura di quesste informazioni da un file
|
||||
robotVariables.insert(std::pair<std::string, int>("RDY",1));
|
||||
statusTimer = new QTimer(this);
|
||||
connect(statusTimer, SIGNAL(timeout()), this, SLOT(on_statusTimer()));
|
||||
statusTimer->start(static_cast<int>(comSettings.deadTime*1000));
|
||||
}
|
||||
|
||||
RoboGlue_SHARED::~RoboGlue_SHARED(){
|
||||
statusTimer->stop();
|
||||
delete statusTimer;
|
||||
}
|
||||
|
||||
void RoboGlue_SHARED::on_statusTimer(void){
|
||||
emit this->commonStatusChange();
|
||||
}
|
||||
////////////////////////////////////////////////////////////////
|
||||
/////////////////////// RESTORE FUNCTIONS /////////////////////
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <QSettings>
|
||||
#include <QPoint>
|
||||
#include <QSize>
|
||||
#include <QTimer>
|
||||
#include <stdexcept>
|
||||
#include <libJson/json.hpp>
|
||||
#include <libURcom/URCLinterface.h>
|
||||
@@ -40,7 +41,9 @@ class RoboGlue_SHARED : public QObject{
|
||||
|
||||
public:
|
||||
RoboGlue_SHARED(QSettings *set);
|
||||
virtual ~RoboGlue_SHARED();
|
||||
QMutex mutex;
|
||||
QTimer* statusTimer;
|
||||
|
||||
//////////// COMMON MODULES STATUS ///////////////
|
||||
struct {
|
||||
@@ -130,6 +133,9 @@ public:
|
||||
|
||||
signals:
|
||||
void commonStatusChange(void);
|
||||
|
||||
private slots:
|
||||
void on_statusTimer(void);
|
||||
};
|
||||
|
||||
#endif // ROBOGLUE_SHARED_H
|
||||
|
||||
Reference in New Issue
Block a user