Watchdog avec date/time et reporting fonctionnel.
This commit is contained in:
parent
1f3a7dd270
commit
ff6ae02ed5
Binary file not shown.
@ -9594,3 +9594,122 @@ Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:27:35
|
|||||||
2024-03-05 16:27:35 Démarrage du Watchdog CAN...
|
2024-03-05 16:27:35 Démarrage du Watchdog CAN...
|
||||||
2024-03-05 16:27:35 Watchdog CAN initialisé pour le module sur le channel 1
|
2024-03-05 16:27:35 Watchdog CAN initialisé pour le module sur le channel 1
|
||||||
2024-03-05 16:27:35 Dispositif [MasterCAN] initialisé avec succès!
|
2024-03-05 16:27:35 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:18:08
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:18:08 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:18:08 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:18:08 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:18:08 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:18:08 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:18:08 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:18:08 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:18:08 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:18:08 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:18:08 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:18:08 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:18:08 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:21:09
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:21:09 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:21:09 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:21:09 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:21:09 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:21:09 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:21:09 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:21:09 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:21:09 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:21:09 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:21:09 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:21:09 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:21:09 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:34:27
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:34:27 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:34:27 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:34:27 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:34:27 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:34:27 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:34:27 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:34:27 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:34:27 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:34:27 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:34:27 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:34:27 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:34:27 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:44:35
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:44:35 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:44:35 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:44:35 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:44:35 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:44:35 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:44:35 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:44:35 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:44:35 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:44:35 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:44:35 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:44:35 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:44:35 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:45:34
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:45:34 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:45:34 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:45:34 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:45:34 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:45:34 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:45:34 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:45:34 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:45:34 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:45:34 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:45:34 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:45:34 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:45:34 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:47:24
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:47:24 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:47:24 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:47:24 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:47:24 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:47:24 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:47:24 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:47:24 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:47:24 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:47:24 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:47:24 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:47:24 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:47:24 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|
||||||
|
|
||||||
|
********************************************************************
|
||||||
|
Démarrage du logiciel Otarcik CAN le 2024-03-09 à 11:53:09
|
||||||
|
********************************************************************
|
||||||
|
2024-03-09 11:53:09 Librairie Axiomtek chargée avec succès
|
||||||
|
2024-03-09 11:53:09 Watchdog CPU arrêté
|
||||||
|
2024-03-09 11:53:09 Chargement de la configuration système...
|
||||||
|
2024-03-09 11:53:09 Configuration système chargée avec succès!
|
||||||
|
2024-03-09 11:53:09 Initialisation du dispositif [MasterCAN]
|
||||||
|
2024-03-09 11:53:09 Démarrage d'un module CAN...
|
||||||
|
2024-03-09 11:53:09 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
|
||||||
|
2024-03-09 11:53:09 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
|
||||||
|
2024-03-09 11:53:09 Module PCAN USB initialisé avec succès
|
||||||
|
2024-03-09 11:53:09 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
|
||||||
|
2024-03-09 11:53:09 Base de données chargée avec succès. Flags: 0x0
|
||||||
|
2024-03-09 11:53:09 Dispositif [MasterCAN] initialisé avec succès!
|
||||||
|
|||||||
@ -123,8 +123,16 @@
|
|||||||
[START_SIGNALS] batt1_high_cell_t,8,1,0,I,127,-128,1,0.000000,1.000000,°C,
|
[START_SIGNALS] batt1_high_cell_t,8,1,0,I,127,-128,1,0.000000,1.000000,°C,
|
||||||
[END_MSG]
|
[END_MSG]
|
||||||
|
|
||||||
[START_MSG] PC_dateTime,768,8,1,1,S
|
[START_MSG] PC_dateTime,768,8,9,1,S
|
||||||
[START_SIGNALS] internetSeemsDead,1,5,0,B,1,0,1,0.000000,1.000000,,
|
[START_SIGNALS] internetSeemsDead,1,5,0,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] MQTTSeemsDead,1,5,1,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] LANDevice1SeemsDead,1,5,2,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] LANDevice2SeemsDead,1,5,3,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] LANDevice3SeemsDead,1,5,4,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] LANDevice4SeemsDead,1,5,5,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] LANDevice5SeemsDead,1,5,6,B,1,0,1,0.000000,1.000000,,
|
||||||
|
[START_SIGNALS] PC_Time,16,3,0,U,65535,0,1,0.000000,0.000100,,
|
||||||
|
[START_SIGNALS] PC_Date,16,1,0,U,65535,0,1,0.000000,1.000000,d,
|
||||||
[END_MSG]
|
[END_MSG]
|
||||||
|
|
||||||
[START_MSG] WDT_state,512,8,0,1,S
|
[START_MSG] WDT_state,512,8,0,1,S
|
||||||
|
|||||||
@ -93,17 +93,6 @@ int CCANDevice::Init()
|
|||||||
return RET_GENERAL_ERROR;
|
return RET_GENERAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mDeviceConfigInfo.mDeviceWatchdogActivated == true)
|
|
||||||
{
|
|
||||||
if(mCANWatchdog.Init(mCANDriverIF,mDeviceHandle,mDeviceConfigInfo.mWatchdogPeriod,mDeviceConfigInfo.mWatchdogCANMsgID) != RET_OK)
|
|
||||||
{
|
|
||||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser un watchdog CAN","CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
|
||||||
}
|
|
||||||
mCANWatchdog.StartWDT();
|
|
||||||
|
|
||||||
QString Log = QString("Watchdog CAN initialisé pour le module sur le channel %1").arg(mDeviceConfigInfo.mCANDeviceID);
|
|
||||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,"CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
|
||||||
}
|
|
||||||
|
|
||||||
mIsCANInitialized = true;
|
mIsCANInitialized = true;
|
||||||
|
|
||||||
@ -120,6 +109,25 @@ int CCANDevice::Init()
|
|||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CCANDevice::StartWatchdog(CDeviceDetectionConfig *DeviceMonitorConfig)
|
||||||
|
{
|
||||||
|
if(mDeviceConfigInfo.mDeviceWatchdogActivated == true)
|
||||||
|
{
|
||||||
|
if(mCANWatchdog.Init(mCANDriverIF,mDeviceHandle,mDeviceConfigInfo.mWatchdogPeriod,DeviceMonitorConfig) != RET_OK)
|
||||||
|
{
|
||||||
|
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser un watchdog CAN","CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
mCANWatchdog.StartWDT();
|
||||||
|
|
||||||
|
QString Log = QString("Watchdog CAN initialisé pour le module sur le channel %1").arg(mDeviceConfigInfo.mCANDeviceID);
|
||||||
|
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,"CCANDevice",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int CCANDevice::Init(QString DatabaseFileName, TPCANHandle CANDeviceID, TPCANBaudrate CANDeviceBaudRate, QString DevDescription, QString DeviceName, unsigned int DevicePollPeriod)
|
int CCANDevice::Init(QString DatabaseFileName, TPCANHandle CANDeviceID, TPCANBaudrate CANDeviceBaudRate, QString DevDescription, QString DeviceName, unsigned int DevicePollPeriod)
|
||||||
{
|
{
|
||||||
mDeviceConfigInfo.mCANDeviceID = CANDeviceID;
|
mDeviceConfigInfo.mCANDeviceID = CANDeviceID;
|
||||||
|
|||||||
@ -13,10 +13,11 @@
|
|||||||
#include "CANDataLogger.h"
|
#include "CANDataLogger.h"
|
||||||
#include "MQTTMessage.h"
|
#include "MQTTMessage.h"
|
||||||
#include "CANWatchdog.h"
|
#include "CANWatchdog.h"
|
||||||
//#include "MQTTClientWrapper.h"
|
|
||||||
|
|
||||||
class CMQTTClientWrapper;
|
class CMQTTClientWrapper;
|
||||||
class COtarcikCan;
|
class COtarcikCan;
|
||||||
|
class CDeviceDetectionConfig;
|
||||||
|
|
||||||
class CCANDevice : public QObject
|
class CCANDevice : public QObject
|
||||||
{
|
{
|
||||||
@ -28,6 +29,7 @@ public:
|
|||||||
|
|
||||||
int Init(QString DatabaseFileName, TPCANHandle CANDeviceID, TPCANBaudrate CANDeviceBaudRate, QString DevDescription, QString DeviceName, unsigned int DevicePollPeriod);
|
int Init(QString DatabaseFileName, TPCANHandle CANDeviceID, TPCANBaudrate CANDeviceBaudRate, QString DevDescription, QString DeviceName, unsigned int DevicePollPeriod);
|
||||||
int Init();
|
int Init();
|
||||||
|
int StartWatchdog(CDeviceDetectionConfig *DeviceMonitorConfig);
|
||||||
QList<CCANMessage*> *GetCANMessagesList(){return &mMessageList;}
|
QList<CCANMessage*> *GetCANMessagesList(){return &mMessageList;}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -23,6 +23,7 @@ public:
|
|||||||
unsigned int mWatchdogPeriod;
|
unsigned int mWatchdogPeriod;
|
||||||
|
|
||||||
CCANDeviceConfig &operator=(const CCANDeviceConfig &source);
|
CCANDeviceConfig &operator=(const CCANDeviceConfig &source);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
QDataStream &operator<<(QDataStream &out, const CCANDeviceConfig &source);
|
QDataStream &operator<<(QDataStream &out, const CCANDeviceConfig &source);
|
||||||
|
|||||||
@ -4,21 +4,29 @@
|
|||||||
#include <QDate>
|
#include <QDate>
|
||||||
#include <QTime>
|
#include <QTime>
|
||||||
#include <QFloat16>
|
#include <QFloat16>
|
||||||
|
#include "MQTTClientWrapper.h"
|
||||||
|
#include "InternetMonitor.h"
|
||||||
|
#include "LANDevicesPresenceMonitor.h"
|
||||||
|
#include "DeviceDetectionConfig.h"
|
||||||
|
|
||||||
CCANWatchdog::CCANWatchdog()
|
CCANWatchdog::CCANWatchdog()
|
||||||
{
|
{
|
||||||
mCANDriverIF = new CPCANInterface;
|
//mCANDriverIF = new CPCANInterface;
|
||||||
mIsCANInitialized = false;
|
mIsCANInitialized = false;
|
||||||
|
|
||||||
mWatchdogTimer = new QTimer;
|
mWatchdogTimer = new QTimer;
|
||||||
mWatchdogTimer->setSingleShot(false);
|
mWatchdogTimer->setSingleShot(false);
|
||||||
mCANDriverIF = 0;
|
mCANDriverIF = 0;
|
||||||
mWDTInitialized = false;
|
mWDTInitialized = false;
|
||||||
|
// mMQTTPresenceMonitor = 0;
|
||||||
|
// mLANDevicesMonitor = 0;
|
||||||
|
// mInternetMonitor = 0;
|
||||||
|
mDevicesMonitorConfig = 0;
|
||||||
|
|
||||||
connect(mWatchdogTimer,&QTimer::timeout,this,&CCANWatchdog::WatchdogTimeoutTimerExpired);
|
connect(mWatchdogTimer,&QTimer::timeout,this,&CCANWatchdog::WatchdogTimeoutTimerExpired);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CCANWatchdog::Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle, unsigned int WDTPeriod, unsigned int CANMsgID)
|
int CCANWatchdog::Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle, unsigned int WDTPeriod, CDeviceDetectionConfig *DevicesMonitorConfig)
|
||||||
{
|
{
|
||||||
if(WDTPeriod < 200)
|
if(WDTPeriod < 200)
|
||||||
{
|
{
|
||||||
@ -27,6 +35,7 @@ int CCANWatchdog::Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle,
|
|||||||
return RET_GENERAL_ERROR;
|
return RET_GENERAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mDevicesMonitorConfig = DevicesMonitorConfig;
|
||||||
mCANDeviceHandle = CANDeviceHandle;
|
mCANDeviceHandle = CANDeviceHandle;
|
||||||
mWDTPeriod = WDTPeriod;
|
mWDTPeriod = WDTPeriod;
|
||||||
mCANDriverIF = CANDriverIF;
|
mCANDriverIF = CANDriverIF;
|
||||||
@ -35,7 +44,7 @@ int CCANWatchdog::Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle,
|
|||||||
mWatchdogTimer->setInterval(mWDTPeriod);
|
mWatchdogTimer->setInterval(mWDTPeriod);
|
||||||
mWatchdogTimer->setSingleShot(false);
|
mWatchdogTimer->setSingleShot(false);
|
||||||
|
|
||||||
mWDTCANMsg.mCANMsgID = CANMsgID;
|
mWDTCANMsg.mCANMsgID = DevicesMonitorConfig->mReportingCANMsgID;
|
||||||
mWDTCANMsg.mCANMsgLength = 8;
|
mWDTCANMsg.mCANMsgLength = 8;
|
||||||
mWDTCANMsg.mCANMsgData.clear();
|
mWDTCANMsg.mCANMsgData.clear();
|
||||||
mWDTCANMsg.mCANMsgData.append(8,(char)0x00);
|
mWDTCANMsg.mCANMsgData.append(8,(char)0x00);
|
||||||
@ -65,7 +74,30 @@ void CCANWatchdog::WatchdogTimeoutTimerExpired()
|
|||||||
// BigData |= 0x100000000;
|
// BigData |= 0x100000000;
|
||||||
|
|
||||||
BigData = GetCANDateTimeBuffer();
|
BigData = GetCANDateTimeBuffer();
|
||||||
|
if(mDevicesMonitorConfig != 0)
|
||||||
|
{
|
||||||
|
if(mDevicesMonitorConfig->mInternetMonitor != 0)
|
||||||
|
{
|
||||||
|
BigData |= mDevicesMonitorConfig->mInternetMonitor->GetCANInternetStatusMask();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(mDevicesMonitorConfig != 0)
|
||||||
|
{
|
||||||
|
if(mDevicesMonitorConfig->mMQTTPresenceMonitor != 0)
|
||||||
|
{
|
||||||
|
BigData |= mDevicesMonitorConfig->mMQTTPresenceMonitor->GetMQTTServerPresenceCANMask();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(mDevicesMonitorConfig != 0)
|
||||||
|
{
|
||||||
|
if(mDevicesMonitorConfig->mLANDevicesMonitor != 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
BigData |= mDevicesMonitorConfig->mLANDevicesMonitor->GetDevicesPresenceCANMask();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mWDTCANMsg.mCANMsgID = mDevicesMonitorConfig->mReportingCANMsgID;
|
||||||
mWDTCANMsg.SetRawData(BigData,CCANSignal::CAN_SIGNAL_ENCODING_INTEL);
|
mWDTCANMsg.SetRawData(BigData,CCANSignal::CAN_SIGNAL_ENCODING_INTEL);
|
||||||
mCANDriverIF->SendCANMessage(mCANDeviceHandle,mWDTCANMsg);
|
mCANDriverIF->SendCANMessage(mCANDeviceHandle,mWDTCANMsg);
|
||||||
|
|
||||||
@ -93,6 +125,11 @@ quint64 CCANWatchdog::GetCANDateTimeBuffer()
|
|||||||
return OutputBuffer;
|
return OutputBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CCANWatchdog::SetDevicesDetectionConfig(CDeviceDetectionConfig *DeviceMonitoringConfig)
|
||||||
|
{
|
||||||
|
mDevicesMonitorConfig = DeviceMonitoringConfig;
|
||||||
|
}
|
||||||
|
|
||||||
int CCANWatchdog::StartWDT()
|
int CCANWatchdog::StartWDT()
|
||||||
{
|
{
|
||||||
if(mWDTInitialized == false)
|
if(mWDTInitialized == false)
|
||||||
|
|||||||
@ -11,6 +11,11 @@
|
|||||||
//Parker controller. This controller uses this update as a watchdog signal, but the register contains
|
//Parker controller. This controller uses this update as a watchdog signal, but the register contains
|
||||||
//some useful data for the Parker controller as well.
|
//some useful data for the Parker controller as well.
|
||||||
|
|
||||||
|
class CMQTTClientWrapper;
|
||||||
|
class CLANDevicesPresenceMonitor;
|
||||||
|
class CInternetMonitor;
|
||||||
|
class CDeviceDetectionConfig;
|
||||||
|
|
||||||
class CCANWatchdog: public QObject
|
class CCANWatchdog: public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -18,11 +23,12 @@ class CCANWatchdog: public QObject
|
|||||||
public:
|
public:
|
||||||
CCANWatchdog();
|
CCANWatchdog();
|
||||||
|
|
||||||
int Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle, unsigned int WDTPeriod,unsigned int CANMsgID);
|
int Init(CPCANInterface *CANDriverIF, TPCANHandle CANDeviceHandle, unsigned int WDTPeriod, CDeviceDetectionConfig *DevicesMonitorConfig);
|
||||||
int StartWDT();
|
int StartWDT();
|
||||||
int StopWDT();
|
int StopWDT();
|
||||||
bool IsInitialized(){return mWDTInitialized;}
|
bool IsInitialized(){return mWDTInitialized;}
|
||||||
quint64 GetCANDateTimeBuffer();
|
quint64 GetCANDateTimeBuffer();
|
||||||
|
int SetDevicesDetectionConfig(CDeviceDetectionConfig *DeviceMonitoringConfig);
|
||||||
|
|
||||||
CPCANInterface *mCANDriverIF;
|
CPCANInterface *mCANDriverIF;
|
||||||
unsigned int mWDTPeriod;
|
unsigned int mWDTPeriod;
|
||||||
@ -30,10 +36,17 @@ public:
|
|||||||
bool mWDTInitialized;
|
bool mWDTInitialized;
|
||||||
CCANMessage mWDTCANMsg;
|
CCANMessage mWDTCANMsg;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool mIsCANInitialized;
|
bool mIsCANInitialized;
|
||||||
TPCANHandle mCANDeviceHandle;
|
TPCANHandle mCANDeviceHandle;
|
||||||
|
|
||||||
|
// CMQTTClientWrapper *mMQTTPresenceMonitor;
|
||||||
|
// CLANDevicesPresenceMonitor *mLANDevicesMonitor;
|
||||||
|
// CInternetMonitor *mInternetMonitor;
|
||||||
|
CDeviceDetectionConfig *mDevicesMonitorConfig;
|
||||||
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void WatchdogTimeoutTimerExpired();
|
void WatchdogTimeoutTimerExpired();
|
||||||
|
|||||||
@ -25,6 +25,7 @@ CMQTTClientWrapper::CMQTTClientWrapper()
|
|||||||
|
|
||||||
mProgramPtr = 0;
|
mProgramPtr = 0;
|
||||||
mCPUInterface = 0;
|
mCPUInterface = 0;
|
||||||
|
mMQTTPresenceCANBit = 0;
|
||||||
mMessagesQueueMode = MQTT_DROP_MSG_MODE;
|
mMessagesQueueMode = MQTT_DROP_MSG_MODE;
|
||||||
mDisconnectionIsVoluntary = false;
|
mDisconnectionIsVoluntary = false;
|
||||||
mIsClientConnecting = false;
|
mIsClientConnecting = false;
|
||||||
@ -51,6 +52,12 @@ int CMQTTClientWrapper::SetMQTTParams(CCloudParams *Params)
|
|||||||
int CMQTTClientWrapper::SetCPUInterface(CComputerBoardInterface *CPUIF)
|
int CMQTTClientWrapper::SetCPUInterface(CComputerBoardInterface *CPUIF)
|
||||||
{
|
{
|
||||||
mCPUInterface = CPUIF;
|
mCPUInterface = CPUIF;
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CMQTTClientWrapper::SetMQTTServerPresenceCANBit(quint64 CANBit)
|
||||||
|
{
|
||||||
|
mMQTTPresenceCANBit = CANBit;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CMQTTClientWrapper::StartMQTTClient()
|
int CMQTTClientWrapper::StartMQTTClient()
|
||||||
@ -120,6 +127,19 @@ int CMQTTClientWrapper::NewMQTTMessages(QList<CMQTTMessage> MessagesList)
|
|||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
quint64 CMQTTClientWrapper::GetMQTTServerPresenceCANMask()
|
||||||
|
{
|
||||||
|
if(mMQTTClient.state() == QMqttClient::Connected)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
quint64 Mask = 1;
|
||||||
|
Mask <<= mMQTTPresenceCANBit;
|
||||||
|
|
||||||
|
return Mask;
|
||||||
|
}
|
||||||
|
|
||||||
void CMQTTClientWrapper::StateChanged()
|
void CMQTTClientWrapper::StateChanged()
|
||||||
{
|
{
|
||||||
switch(mMQTTClient.state())
|
switch(mMQTTClient.state())
|
||||||
|
|||||||
@ -30,6 +30,7 @@ public:
|
|||||||
~CMQTTClientWrapper();
|
~CMQTTClientWrapper();
|
||||||
int SetMQTTParams(CCloudParams *Params);
|
int SetMQTTParams(CCloudParams *Params);
|
||||||
int SetCPUInterface(CComputerBoardInterface *CPUIF);
|
int SetCPUInterface(CComputerBoardInterface *CPUIF);
|
||||||
|
int SetMQTTServerPresenceCANBit(quint64 CANBit);
|
||||||
int ConnectToBroker();
|
int ConnectToBroker();
|
||||||
int NewMQTTMessages(QList<CMQTTMessage> MessagesList);
|
int NewMQTTMessages(QList<CMQTTMessage> MessagesList);
|
||||||
int DisconnectFromBroker();
|
int DisconnectFromBroker();
|
||||||
@ -37,6 +38,7 @@ public:
|
|||||||
int SetCANDevicesList(QList<CCANDevice*> *List);
|
int SetCANDevicesList(QList<CCANDevice*> *List);
|
||||||
int StartMQTTClient();
|
int StartMQTTClient();
|
||||||
int StopMQTTClient();
|
int StopMQTTClient();
|
||||||
|
quint64 GetMQTTServerPresenceCANMask();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -56,6 +58,7 @@ private:
|
|||||||
CComputerBoardInterface *mCPUInterface;
|
CComputerBoardInterface *mCPUInterface;
|
||||||
|
|
||||||
int SendNextQueueMessage();
|
int SendNextQueueMessage();
|
||||||
|
quint64 mMQTTPresenceCANBit;
|
||||||
|
|
||||||
|
|
||||||
int UpdateGUIBufferingStatus();
|
int UpdateGUIBufferingStatus();
|
||||||
|
|||||||
@ -10,6 +10,10 @@ CDeviceDetectionConfig::CDeviceDetectionConfig()
|
|||||||
mLANDeviceDetectConfigList.append(CLANDevicePresenceConfig());
|
mLANDeviceDetectConfigList.append(CLANDevicePresenceConfig());
|
||||||
}
|
}
|
||||||
mReportingCANMsgID = 300;
|
mReportingCANMsgID = 300;
|
||||||
|
|
||||||
|
mMQTTPresenceMonitor = 0;
|
||||||
|
mLANDevicesMonitor = 0;
|
||||||
|
mInternetMonitor = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<CLANDevicePresenceConfig> *CDeviceDetectionConfig::GetLANDevicesConfigList()
|
QList<CLANDevicePresenceConfig> *CDeviceDetectionConfig::GetLANDevicesConfigList()
|
||||||
@ -35,6 +39,16 @@ QDataStream &operator>>(QDataStream &in, CDeviceDetectionConfig &dest)
|
|||||||
|
|
||||||
return in;
|
return in;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CDeviceDetectionConfig::SetCANPresenceMonitors(CMQTTClientWrapper *MQTTPresenceMonitor, CLANDevicesPresenceMonitor *LANDevicesMonitor, CInternetMonitor *InternetMonitor)
|
||||||
|
{
|
||||||
|
mMQTTPresenceMonitor = MQTTPresenceMonitor;
|
||||||
|
mLANDevicesMonitor = LANDevicesMonitor;
|
||||||
|
mInternetMonitor = InternetMonitor;
|
||||||
|
return RET_OK;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
QDataStream &operator<<(QDataStream &out, const CDeviceDetectionConfig &source)
|
QDataStream &operator<<(QDataStream &out, const CDeviceDetectionConfig &source)
|
||||||
{
|
{
|
||||||
out << source.mInternetDetectionCANStatusBit
|
out << source.mInternetDetectionCANStatusBit
|
||||||
|
|||||||
@ -4,6 +4,11 @@
|
|||||||
#include "LANDevicePresenceConfig.h"
|
#include "LANDevicePresenceConfig.h"
|
||||||
#include <QDataStream>
|
#include <QDataStream>
|
||||||
|
|
||||||
|
|
||||||
|
class CMQTTClientWrapper;
|
||||||
|
class CLANDevicesPresenceMonitor;
|
||||||
|
class CInternetMonitor;
|
||||||
|
|
||||||
class CDeviceDetectionConfig
|
class CDeviceDetectionConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -16,8 +21,13 @@ public:
|
|||||||
quint64 mMQTTDetectionCANStatusBit;
|
quint64 mMQTTDetectionCANStatusBit;
|
||||||
QList<CLANDevicePresenceConfig> mLANDeviceDetectConfigList;
|
QList<CLANDevicePresenceConfig> mLANDeviceDetectConfigList;
|
||||||
|
|
||||||
|
CMQTTClientWrapper *mMQTTPresenceMonitor;
|
||||||
|
CLANDevicesPresenceMonitor *mLANDevicesMonitor;
|
||||||
|
CInternetMonitor *mInternetMonitor;
|
||||||
|
|
||||||
CDeviceDetectionConfig &operator=(const CDeviceDetectionConfig &source);
|
int SetCANPresenceMonitors(CMQTTClientWrapper* MQTTPresenceMonitor, CLANDevicesPresenceMonitor *LANDevicesMonitor, CInternetMonitor *InternetMonitor);
|
||||||
|
|
||||||
|
CDeviceDetectionConfig &operator=(const CDeviceDetectionConfig &source);
|
||||||
};
|
};
|
||||||
|
|
||||||
QDataStream &operator<<(QDataStream &out, const CDeviceDetectionConfig &source);
|
QDataStream &operator<<(QDataStream &out, const CDeviceDetectionConfig &source);
|
||||||
|
|||||||
@ -60,7 +60,7 @@
|
|||||||
<x>270</x>
|
<x>270</x>
|
||||||
<y>100</y>
|
<y>100</y>
|
||||||
<width>321</width>
|
<width>321</width>
|
||||||
<height>461</height>
|
<height>431</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -119,7 +119,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>210</x>
|
<x>210</x>
|
||||||
<y>420</y>
|
<y>390</y>
|
||||||
<width>80</width>
|
<width>80</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -216,7 +216,7 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>20</x>
|
<x>20</x>
|
||||||
<y>420</y>
|
<y>390</y>
|
||||||
<width>80</width>
|
<width>80</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -309,67 +309,6 @@
|
|||||||
<string>Période rafraîchissement (ms):</string>
|
<string>Période rafraîchissement (ms):</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QLabel" name="mWatchdogMsgIDLbl">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>10</x>
|
|
||||||
<y>380</y>
|
|
||||||
<width>111</width>
|
|
||||||
<height>16</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>CAN Msg ID (HEX):</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QLabel" name="mWatchdogMsgIDPrefixLbl">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>110</x>
|
|
||||||
<y>380</y>
|
|
||||||
<width>30</width>
|
|
||||||
<height>20</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>0x</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QSpinBox" name="mWatchdogMsgIDSpinBx">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>140</x>
|
|
||||||
<y>380</y>
|
|
||||||
<width>91</width>
|
|
||||||
<height>20</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>2048</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="displayIntegerBase">
|
|
||||||
<number>16</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QGroupBox" name="mDatabaseGroupBox">
|
<widget class="QGroupBox" name="mDatabaseGroupBox">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
@ -551,6 +490,67 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QLabel" name="mWatchdogMsgIDPrefixLbl">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>370</x>
|
||||||
|
<y>610</y>
|
||||||
|
<width>30</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0x</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QSpinBox" name="mWatchdogMsgIDSpinBx">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>400</x>
|
||||||
|
<y>610</y>
|
||||||
|
<width>91</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>2048</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="displayIntegerBase">
|
||||||
|
<number>16</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="mWatchdogMsgIDLbl">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>270</x>
|
||||||
|
<y>610</y>
|
||||||
|
<width>111</width>
|
||||||
|
<height>16</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>CAN Msg ID (HEX):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|||||||
@ -45,6 +45,13 @@ int CInternetMonitor::Start(quint64 CANReportingBit)
|
|||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CInternetMonitor::UpdateCANReportingBit(quint64 CANBit)
|
||||||
|
{
|
||||||
|
mCANReportingMask = 1;
|
||||||
|
mCANReportingMask <<= CANBit;
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
int CInternetMonitor::CheckInternet()
|
int CInternetMonitor::CheckInternet()
|
||||||
{
|
{
|
||||||
if(mConnectionTimer->isActive()) //are we waiting for a reply??
|
if(mConnectionTimer->isActive()) //are we waiting for a reply??
|
||||||
|
|||||||
@ -15,6 +15,7 @@ public:
|
|||||||
explicit CInternetMonitor(QObject *parent = 0);
|
explicit CInternetMonitor(QObject *parent = 0);
|
||||||
~CInternetMonitor();
|
~CInternetMonitor();
|
||||||
int Start(quint64 CANReportingBit);
|
int Start(quint64 CANReportingBit);
|
||||||
|
int UpdateCANReportingBit(quint64 CANBit);
|
||||||
bool IsInternetActive();
|
bool IsInternetActive();
|
||||||
quint64 GetCANInternetStatusMask();
|
quint64 GetCANInternetStatusMask();
|
||||||
|
|
||||||
|
|||||||
@ -44,16 +44,18 @@ int CLANDeviceMonitor::PingDevice()
|
|||||||
|
|
||||||
CLANDeviceMonitor::~CLANDeviceMonitor()
|
CLANDeviceMonitor::~CLANDeviceMonitor()
|
||||||
{
|
{
|
||||||
if(mDevMonitorTimer != 0)
|
|
||||||
{
|
|
||||||
mDevMonitorTimer->stop();
|
|
||||||
delete mDevMonitorTimer;
|
|
||||||
}
|
|
||||||
if(mPingProcess != 0)
|
if(mPingProcess != 0)
|
||||||
{
|
{
|
||||||
mPingProcess->terminate();
|
mPingProcess->terminate();
|
||||||
delete mPingProcess;
|
delete mPingProcess;
|
||||||
}
|
}
|
||||||
|
if(mDevMonitorTimer != 0)
|
||||||
|
{
|
||||||
|
mDevMonitorTimer->stop();
|
||||||
|
mDevMonitorTimer = 0;
|
||||||
|
delete mDevMonitorTimer;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -94,7 +96,8 @@ void CLANDeviceMonitor::PingProcessFinished(int exitCode, QProcess::ExitStatus e
|
|||||||
}
|
}
|
||||||
|
|
||||||
GetDeviceCANStatusMask();
|
GetDeviceCANStatusMask();
|
||||||
mDevMonitorTimer->start(LAN_DEVICE_MONITOR_PRESENCE_CHECK_TIMEOUT);
|
if(mDevMonitorTimer != 0)
|
||||||
|
mDevMonitorTimer->start(LAN_DEVICE_MONITOR_PRESENCE_CHECK_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -83,6 +83,7 @@ int COtarcikCan::Start()
|
|||||||
mCANBusMQTTClient.SetMQTTParams(&mCloudLoggingParams);
|
mCANBusMQTTClient.SetMQTTParams(&mCloudLoggingParams);
|
||||||
mCANBusMQTTClient.SetCANDevicesList(&mCANDevicesList);
|
mCANBusMQTTClient.SetCANDevicesList(&mCANDevicesList);
|
||||||
mCANBusMQTTClient.SetCPUInterface(&mCPUInterface);
|
mCANBusMQTTClient.SetCPUInterface(&mCPUInterface);
|
||||||
|
mCANBusMQTTClient.SetMQTTServerPresenceCANBit(mSystemConfig.GetDeviceDetectionConfig()->mMQTTDetectionCANStatusBit);
|
||||||
|
|
||||||
mGeneralSystemParams = *mSystemConfig.GetGeneralSystemSettings();
|
mGeneralSystemParams = *mSystemConfig.GetGeneralSystemSettings();
|
||||||
mMainWindow.mDataLoggingSettingsPage->SetGeneralSettingsParams(&mGeneralSystemParams);
|
mMainWindow.mDataLoggingSettingsPage->SetGeneralSettingsParams(&mGeneralSystemParams);
|
||||||
@ -95,9 +96,14 @@ int COtarcikCan::Start()
|
|||||||
mDeviceDetectionConfigParams = *mSystemConfig.GetDeviceDetectionConfig();
|
mDeviceDetectionConfigParams = *mSystemConfig.GetDeviceDetectionConfig();
|
||||||
mMainWindow.mDataLoggingSettingsPage->SetDeviceConfigSettings(mSystemConfig.GetDeviceDetectionConfig());
|
mMainWindow.mDataLoggingSettingsPage->SetDeviceConfigSettings(mSystemConfig.GetDeviceDetectionConfig());
|
||||||
|
|
||||||
|
mInternetMonitor.Start(mSystemConfig.GetDeviceDetectionConfig()->mInternetDetectionCANStatusBit);
|
||||||
mLANDevicesPresenceMonitor.Start(mSystemConfig.GetDeviceDetectionConfig()->GetLANDevicesConfigList());
|
mLANDevicesPresenceMonitor.Start(mSystemConfig.GetDeviceDetectionConfig()->GetLANDevicesConfigList());
|
||||||
|
|
||||||
|
mSystemConfig.mDeviceDetectionParams.SetCANPresenceMonitors(&mCANBusMQTTClient,&mLANDevicesPresenceMonitor,&mInternetMonitor);
|
||||||
|
for(int i = 0; i < mCANDevicesList.size(); i++)
|
||||||
|
{
|
||||||
|
mCANDevicesList.at(i)->StartWatchdog(mSystemConfig.GetDeviceDetectionConfig());
|
||||||
|
}
|
||||||
// mMainWindow.mCANWatchdogSettingsPage->SetCANWatchdogConfig(mSystemConfig.GetCANWatchdogConfig());
|
// mMainWindow.mCANWatchdogSettingsPage->SetCANWatchdogConfig(mSystemConfig.GetCANWatchdogConfig());
|
||||||
|
|
||||||
// mGPTimer->setSingleShot(false);
|
// mGPTimer->setSingleShot(false);
|
||||||
@ -261,6 +267,8 @@ int COtarcikCan::SaveDeviceDetectionSettingsRequest(CDeviceDetectionConfig *Devi
|
|||||||
mSystemConfig.SaveConfig();
|
mSystemConfig.SaveConfig();
|
||||||
mLANDevicesPresenceMonitor.Stop();
|
mLANDevicesPresenceMonitor.Stop();
|
||||||
mLANDevicesPresenceMonitor.Start(DeviceDetectconfig->GetLANDevicesConfigList());
|
mLANDevicesPresenceMonitor.Start(DeviceDetectconfig->GetLANDevicesConfigList());
|
||||||
|
mInternetMonitor.UpdateCANReportingBit(DeviceDetectconfig->mInternetDetectionCANStatusBit);
|
||||||
|
mCANBusMQTTClient.SetMQTTServerPresenceCANBit(DeviceDetectconfig->mMQTTDetectionCANStatusBit);
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,5 +323,5 @@ void COtarcikCan::QuitApplicationRequest()
|
|||||||
mCPUInterface.StopCPUWatchdog();
|
mCPUInterface.StopCPUWatchdog();
|
||||||
mCPUInterface.DeInit();
|
mCPUInterface.DeInit();
|
||||||
|
|
||||||
QCoreApplication::quit();
|
QCoreApplication::exit(69);
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@ -49,9 +49,6 @@ public:
|
|||||||
QCheckBox *mCANDeviceWatchdogActivateChkBx;
|
QCheckBox *mCANDeviceWatchdogActivateChkBx;
|
||||||
QSpinBox *mWatchdogPollPeriodSpinBx;
|
QSpinBox *mWatchdogPollPeriodSpinBx;
|
||||||
QLabel *mRefreshRateLbl_2;
|
QLabel *mRefreshRateLbl_2;
|
||||||
QLabel *mWatchdogMsgIDLbl;
|
|
||||||
QLabel *mWatchdogMsgIDPrefixLbl;
|
|
||||||
QSpinBox *mWatchdogMsgIDSpinBx;
|
|
||||||
QGroupBox *mDatabaseGroupBox;
|
QGroupBox *mDatabaseGroupBox;
|
||||||
QLabel *mDBMessageNameLbl;
|
QLabel *mDBMessageNameLbl;
|
||||||
QLabel *mDBMessageIDLbl;
|
QLabel *mDBMessageIDLbl;
|
||||||
@ -64,6 +61,9 @@ public:
|
|||||||
QPushButton *mAddDeviceBtn;
|
QPushButton *mAddDeviceBtn;
|
||||||
QPushButton *mDeleteDeviceBtn;
|
QPushButton *mDeleteDeviceBtn;
|
||||||
QComboBox *mCANIDComboBx;
|
QComboBox *mCANIDComboBx;
|
||||||
|
QLabel *mWatchdogMsgIDPrefixLbl;
|
||||||
|
QSpinBox *mWatchdogMsgIDSpinBx;
|
||||||
|
QLabel *mWatchdogMsgIDLbl;
|
||||||
|
|
||||||
void setupUi(QWidget *CCANbusSettingsPage)
|
void setupUi(QWidget *CCANbusSettingsPage)
|
||||||
{
|
{
|
||||||
@ -84,7 +84,7 @@ public:
|
|||||||
label_2->setGeometry(QRect(52, 100, 81, 16));
|
label_2->setGeometry(QRect(52, 100, 81, 16));
|
||||||
mDeviceParamsGroupBox = new QGroupBox(CCANbusSettingsPage);
|
mDeviceParamsGroupBox = new QGroupBox(CCANbusSettingsPage);
|
||||||
mDeviceParamsGroupBox->setObjectName(QString::fromUtf8("mDeviceParamsGroupBox"));
|
mDeviceParamsGroupBox->setObjectName(QString::fromUtf8("mDeviceParamsGroupBox"));
|
||||||
mDeviceParamsGroupBox->setGeometry(QRect(270, 100, 321, 461));
|
mDeviceParamsGroupBox->setGeometry(QRect(270, 100, 321, 431));
|
||||||
mCANIDLbl = new QLabel(mDeviceParamsGroupBox);
|
mCANIDLbl = new QLabel(mDeviceParamsGroupBox);
|
||||||
mCANIDLbl->setObjectName(QString::fromUtf8("mCANIDLbl"));
|
mCANIDLbl->setObjectName(QString::fromUtf8("mCANIDLbl"));
|
||||||
mCANIDLbl->setGeometry(QRect(10, 66, 121, 16));
|
mCANIDLbl->setGeometry(QRect(10, 66, 121, 16));
|
||||||
@ -101,7 +101,7 @@ public:
|
|||||||
mCANBaudrateComboBx->setGeometry(QRect(100, 90, 131, 21));
|
mCANBaudrateComboBx->setGeometry(QRect(100, 90, 131, 21));
|
||||||
mModifyDevParamsBtn = new QPushButton(mDeviceParamsGroupBox);
|
mModifyDevParamsBtn = new QPushButton(mDeviceParamsGroupBox);
|
||||||
mModifyDevParamsBtn->setObjectName(QString::fromUtf8("mModifyDevParamsBtn"));
|
mModifyDevParamsBtn->setObjectName(QString::fromUtf8("mModifyDevParamsBtn"));
|
||||||
mModifyDevParamsBtn->setGeometry(QRect(210, 420, 80, 22));
|
mModifyDevParamsBtn->setGeometry(QRect(210, 390, 80, 22));
|
||||||
mDeviceDescriptionTxtEdit = new QTextEdit(mDeviceParamsGroupBox);
|
mDeviceDescriptionTxtEdit = new QTextEdit(mDeviceParamsGroupBox);
|
||||||
mDeviceDescriptionTxtEdit->setObjectName(QString::fromUtf8("mDeviceDescriptionTxtEdit"));
|
mDeviceDescriptionTxtEdit->setObjectName(QString::fromUtf8("mDeviceDescriptionTxtEdit"));
|
||||||
mDeviceDescriptionTxtEdit->setGeometry(QRect(10, 210, 291, 101));
|
mDeviceDescriptionTxtEdit->setGeometry(QRect(10, 210, 291, 101));
|
||||||
@ -128,7 +128,7 @@ public:
|
|||||||
mDevicePollPeriodSpinBx->setGeometry(QRect(200, 180, 91, 22));
|
mDevicePollPeriodSpinBx->setGeometry(QRect(200, 180, 91, 22));
|
||||||
mCancelModifyParamsBtn = new QPushButton(mDeviceParamsGroupBox);
|
mCancelModifyParamsBtn = new QPushButton(mDeviceParamsGroupBox);
|
||||||
mCancelModifyParamsBtn->setObjectName(QString::fromUtf8("mCancelModifyParamsBtn"));
|
mCancelModifyParamsBtn->setObjectName(QString::fromUtf8("mCancelModifyParamsBtn"));
|
||||||
mCancelModifyParamsBtn->setGeometry(QRect(20, 420, 80, 22));
|
mCancelModifyParamsBtn->setGeometry(QRect(20, 390, 80, 22));
|
||||||
mDeviceNameEditBx = new QPlainTextEdit(mDeviceParamsGroupBox);
|
mDeviceNameEditBx = new QPlainTextEdit(mDeviceParamsGroupBox);
|
||||||
mDeviceNameEditBx->setObjectName(QString::fromUtf8("mDeviceNameEditBx"));
|
mDeviceNameEditBx->setObjectName(QString::fromUtf8("mDeviceNameEditBx"));
|
||||||
mDeviceNameEditBx->setGeometry(QRect(13, 23, 281, 31));
|
mDeviceNameEditBx->setGeometry(QRect(13, 23, 281, 31));
|
||||||
@ -152,22 +152,6 @@ public:
|
|||||||
mRefreshRateLbl_2->setObjectName(QString::fromUtf8("mRefreshRateLbl_2"));
|
mRefreshRateLbl_2->setObjectName(QString::fromUtf8("mRefreshRateLbl_2"));
|
||||||
mRefreshRateLbl_2->setGeometry(QRect(10, 350, 181, 16));
|
mRefreshRateLbl_2->setGeometry(QRect(10, 350, 181, 16));
|
||||||
mRefreshRateLbl_2->setFont(font1);
|
mRefreshRateLbl_2->setFont(font1);
|
||||||
mWatchdogMsgIDLbl = new QLabel(mDeviceParamsGroupBox);
|
|
||||||
mWatchdogMsgIDLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDLbl"));
|
|
||||||
mWatchdogMsgIDLbl->setGeometry(QRect(10, 380, 111, 16));
|
|
||||||
mWatchdogMsgIDLbl->setFont(font1);
|
|
||||||
mWatchdogMsgIDPrefixLbl = new QLabel(mDeviceParamsGroupBox);
|
|
||||||
mWatchdogMsgIDPrefixLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDPrefixLbl"));
|
|
||||||
mWatchdogMsgIDPrefixLbl->setGeometry(QRect(110, 380, 30, 20));
|
|
||||||
mWatchdogMsgIDPrefixLbl->setFont(font1);
|
|
||||||
mWatchdogMsgIDPrefixLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
|
||||||
mWatchdogMsgIDSpinBx = new QSpinBox(mDeviceParamsGroupBox);
|
|
||||||
mWatchdogMsgIDSpinBx->setObjectName(QString::fromUtf8("mWatchdogMsgIDSpinBx"));
|
|
||||||
mWatchdogMsgIDSpinBx->setGeometry(QRect(140, 380, 91, 20));
|
|
||||||
mWatchdogMsgIDSpinBx->setMinimum(1);
|
|
||||||
mWatchdogMsgIDSpinBx->setMaximum(2048);
|
|
||||||
mWatchdogMsgIDSpinBx->setValue(1);
|
|
||||||
mWatchdogMsgIDSpinBx->setDisplayIntegerBase(16);
|
|
||||||
mDatabaseGroupBox = new QGroupBox(CCANbusSettingsPage);
|
mDatabaseGroupBox = new QGroupBox(CCANbusSettingsPage);
|
||||||
mDatabaseGroupBox->setObjectName(QString::fromUtf8("mDatabaseGroupBox"));
|
mDatabaseGroupBox->setObjectName(QString::fromUtf8("mDatabaseGroupBox"));
|
||||||
mDatabaseGroupBox->setGeometry(QRect(620, 100, 711, 491));
|
mDatabaseGroupBox->setGeometry(QRect(620, 100, 711, 491));
|
||||||
@ -213,6 +197,22 @@ public:
|
|||||||
mCANIDComboBx->setObjectName(QString::fromUtf8("mCANIDComboBx"));
|
mCANIDComboBx->setObjectName(QString::fromUtf8("mCANIDComboBx"));
|
||||||
mCANIDComboBx->setEnabled(true);
|
mCANIDComboBx->setEnabled(true);
|
||||||
mCANIDComboBx->setGeometry(QRect(790, 20, 131, 20));
|
mCANIDComboBx->setGeometry(QRect(790, 20, 131, 20));
|
||||||
|
mWatchdogMsgIDPrefixLbl = new QLabel(CCANbusSettingsPage);
|
||||||
|
mWatchdogMsgIDPrefixLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDPrefixLbl"));
|
||||||
|
mWatchdogMsgIDPrefixLbl->setGeometry(QRect(370, 610, 30, 20));
|
||||||
|
mWatchdogMsgIDPrefixLbl->setFont(font1);
|
||||||
|
mWatchdogMsgIDPrefixLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||||
|
mWatchdogMsgIDSpinBx = new QSpinBox(CCANbusSettingsPage);
|
||||||
|
mWatchdogMsgIDSpinBx->setObjectName(QString::fromUtf8("mWatchdogMsgIDSpinBx"));
|
||||||
|
mWatchdogMsgIDSpinBx->setGeometry(QRect(400, 610, 91, 20));
|
||||||
|
mWatchdogMsgIDSpinBx->setMinimum(1);
|
||||||
|
mWatchdogMsgIDSpinBx->setMaximum(2048);
|
||||||
|
mWatchdogMsgIDSpinBx->setValue(1);
|
||||||
|
mWatchdogMsgIDSpinBx->setDisplayIntegerBase(16);
|
||||||
|
mWatchdogMsgIDLbl = new QLabel(CCANbusSettingsPage);
|
||||||
|
mWatchdogMsgIDLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDLbl"));
|
||||||
|
mWatchdogMsgIDLbl->setGeometry(QRect(270, 610, 111, 16));
|
||||||
|
mWatchdogMsgIDLbl->setFont(font1);
|
||||||
|
|
||||||
retranslateUi(CCANbusSettingsPage);
|
retranslateUi(CCANbusSettingsPage);
|
||||||
|
|
||||||
@ -235,8 +235,6 @@ public:
|
|||||||
mCancelModifyParamsBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Annuler", nullptr));
|
mCancelModifyParamsBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Annuler", nullptr));
|
||||||
mCANDeviceWatchdogActivateChkBx->setText(QCoreApplication::translate("CCANbusSettingsPage", "Activer Watchdog", nullptr));
|
mCANDeviceWatchdogActivateChkBx->setText(QCoreApplication::translate("CCANbusSettingsPage", "Activer Watchdog", nullptr));
|
||||||
mRefreshRateLbl_2->setText(QCoreApplication::translate("CCANbusSettingsPage", "P\303\251riode rafra\303\256chissement (ms):", nullptr));
|
mRefreshRateLbl_2->setText(QCoreApplication::translate("CCANbusSettingsPage", "P\303\251riode rafra\303\256chissement (ms):", nullptr));
|
||||||
mWatchdogMsgIDLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "CAN Msg ID (HEX):", nullptr));
|
|
||||||
mWatchdogMsgIDPrefixLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "0x", nullptr));
|
|
||||||
mDatabaseGroupBox->setTitle(QCoreApplication::translate("CCANbusSettingsPage", "Database", nullptr));
|
mDatabaseGroupBox->setTitle(QCoreApplication::translate("CCANbusSettingsPage", "Database", nullptr));
|
||||||
mDBMessageNameLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Message Name: ", nullptr));
|
mDBMessageNameLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Message Name: ", nullptr));
|
||||||
mDBMessageIDLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Message ID: ", nullptr));
|
mDBMessageIDLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Message ID: ", nullptr));
|
||||||
@ -246,6 +244,8 @@ public:
|
|||||||
mDBMessageCommentLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Number of signals: ", nullptr));
|
mDBMessageCommentLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Number of signals: ", nullptr));
|
||||||
mAddDeviceBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Ajouter", nullptr));
|
mAddDeviceBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Ajouter", nullptr));
|
||||||
mDeleteDeviceBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Supprimer", nullptr));
|
mDeleteDeviceBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Supprimer", nullptr));
|
||||||
|
mWatchdogMsgIDPrefixLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "0x", nullptr));
|
||||||
|
mWatchdogMsgIDLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "CAN Msg ID (HEX):", nullptr));
|
||||||
} // retranslateUi
|
} // retranslateUi
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user