LAN Devices presence

This commit is contained in:
jfmartel 2024-03-05 16:29:13 -05:00
parent bd720d25dc
commit 32a0f76bf2
20 changed files with 1821 additions and 559 deletions

Binary file not shown.

View File

@ -9347,3 +9347,250 @@ Démarrage du logiciel Otarcik CAN le 2024-03-04 à 14:26:56
2024-03-04 14:26:56 Démarrage du Watchdog CAN...
2024-03-04 14:26:56 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-04 14:26:56 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:09:21
********************************************************************
2024-03-05 15:09:21 Librairie Axiomtek chargée avec succès
2024-03-05 15:09:21 Watchdog CPU arrêté
2024-03-05 15:09:21 Chargement de la configuration système...
2024-03-05 15:09:21 Configuration système chargée avec succès!
2024-03-05 15:09:21 Initialisation du dispositif [MasterCAN]
2024-03-05 15:09:21 Démarrage d'un module CAN...
2024-03-05 15:09:21 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:09:21 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:09:21 Module PCAN USB initialisé avec succès
2024-03-05 15:09:21 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:09:21 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:09:21 Démarrage du Watchdog CAN...
2024-03-05 15:09:21 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:09:21 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:10:30
********************************************************************
2024-03-05 15:10:30 Librairie Axiomtek chargée avec succès
2024-03-05 15:10:30 Watchdog CPU arrêté
2024-03-05 15:10:30 Chargement de la configuration système...
2024-03-05 15:10:30 Configuration système chargée avec succès!
2024-03-05 15:10:30 Initialisation du dispositif [MasterCAN]
2024-03-05 15:10:30 Démarrage d'un module CAN...
2024-03-05 15:10:30 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:10:30 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:10:30 Module PCAN USB initialisé avec succès
2024-03-05 15:10:30 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:10:30 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:10:30 Démarrage du Watchdog CAN...
2024-03-05 15:10:30 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:10:30 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:11:28
********************************************************************
2024-03-05 15:11:28 Librairie Axiomtek chargée avec succès
2024-03-05 15:11:28 Watchdog CPU arrêté
2024-03-05 15:11:28 Chargement de la configuration système...
2024-03-05 15:11:28 Configuration système chargée avec succès!
2024-03-05 15:11:28 Initialisation du dispositif [MasterCAN]
2024-03-05 15:11:28 Démarrage d'un module CAN...
2024-03-05 15:11:28 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:11:28 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:11:28 Module PCAN USB initialisé avec succès
2024-03-05 15:11:28 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:11:28 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:11:28 Démarrage du Watchdog CAN...
2024-03-05 15:11:28 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:11:28 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:13:56
********************************************************************
2024-03-05 15:13:56 Librairie Axiomtek chargée avec succès
2024-03-05 15:13:56 Watchdog CPU arrêté
2024-03-05 15:13:56 Chargement de la configuration système...
2024-03-05 15:13:56 Configuration système chargée avec succès!
2024-03-05 15:13:56 Initialisation du dispositif [MasterCAN]
2024-03-05 15:13:56 Démarrage d'un module CAN...
2024-03-05 15:13:56 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:13:56 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:13:56 Module PCAN USB initialisé avec succès
2024-03-05 15:13:56 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:13:56 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:13:56 Démarrage du Watchdog CAN...
2024-03-05 15:13:56 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:13:56 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:52:16
********************************************************************
2024-03-05 15:52:16 Librairie Axiomtek chargée avec succès
2024-03-05 15:52:16 Watchdog CPU arrêté
2024-03-05 15:52:16 Chargement de la configuration système...
2024-03-05 15:52:16 Configuration système chargée avec succès!
2024-03-05 15:52:16 Initialisation du dispositif [MasterCAN]
2024-03-05 15:52:16 Démarrage d'un module CAN...
2024-03-05 15:52:16 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:52:16 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:52:16 Module PCAN USB initialisé avec succès
2024-03-05 15:52:16 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:52:16 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:52:16 Démarrage du Watchdog CAN...
2024-03-05 15:52:16 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:52:16 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:53:53
********************************************************************
2024-03-05 15:53:53 Librairie Axiomtek chargée avec succès
2024-03-05 15:53:53 Watchdog CPU arrêté
2024-03-05 15:53:53 Chargement de la configuration système...
2024-03-05 15:53:53 Configuration système chargée avec succès!
2024-03-05 15:53:53 Initialisation du dispositif [MasterCAN]
2024-03-05 15:53:53 Démarrage d'un module CAN...
2024-03-05 15:53:53 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:53:53 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:53:53 Module PCAN USB initialisé avec succès
2024-03-05 15:53:53 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:53:53 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:53:53 Démarrage du Watchdog CAN...
2024-03-05 15:53:53 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:53:53 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 15:57:12
********************************************************************
2024-03-05 15:57:12 Librairie Axiomtek chargée avec succès
2024-03-05 15:57:12 Watchdog CPU arrêté
2024-03-05 15:57:12 Chargement de la configuration système...
2024-03-05 15:57:12 Configuration système chargée avec succès!
2024-03-05 15:57:12 Initialisation du dispositif [MasterCAN]
2024-03-05 15:57:12 Démarrage d'un module CAN...
2024-03-05 15:57:12 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 15:57:12 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 15:57:12 Module PCAN USB initialisé avec succès
2024-03-05 15:57:12 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 15:57:12 Base de données chargée avec succès. Flags: 0x0
2024-03-05 15:57:12 Démarrage du Watchdog CAN...
2024-03-05 15:57:12 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 15:57:12 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:06:03
********************************************************************
2024-03-05 16:06:03 Librairie Axiomtek chargée avec succès
2024-03-05 16:06:03 Watchdog CPU arrêté
2024-03-05 16:06:03 Chargement de la configuration système...
2024-03-05 16:06:03 Configuration système chargée avec succès!
2024-03-05 16:06:03 Initialisation du dispositif [MasterCAN]
2024-03-05 16:06:03 Démarrage d'un module CAN...
2024-03-05 16:06:03 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 16:06:03 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 16:06:03 Module PCAN USB initialisé avec succès
2024-03-05 16:06:03 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 16:06:03 Base de données chargée avec succès. Flags: 0x0
2024-03-05 16:06:03 Démarrage du Watchdog CAN...
2024-03-05 16:06:03 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 16:06:03 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:16:30
********************************************************************
2024-03-05 16:16:30 Librairie Axiomtek chargée avec succès
2024-03-05 16:16:30 Watchdog CPU arrêté
2024-03-05 16:16:30 Chargement de la configuration système...
2024-03-05 16:16:30 Configuration système chargée avec succès!
2024-03-05 16:16:30 Initialisation du dispositif [MasterCAN]
2024-03-05 16:16:30 Démarrage d'un module CAN...
2024-03-05 16:16:30 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 16:16:30 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 16:16:30 Module PCAN USB initialisé avec succès
2024-03-05 16:16:30 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 16:16:30 Base de données chargée avec succès. Flags: 0x0
2024-03-05 16:16:30 Démarrage du Watchdog CAN...
2024-03-05 16:16:30 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 16:16:30 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:19:22
********************************************************************
2024-03-05 16:19:22 Librairie Axiomtek chargée avec succès
2024-03-05 16:19:22 Watchdog CPU arrêté
2024-03-05 16:19:22 Chargement de la configuration système...
2024-03-05 16:19:22 Configuration système chargée avec succès!
2024-03-05 16:19:22 Initialisation du dispositif [MasterCAN]
2024-03-05 16:19:22 Démarrage d'un module CAN...
2024-03-05 16:19:22 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 16:19:22 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 16:19:22 Module PCAN USB initialisé avec succès
2024-03-05 16:19:22 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 16:19:22 Base de données chargée avec succès. Flags: 0x0
2024-03-05 16:19:22 Démarrage du Watchdog CAN...
2024-03-05 16:19:22 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 16:19:22 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:22:49
********************************************************************
2024-03-05 16:22:49 Librairie Axiomtek chargée avec succès
2024-03-05 16:22:49 Watchdog CPU arrêté
2024-03-05 16:22:49 Chargement de la configuration système...
2024-03-05 16:22:49 Configuration système chargée avec succès!
2024-03-05 16:22:49 Initialisation du dispositif [MasterCAN]
2024-03-05 16:22:49 Démarrage d'un module CAN...
2024-03-05 16:22:49 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 16:22:49 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 16:22:49 Module PCAN USB initialisé avec succès
2024-03-05 16:22:49 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 16:22:49 Base de données chargée avec succès. Flags: 0x0
2024-03-05 16:22:49 Démarrage du Watchdog CAN...
2024-03-05 16:22:49 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 16:22:49 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:24:28
********************************************************************
2024-03-05 16:24:28 Librairie Axiomtek chargée avec succès
2024-03-05 16:24:28 Watchdog CPU arrêté
2024-03-05 16:24:28 Chargement de la configuration système...
2024-03-05 16:24:28 Configuration système chargée avec succès!
2024-03-05 16:24:28 Initialisation du dispositif [MasterCAN]
2024-03-05 16:24:28 Démarrage d'un module CAN...
2024-03-05 16:24:28 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 16:24:28 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 16:24:28 Module PCAN USB initialisé avec succès
2024-03-05 16:24:28 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 16:24:28 Base de données chargée avec succès. Flags: 0x0
2024-03-05 16:24:28 Démarrage du Watchdog CAN...
2024-03-05 16:24:28 Watchdog CAN initialisé pour le module sur le channel 1
2024-03-05 16:24:28 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-03-05 à 16:27:35
********************************************************************
2024-03-05 16:27:35 Librairie Axiomtek chargée avec succès
2024-03-05 16:27:35 Watchdog CPU arrêté
2024-03-05 16:27:35 Chargement de la configuration système...
2024-03-05 16:27:35 Configuration système chargée avec succès!
2024-03-05 16:27:35 Initialisation du dispositif [MasterCAN]
2024-03-05 16:27:35 Démarrage d'un module CAN...
2024-03-05 16:27:35 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-03-05 16:27:35 Initialisation d'un module PCAN. Handle:0x51, Baudrate:28
2024-03-05 16:27:35 Module PCAN USB initialisé avec succès
2024-03-05 16:27:35 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/PCtelemetrie20240118.dbc
2024-03-05 16:27:35 Base de données chargée avec succès. Flags: 0x0
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 Dispositif [MasterCAN] initialisé avec succès!

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -65,7 +65,8 @@ SOURCES += Sources/main.cpp \
Sources/ComputerBoardState.cpp \
Sources/DeviceDetectionConfig.cpp \
Sources/LANDevicePresenceConfig.cpp \
Sources/LANDeviceMonitor.cpp
Sources/LANDeviceMonitor.cpp \
Sources/LANDevicesPresenceMonitor.cpp
HEADERS += Sources/MainWindow.h \
Sources/PCANInterface.h \
@ -101,7 +102,8 @@ HEADERS += Sources/MainWindow.h \
Sources/ComputerBoardState.h \
Sources/DeviceDetectionConfig.h \
Sources/LANDevicePresenceConfig.h \
Sources/LANDeviceMonitor.h
Sources/LANDeviceMonitor.h \
Sources/LANDevicesPresenceMonitor.h
FORMS += Sources/Gui/MainWindow.ui \
Sources/Gui/GeneralStatusPage.ui \

View File

@ -12,6 +12,11 @@ CDeviceDetectionConfig::CDeviceDetectionConfig()
mReportingCANMsgID = 300;
}
QList<CLANDevicePresenceConfig> *CDeviceDetectionConfig::GetLANDevicesConfigList()
{
return &mLANDeviceDetectConfigList;
}
QDataStream &operator>>(QDataStream &in, CDeviceDetectionConfig &dest)
{
in >> dest.mInternetDetectionCANStatusBit

View File

@ -9,11 +9,14 @@ class CDeviceDetectionConfig
public:
CDeviceDetectionConfig();
QList<CLANDevicePresenceConfig> *GetLANDevicesConfigList();
unsigned int mReportingCANMsgID;
quint64 mInternetDetectionCANStatusBit;
quint64 mMQTTDetectionCANStatusBit;
QList<CLANDevicePresenceConfig> mLANDeviceDetectConfigList;
CDeviceDetectionConfig &operator=(const CDeviceDetectionConfig &source);
};

View File

@ -53,7 +53,7 @@ CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) :
ui->mDevicePresenceAdd5LineEdit->setText("192.168.10.555");
QStringList BitsList;
for(int i = 31; i < 64; i++)
for(int i = 32; i < 64; i++)
{
//BitsList.append(QString("%1").arg(i));
@ -260,6 +260,100 @@ int CLoggingSettingsPage::UpdateCPUWatchdogParams()
return RET_OK;
}
int CLoggingSettingsPage::SetLANDevicesPresenceStatus(QList<bool> LANDevicesPresenceList)
{
if(LANDevicesPresenceList.size() != MAX_NB_LAN_DEVICE_DETECTION)
{
return RET_GENERAL_ERROR;
}
if(ui->mDevicePresenceActive1ChkBx->isChecked())
{
if(LANDevicesPresenceList.at(0) == true)
ui->mLANDevice1PresStatusLbl->setText("ONLINE");
else
ui->mLANDevice1PresStatusLbl->setText("OFFLINE");
}
else
{
ui->mLANDevice1PresStatusLbl->setText("N/A");
}
if(ui->mDevicePresenceActive2ChkBx->isChecked())
{
if(LANDevicesPresenceList.at(1) == true)
ui->mLANDevice2PresStatusLbl->setText("ONLINE");
else
ui->mLANDevice2PresStatusLbl->setText("OFFLINE");
}
else
{
ui->mLANDevice2PresStatusLbl->setText("N/A");
}
if(ui->mDevicePresenceActive3ChkBx->isChecked())
{
if(LANDevicesPresenceList.at(2) == true)
ui->mLANDevice3PresStatusLbl->setText("ONLINE");
else
ui->mLANDevice3PresStatusLbl->setText("OFFLINE");
}
else
{
ui->mLANDevice3PresStatusLbl->setText("N/A");
}
if(ui->mDevicePresenceActive4ChkBx->isChecked())
{
if(LANDevicesPresenceList.at(3) == true)
ui->mLANDevice4PresStatusLbl->setText("ONLINE");
else
ui->mLANDevice4PresStatusLbl->setText("OFFLINE");
}
else
{
ui->mLANDevice4PresStatusLbl->setText("N/A");
}
if(ui->mDevicePresenceActive5ChkBx->isChecked())
{
if(LANDevicesPresenceList.at(4) == true)
ui->mLANDevice5PresStatusLbl->setText("ONLINE");
else
ui->mLANDevice5PresStatusLbl->setText("OFFLINE");
}
else
{
ui->mLANDevice5PresStatusLbl->setText("N/A");
}
return RET_OK;
}
void CLoggingSettingsPage::SetInternetPresenceStatus(bool IsPresent)
{
if(IsPresent == true)
{
ui->mInternetPresenceStatusLbl->setText("ONLINE");
}
else
{
ui->mInternetPresenceStatusLbl->setText("OFFLINE");
}
}
int CLoggingSettingsPage::SetMQTTPresenceStatus(bool IsPresent)
{
if(IsPresent)
{
ui->mMQTTPresenceStatusLbl->setText("ONLINE");
}
else
{
ui->mMQTTPresenceStatusLbl->setText("OFFLINE");
}
return RET_OK;
}
void CLoggingSettingsPage::VerbosityParamsChanged(int value)
{
Q_UNUSED(value)

View File

@ -25,6 +25,8 @@ public:
int SetGeneralSettingsParams(const CGeneralSystemParams *GeneralParams);
int SetCPUWatchdogSettings(const CCPUWatchdogConfig *CPUWatchdogParams);
int SetDeviceConfigSettings(const CDeviceDetectionConfig *DevDetectCfgParams);
int SetMQTTPresenceStatus(bool);
int SetLANDevicesPresenceStatus(QList<bool> LANDevicesPresenceList);
@ -60,6 +62,9 @@ public slots:
void DevicePresenceEnableChkBxChanged(int state);
void DevicePresenceModifyParamsBtnPressed();
void DevicePresenceCancelBtnPressed();
void SetInternetPresenceStatus(bool);
};

View File

@ -508,19 +508,19 @@
<rect>
<x>1020</x>
<y>80</y>
<width>341</width>
<width>421</width>
<height>311</height>
</rect>
</property>
<property name="title">
<string>Assignations des flags à un signal CAN</string>
</property>
<widget class="QLabel" name="mInternetPresenceLbl_3">
<widget class="QLabel" name="mBITLbl">
<property name="geometry">
<rect>
<x>280</x>
<x>190</x>
<y>70</y>
<width>41</width>
<width>51</width>
<height>20</height>
</rect>
</property>
@ -530,7 +530,7 @@
</font>
</property>
<property name="text">
<string>BIT</string>
<string>BIT CAN</string>
</property>
</widget>
<widget class="QLabel" name="mWatchdogMsgIDLbl">
@ -576,7 +576,7 @@
<widget class="QLabel" name="mInternetPresenceLbl">
<property name="geometry">
<rect>
<x>120</x>
<x>40</x>
<y>100</y>
<width>131</width>
<height>16</height>
@ -618,7 +618,7 @@
<widget class="QComboBox" name="mInternetPresBitComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>100</y>
<width>65</width>
<height>22</height>
@ -628,10 +628,10 @@
<number>63</number>
</property>
</widget>
<widget class="QLabel" name="mMQTTPresenceLbl_4">
<widget class="QLabel" name="mMQTTPresenceLbl">
<property name="geometry">
<rect>
<x>110</x>
<x>30</x>
<y>130</y>
<width>141</width>
<height>16</height>
@ -652,7 +652,7 @@
<widget class="QComboBox" name="mMQTTPresenceBitComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>130</y>
<width>65</width>
<height>22</height>
@ -686,7 +686,7 @@
<rect>
<x>70</x>
<y>160</y>
<width>171</width>
<width>101</width>
<height>21</height>
</rect>
</property>
@ -694,7 +694,7 @@
<widget class="QComboBox" name="mDevicePresenceBit1ComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>160</y>
<width>65</width>
<height>22</height>
@ -719,7 +719,7 @@
<rect>
<x>70</x>
<y>190</y>
<width>171</width>
<width>101</width>
<height>21</height>
</rect>
</property>
@ -727,7 +727,7 @@
<widget class="QComboBox" name="mDevicePresenceBit2ComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>190</y>
<width>65</width>
<height>22</height>
@ -739,7 +739,7 @@
<rect>
<x>70</x>
<y>220</y>
<width>171</width>
<width>101</width>
<height>21</height>
</rect>
</property>
@ -747,7 +747,7 @@
<widget class="QComboBox" name="mDevicePresenceBit3ComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>220</y>
<width>65</width>
<height>22</height>
@ -783,7 +783,7 @@
<widget class="QComboBox" name="mDevicePresenceBit4ComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>250</y>
<width>65</width>
<height>22</height>
@ -795,7 +795,7 @@
<rect>
<x>70</x>
<y>250</y>
<width>171</width>
<width>101</width>
<height>21</height>
</rect>
</property>
@ -818,7 +818,7 @@
<rect>
<x>70</x>
<y>280</y>
<width>171</width>
<width>101</width>
<height>21</height>
</rect>
</property>
@ -826,7 +826,7 @@
<widget class="QComboBox" name="mDevicePresenceBit5ComboBox">
<property name="geometry">
<rect>
<x>260</x>
<x>180</x>
<y>280</y>
<width>65</width>
<height>22</height>
@ -836,10 +836,10 @@
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>20</x>
<y>60</y>
<width>241</width>
<height>31</height>
<x>290</x>
<y>20</y>
<width>121</width>
<height>51</height>
</rect>
</property>
<property name="font">
@ -847,9 +847,104 @@
<pointsize>10</pointsize>
</font>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="text">
<string>Les bits 0 à 30 sont utilisés pour
la date et l'heure</string>
<string>Les bits 0 à 31 sont
utilisés pour la date
et l'heure</string>
</property>
</widget>
<widget class="QLabel" name="mLANDevice1PresStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>160</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
<widget class="QLabel" name="mLANDevice2PresStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>190</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
<widget class="QLabel" name="mLANDevice3PresStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>220</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
<widget class="QLabel" name="mLANDevice4PresStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>250</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
<widget class="QLabel" name="mLANDevice5PresStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>280</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
<widget class="QLabel" name="mMQTTPresenceStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>130</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
<widget class="QLabel" name="mInternetPresenceStatusLbl">
<property name="geometry">
<rect>
<x>250</x>
<y>100</y>
<width>47</width>
<height>14</height>
</rect>
</property>
<property name="text">
<string>OFFLINE</string>
</property>
</widget>
</widget>

View File

@ -1,4 +1,6 @@
#include "LANDeviceMonitor.h"
#include <QString>
#include "GeneralMessagesLogDispatcher.h"
CLANDeviceMonitor::CLANDeviceMonitor(QString IPAddress, unsigned int CANBit, bool Active, QString Description)
{
@ -43,9 +45,15 @@ int CLANDeviceMonitor::PingDevice()
CLANDeviceMonitor::~CLANDeviceMonitor()
{
if(mDevMonitorTimer != 0)
{
mDevMonitorTimer->stop();
delete mDevMonitorTimer;
}
if(mPingProcess != 0)
{
mPingProcess->terminate();
delete mPingProcess;
}
}
@ -54,26 +62,39 @@ void CLANDeviceMonitor::MonitorTimeExpired()
PingDevice();
}
bool CLANDeviceMonitor::IsDeviceOnline()
{
return mIsDeviceOnline;
}
void CLANDeviceMonitor::PingProcessFinished(int exitCode, QProcess::ExitStatus exitStatus)
{
QString Result = mPingProcess->readAllStandardOutput();
if(Result.toLower().contains("ttl="))
{
//Online
if(mIsDeviceOnline == false)
{
QString Msg = QString("LAN Device %1 is now ONLINE on network").arg(mDeviceIPAddress);
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Msg,"CLANDeviceMonitor");
}
mIsDeviceOnline = true;
qDebug("Device Online");
}
else
{
//Offline
if(mIsDeviceOnline == true)
{
QString Msg = QString("LAN Device %1 is now OFFLINE on network").arg(mDeviceIPAddress);
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Msg,"CLANDeviceMonitor");
}
mIsDeviceOnline = false;
qDebug("Device Offline");
}
GetDeviceCANStatusMask();
mDevMonitorTimer->start(LAN_DEVICE_MONITOR_PRESENCE_CHECK_TIMEOUT);
// qDebug("%s",qPrintable(Result));
}
@ -82,9 +103,11 @@ void CLANDeviceMonitor::PingProcessFinished(int exitCode, QProcess::ExitStatus e
quint64 CLANDeviceMonitor::GetDeviceCANStatusMask()
{
quint64 Mask = 0;
if(mIsDeviceOnline == false)
if(mIsDetectionActive == true && mIsDeviceOnline == false)
{
Mask = 1;
Mask <<= mCANStatusBit;
}
return Mask;
}

View File

@ -19,8 +19,8 @@ public:
CLANDeviceMonitor(QString IPAddress, unsigned int CANBit, bool Active, QString Description = "");
~CLANDeviceMonitor();
int PingDevice();
quint64 GetDeviceCANStatusMask();
bool IsDeviceOnline();
private:
QTimer *mDevMonitorTimer;
@ -32,6 +32,7 @@ private:
QProcess *mPingProcess;
bool mIsPingInProgress;
int PingDevice();
public slots:
void MonitorTimeExpired();

View File

@ -0,0 +1,68 @@
#include "LANDevicesPresenceMonitor.h"
#include "OtarcikCan.h"
CLANDevicesPresenceMonitor::CLANDevicesPresenceMonitor()
{
mProgramPtr = 0;
mLANDevicesPresenceStateUpdateTimer = new QTimer;
mLANDevicesPresenceStateUpdateTimer->setInterval(LAN_DEVICE_MONITOR_PRESENCE_CHECK_TIMEOUT);
mLANDevicesPresenceStateUpdateTimer->setSingleShot(false);
connect(mLANDevicesPresenceStateUpdateTimer,&QTimer::timeout,this,&CLANDevicesPresenceMonitor::DevicesPresenceUpdateTimerExpired);
}
CLANDevicesPresenceMonitor::~CLANDevicesPresenceMonitor()
{
Stop();
delete mLANDevicesPresenceStateUpdateTimer;
}
int CLANDevicesPresenceMonitor::Start(QList<CLANDevicePresenceConfig> *LANDevicesList)
{
mLANMonitorList.clear();
for(int i = 0; i < LANDevicesList->size(); i++)
{
CLANDeviceMonitor *NewMonitor = new CLANDeviceMonitor(LANDevicesList->at(i).mDeviceIPAddress,LANDevicesList->at(i).mCANStatusBit,LANDevicesList->at(i).mIsDetectionActive,LANDevicesList->at(i).mDeviceDescription);
mLANMonitorList.append(NewMonitor);
}
mLANDevicesPresenceStateUpdateTimer->start();
return RET_OK;
}
int CLANDevicesPresenceMonitor::Stop()
{
//destroy all LAN monitors.
for(int i = 0; i < mLANMonitorList.size(); i++)
{
delete mLANMonitorList[i];
}
mLANMonitorList.clear();
mLANDevicesPresenceStateUpdateTimer->stop();
return RET_OK;
}
quint64 CLANDevicesPresenceMonitor::GetDevicesPresenceCANMask()
{
quint64 Mask = 0;
for(int i = 0; i < mLANMonitorList.size(); i++)
{
Mask |= mLANMonitorList[i]->GetDeviceCANStatusMask();
}
return Mask;
}
void CLANDevicesPresenceMonitor::DevicesPresenceUpdateTimerExpired()
{
QList<bool> DevicesStatusList;
for(int i = 0; i < mLANMonitorList.size(); i++)
{
bool Status = mLANMonitorList.at(i)->IsDeviceOnline();
DevicesStatusList.append(Status);
}
mProgramPtr->UpdateLANDevicesPresenceStatusRequest(DevicesStatusList);
}

View File

@ -0,0 +1,34 @@
#ifndef LANDEVICESPRESENCEMONITOR_H
#define LANDEVICESPRESENCEMONITOR_H
#include <QObject>
#include "LANDeviceMonitor.h"
#include "LANDevicePresenceConfig.h"
#include <QList>
#include <QTimer>
class COtarcikCan;
class CLANDevicesPresenceMonitor: public QObject
{
Q_OBJECT
public:
CLANDevicesPresenceMonitor();
~CLANDevicesPresenceMonitor();
int Start(QList<CLANDevicePresenceConfig> *LANDevicesList);
int Stop();
quint64 GetDevicesPresenceCANMask();
QTimer *mLANDevicesPresenceStateUpdateTimer;
COtarcikCan *mProgramPtr;
private:
QList<CLANDeviceMonitor*> mLANMonitorList;
public slots:
void DevicesPresenceUpdateTimerExpired();
};
#endif // LANDEVICESPRESENCEMONITOR_H

View File

@ -19,8 +19,7 @@
#include "QtEndian"
COtarcikCan::COtarcikCan(QObject *parent) : QObject(parent),
TestMonitor("192.168.50.40",32,true,"Test")
COtarcikCan::COtarcikCan(QObject *parent) : QObject(parent)
{
mGPTimer = new QTimer;
connect(mGPTimer,SIGNAL(timeout()),this,SLOT(GPTimerExpired()));
@ -55,6 +54,7 @@ int COtarcikCan::Start()
mMainWindow.mDataLoggingSettingsPage->mProgramHandle = this;
mMainWindow.mGeneralStatusPage->mProgramPtr = this;
mMainWindow.mGeneralStatusPage->mCPUInterface = &mCPUInterface;
mLANDevicesPresenceMonitor.mProgramPtr = this;
// mMainWindow.mCANWatchdogSettingsPage->mProgramHandle = this;
mMainWindow.show();
@ -95,6 +95,9 @@ int COtarcikCan::Start()
mDeviceDetectionConfigParams = *mSystemConfig.GetDeviceDetectionConfig();
mMainWindow.mDataLoggingSettingsPage->SetDeviceConfigSettings(mSystemConfig.GetDeviceDetectionConfig());
mLANDevicesPresenceMonitor.Start(mSystemConfig.GetDeviceDetectionConfig()->GetLANDevicesConfigList());
// mMainWindow.mCANWatchdogSettingsPage->SetCANWatchdogConfig(mSystemConfig.GetCANWatchdogConfig());
// mGPTimer->setSingleShot(false);
@ -120,6 +123,7 @@ int COtarcikCan::Start()
mMainWindow.mCANbusSettingsPage->SetDevicesList(&mCANDevicesList);
connect(&mInternetMonitor,&CInternetMonitor::InternetStateChanged,mMainWindow.mGeneralStatusPage,&CGeneralStatusPage::InternetStatusChanged);
connect(&mInternetMonitor,&CInternetMonitor::InternetStateChanged,mMainWindow.mDataLoggingSettingsPage,&CLoggingSettingsPage::SetInternetPresenceStatus);
mInternetMonitor.Start();
@ -255,6 +259,9 @@ int COtarcikCan::SaveDeviceDetectionSettingsRequest(CDeviceDetectionConfig *Devi
mDeviceDetectionConfigParams = *DeviceDetectconfig;
mSystemConfig.SetDeviceDetectionConfig(DeviceDetectconfig);
mSystemConfig.SaveConfig();
mLANDevicesPresenceMonitor.Stop();
mLANDevicesPresenceMonitor.Start(DeviceDetectconfig->GetLANDevicesConfigList());
return RET_OK;
}
void COtarcikCan::GPTimerExpired()
@ -269,6 +276,7 @@ int COtarcikCan::SetCANConnectionStatusRequest(bool Connected)
int COtarcikCan::SetMQTTConnectionSatusRequest(bool Connected)
{
mMainWindow.mDataLoggingSettingsPage->SetMQTTPresenceStatus(Connected);
return mMainWindow.mGeneralStatusPage->SetMQTTConnectionStatus(Connected);
}
@ -283,6 +291,12 @@ int COtarcikCan::UpdateMQTTBufferingStatusRequest(QString BufferingMode, QString
return RET_OK;
}
int COtarcikCan::UpdateLANDevicesPresenceStatusRequest(QList<bool> LanDevicesStatus)
{
mMainWindow.mDataLoggingSettingsPage->SetLANDevicesPresenceStatus(LanDevicesStatus);
return RET_OK;
}
int COtarcikCan::SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig)
{
mSystemConfig.SetCANWatchdogConfig(CANWatchdogConfig);

View File

@ -12,8 +12,8 @@
#include "ComputerBoardInterface.h"
#include "SysLogger.h"
#include "InternetMonitor.h"
#include "LANDevicesPresenceMonitor.h"
#include "LANDeviceMonitor.h"
class COtarcikCan : public QObject
{
@ -29,8 +29,8 @@ public:
QTimer *mWatchdogTimer;
CSysLogger mSysLogger;
CInternetMonitor mInternetMonitor;
CLANDevicesPresenceMonitor mLANDevicesPresenceMonitor;
CLANDeviceMonitor TestMonitor;
int Start();
@ -46,10 +46,10 @@ public:
int SetCANConnectionStatusRequest(bool Connected);
int SetMQTTConnectionSatusRequest(bool Connected);
int UpdateCANModuleStatusRequest(QString ModuleName, QString ModuleStatus, QString Buffer);
int UpdateMQTTBufferingStatusRequest(QString BufferingMode, QString FIFOSize,QString RemainingTime);
int SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig);
int UpdateLANDevicesPresenceStatusRequest(QList<bool> LanDevicesStatus);

Binary file not shown.

View File

@ -30,6 +30,7 @@ debug/ComputerBoardState.o
debug/DeviceDetectionConfig.o
debug/LANDevicePresenceConfig.o
debug/LANDeviceMonitor.o
debug/LANDevicesPresenceMonitor.o
debug/moc_MainWindow.o
debug/moc_PCANInterface.o
debug/moc_OtarcikCan.o
@ -46,3 +47,4 @@ debug/moc_CANWatchdog.o
debug/moc_SysLogger.o
debug/moc_InternetMonitor.o
debug/moc_LANDeviceMonitor.o
debug/moc_LANDevicesPresenceMonitor.o

View File

@ -30,6 +30,7 @@ release/ComputerBoardState.o
release/DeviceDetectionConfig.o
release/LANDevicePresenceConfig.o
release/LANDeviceMonitor.o
release/LANDevicesPresenceMonitor.o
release/moc_MainWindow.o
release/moc_PCANInterface.o
release/moc_OtarcikCan.o
@ -46,3 +47,4 @@ release/moc_CANWatchdog.o
release/moc_SysLogger.o
release/moc_InternetMonitor.o
release/moc_LANDeviceMonitor.o
release/moc_LANDevicesPresenceMonitor.o

View File

@ -56,13 +56,13 @@ public:
QCheckBox *mWDActiveChkBx;
QLabel *mCANBusFlagsLbl;
QGroupBox *mCANFlagsGroupBox;
QLabel *mInternetPresenceLbl_3;
QLabel *mBITLbl;
QLabel *mWatchdogMsgIDLbl;
QSpinBox *mWatchdogMsgIDSpinBx;
QLabel *mInternetPresenceLbl;
QLabel *mWatchdogMsgIDPrefixLbl;
QComboBox *mInternetPresBitComboBox;
QLabel *mMQTTPresenceLbl_4;
QLabel *mMQTTPresenceLbl;
QComboBox *mMQTTPresenceBitComboBox;
QCheckBox *mDevicePresenceActive1ChkBx;
QLineEdit *mDevicePresenceAdd1LineEdit;
@ -80,6 +80,13 @@ public:
QLineEdit *mDevicePresenceAdd5LineEdit;
QComboBox *mDevicePresenceBit5ComboBox;
QLabel *label_4;
QLabel *mLANDevice1PresStatusLbl;
QLabel *mLANDevice2PresStatusLbl;
QLabel *mLANDevice3PresStatusLbl;
QLabel *mLANDevice4PresStatusLbl;
QLabel *mLANDevice5PresStatusLbl;
QLabel *mMQTTPresenceStatusLbl;
QLabel *mInternetPresenceStatusLbl;
QPushButton *mDevicePresChangeParamsBtn;
QPushButton *mDevicePresCancelBtn;
@ -220,11 +227,11 @@ public:
mCANBusFlagsLbl->setFont(font);
mCANFlagsGroupBox = new QGroupBox(CLoggingSettingsPage);
mCANFlagsGroupBox->setObjectName(QString::fromUtf8("mCANFlagsGroupBox"));
mCANFlagsGroupBox->setGeometry(QRect(1020, 80, 341, 311));
mInternetPresenceLbl_3 = new QLabel(mCANFlagsGroupBox);
mInternetPresenceLbl_3->setObjectName(QString::fromUtf8("mInternetPresenceLbl_3"));
mInternetPresenceLbl_3->setGeometry(QRect(280, 70, 41, 20));
mInternetPresenceLbl_3->setFont(font1);
mCANFlagsGroupBox->setGeometry(QRect(1020, 80, 421, 311));
mBITLbl = new QLabel(mCANFlagsGroupBox);
mBITLbl->setObjectName(QString::fromUtf8("mBITLbl"));
mBITLbl->setGeometry(QRect(190, 70, 51, 20));
mBITLbl->setFont(font1);
mWatchdogMsgIDLbl = new QLabel(mCANFlagsGroupBox);
mWatchdogMsgIDLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDLbl"));
mWatchdogMsgIDLbl->setGeometry(QRect(20, 30, 111, 16));
@ -238,7 +245,7 @@ public:
mWatchdogMsgIDSpinBx->setDisplayIntegerBase(16);
mInternetPresenceLbl = new QLabel(mCANFlagsGroupBox);
mInternetPresenceLbl->setObjectName(QString::fromUtf8("mInternetPresenceLbl"));
mInternetPresenceLbl->setGeometry(QRect(120, 100, 131, 16));
mInternetPresenceLbl->setGeometry(QRect(40, 100, 131, 16));
mInternetPresenceLbl->setFont(font1);
mInternetPresenceLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
mWatchdogMsgIDPrefixLbl = new QLabel(mCANFlagsGroupBox);
@ -248,41 +255,41 @@ public:
mWatchdogMsgIDPrefixLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
mInternetPresBitComboBox = new QComboBox(mCANFlagsGroupBox);
mInternetPresBitComboBox->setObjectName(QString::fromUtf8("mInternetPresBitComboBox"));
mInternetPresBitComboBox->setGeometry(QRect(260, 100, 65, 22));
mInternetPresBitComboBox->setGeometry(QRect(180, 100, 65, 22));
mInternetPresBitComboBox->setMaxCount(63);
mMQTTPresenceLbl_4 = new QLabel(mCANFlagsGroupBox);
mMQTTPresenceLbl_4->setObjectName(QString::fromUtf8("mMQTTPresenceLbl_4"));
mMQTTPresenceLbl_4->setGeometry(QRect(110, 130, 141, 16));
mMQTTPresenceLbl_4->setFont(font1);
mMQTTPresenceLbl_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
mMQTTPresenceLbl = new QLabel(mCANFlagsGroupBox);
mMQTTPresenceLbl->setObjectName(QString::fromUtf8("mMQTTPresenceLbl"));
mMQTTPresenceLbl->setGeometry(QRect(30, 130, 141, 16));
mMQTTPresenceLbl->setFont(font1);
mMQTTPresenceLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
mMQTTPresenceBitComboBox = new QComboBox(mCANFlagsGroupBox);
mMQTTPresenceBitComboBox->setObjectName(QString::fromUtf8("mMQTTPresenceBitComboBox"));
mMQTTPresenceBitComboBox->setGeometry(QRect(260, 130, 65, 22));
mMQTTPresenceBitComboBox->setGeometry(QRect(180, 130, 65, 22));
mMQTTPresenceBitComboBox->setMaxCount(63);
mDevicePresenceActive1ChkBx = new QCheckBox(mCANFlagsGroupBox);
mDevicePresenceActive1ChkBx->setObjectName(QString::fromUtf8("mDevicePresenceActive1ChkBx"));
mDevicePresenceActive1ChkBx->setGeometry(QRect(20, 160, 51, 20));
mDevicePresenceAdd1LineEdit = new QLineEdit(mCANFlagsGroupBox);
mDevicePresenceAdd1LineEdit->setObjectName(QString::fromUtf8("mDevicePresenceAdd1LineEdit"));
mDevicePresenceAdd1LineEdit->setGeometry(QRect(70, 160, 171, 21));
mDevicePresenceAdd1LineEdit->setGeometry(QRect(70, 160, 101, 21));
mDevicePresenceBit1ComboBox = new QComboBox(mCANFlagsGroupBox);
mDevicePresenceBit1ComboBox->setObjectName(QString::fromUtf8("mDevicePresenceBit1ComboBox"));
mDevicePresenceBit1ComboBox->setGeometry(QRect(260, 160, 65, 22));
mDevicePresenceBit1ComboBox->setGeometry(QRect(180, 160, 65, 22));
mDevicePresenceActive2ChkBx = new QCheckBox(mCANFlagsGroupBox);
mDevicePresenceActive2ChkBx->setObjectName(QString::fromUtf8("mDevicePresenceActive2ChkBx"));
mDevicePresenceActive2ChkBx->setGeometry(QRect(20, 190, 51, 20));
mDevicePresenceAdd2LineEdit = new QLineEdit(mCANFlagsGroupBox);
mDevicePresenceAdd2LineEdit->setObjectName(QString::fromUtf8("mDevicePresenceAdd2LineEdit"));
mDevicePresenceAdd2LineEdit->setGeometry(QRect(70, 190, 171, 21));
mDevicePresenceAdd2LineEdit->setGeometry(QRect(70, 190, 101, 21));
mDevicePresenceBit2ComboBox = new QComboBox(mCANFlagsGroupBox);
mDevicePresenceBit2ComboBox->setObjectName(QString::fromUtf8("mDevicePresenceBit2ComboBox"));
mDevicePresenceBit2ComboBox->setGeometry(QRect(260, 190, 65, 22));
mDevicePresenceBit2ComboBox->setGeometry(QRect(180, 190, 65, 22));
mDevicePresenceAdd3LineEdit = new QLineEdit(mCANFlagsGroupBox);
mDevicePresenceAdd3LineEdit->setObjectName(QString::fromUtf8("mDevicePresenceAdd3LineEdit"));
mDevicePresenceAdd3LineEdit->setGeometry(QRect(70, 220, 171, 21));
mDevicePresenceAdd3LineEdit->setGeometry(QRect(70, 220, 101, 21));
mDevicePresenceBit3ComboBox = new QComboBox(mCANFlagsGroupBox);
mDevicePresenceBit3ComboBox->setObjectName(QString::fromUtf8("mDevicePresenceBit3ComboBox"));
mDevicePresenceBit3ComboBox->setGeometry(QRect(260, 220, 65, 22));
mDevicePresenceBit3ComboBox->setGeometry(QRect(180, 220, 65, 22));
mDevicePresenceActive3ChkBx = new QCheckBox(mCANFlagsGroupBox);
mDevicePresenceActive3ChkBx->setObjectName(QString::fromUtf8("mDevicePresenceActive3ChkBx"));
mDevicePresenceActive3ChkBx->setGeometry(QRect(20, 220, 51, 20));
@ -291,23 +298,45 @@ public:
mDevicePresenceActive4ChkBx->setGeometry(QRect(20, 250, 51, 20));
mDevicePresenceBit4ComboBox = new QComboBox(mCANFlagsGroupBox);
mDevicePresenceBit4ComboBox->setObjectName(QString::fromUtf8("mDevicePresenceBit4ComboBox"));
mDevicePresenceBit4ComboBox->setGeometry(QRect(260, 250, 65, 22));
mDevicePresenceBit4ComboBox->setGeometry(QRect(180, 250, 65, 22));
mDevicePresenceAdd4LineEdit = new QLineEdit(mCANFlagsGroupBox);
mDevicePresenceAdd4LineEdit->setObjectName(QString::fromUtf8("mDevicePresenceAdd4LineEdit"));
mDevicePresenceAdd4LineEdit->setGeometry(QRect(70, 250, 171, 21));
mDevicePresenceAdd4LineEdit->setGeometry(QRect(70, 250, 101, 21));
mDevicePresenceActive5ChkBx = new QCheckBox(mCANFlagsGroupBox);
mDevicePresenceActive5ChkBx->setObjectName(QString::fromUtf8("mDevicePresenceActive5ChkBx"));
mDevicePresenceActive5ChkBx->setGeometry(QRect(20, 280, 51, 20));
mDevicePresenceAdd5LineEdit = new QLineEdit(mCANFlagsGroupBox);
mDevicePresenceAdd5LineEdit->setObjectName(QString::fromUtf8("mDevicePresenceAdd5LineEdit"));
mDevicePresenceAdd5LineEdit->setGeometry(QRect(70, 280, 171, 21));
mDevicePresenceAdd5LineEdit->setGeometry(QRect(70, 280, 101, 21));
mDevicePresenceBit5ComboBox = new QComboBox(mCANFlagsGroupBox);
mDevicePresenceBit5ComboBox->setObjectName(QString::fromUtf8("mDevicePresenceBit5ComboBox"));
mDevicePresenceBit5ComboBox->setGeometry(QRect(260, 280, 65, 22));
mDevicePresenceBit5ComboBox->setGeometry(QRect(180, 280, 65, 22));
label_4 = new QLabel(mCANFlagsGroupBox);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setGeometry(QRect(20, 60, 241, 31));
label_4->setGeometry(QRect(290, 20, 121, 51));
label_4->setFont(font1);
label_4->setFrameShape(QFrame::Box);
mLANDevice1PresStatusLbl = new QLabel(mCANFlagsGroupBox);
mLANDevice1PresStatusLbl->setObjectName(QString::fromUtf8("mLANDevice1PresStatusLbl"));
mLANDevice1PresStatusLbl->setGeometry(QRect(250, 160, 47, 14));
mLANDevice2PresStatusLbl = new QLabel(mCANFlagsGroupBox);
mLANDevice2PresStatusLbl->setObjectName(QString::fromUtf8("mLANDevice2PresStatusLbl"));
mLANDevice2PresStatusLbl->setGeometry(QRect(250, 190, 47, 14));
mLANDevice3PresStatusLbl = new QLabel(mCANFlagsGroupBox);
mLANDevice3PresStatusLbl->setObjectName(QString::fromUtf8("mLANDevice3PresStatusLbl"));
mLANDevice3PresStatusLbl->setGeometry(QRect(250, 220, 47, 14));
mLANDevice4PresStatusLbl = new QLabel(mCANFlagsGroupBox);
mLANDevice4PresStatusLbl->setObjectName(QString::fromUtf8("mLANDevice4PresStatusLbl"));
mLANDevice4PresStatusLbl->setGeometry(QRect(250, 250, 47, 14));
mLANDevice5PresStatusLbl = new QLabel(mCANFlagsGroupBox);
mLANDevice5PresStatusLbl->setObjectName(QString::fromUtf8("mLANDevice5PresStatusLbl"));
mLANDevice5PresStatusLbl->setGeometry(QRect(250, 280, 47, 14));
mMQTTPresenceStatusLbl = new QLabel(mCANFlagsGroupBox);
mMQTTPresenceStatusLbl->setObjectName(QString::fromUtf8("mMQTTPresenceStatusLbl"));
mMQTTPresenceStatusLbl->setGeometry(QRect(250, 130, 47, 14));
mInternetPresenceStatusLbl = new QLabel(mCANFlagsGroupBox);
mInternetPresenceStatusLbl->setObjectName(QString::fromUtf8("mInternetPresenceStatusLbl"));
mInternetPresenceStatusLbl->setGeometry(QRect(250, 100, 47, 14));
mDevicePresChangeParamsBtn = new QPushButton(CLoggingSettingsPage);
mDevicePresChangeParamsBtn->setObjectName(QString::fromUtf8("mDevicePresChangeParamsBtn"));
mDevicePresChangeParamsBtn->setGeometry(QRect(1270, 400, 80, 22));
@ -347,19 +376,27 @@ public:
mWDActiveChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Activer watchdog", nullptr));
mCANBusFlagsLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Flags CANbus", nullptr));
mCANFlagsGroupBox->setTitle(QCoreApplication::translate("CLoggingSettingsPage", "Assignations des flags \303\240 un signal CAN", nullptr));
mInternetPresenceLbl_3->setText(QCoreApplication::translate("CLoggingSettingsPage", "BIT", nullptr));
mBITLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "BIT CAN", nullptr));
mWatchdogMsgIDLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "CAN Msg ID (HEX):", nullptr));
mInternetPresenceLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Pr\303\251sence Internet", nullptr));
mWatchdogMsgIDPrefixLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "0x", nullptr));
mMQTTPresenceLbl_4->setText(QCoreApplication::translate("CLoggingSettingsPage", "Pr\303\251sence Serveur MQTT", nullptr));
mMQTTPresenceLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "Pr\303\251sence Serveur MQTT", nullptr));
mMQTTPresenceBitComboBox->setCurrentText(QString());
mDevicePresenceActive1ChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Actif", nullptr));
mDevicePresenceActive2ChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Actif", nullptr));
mDevicePresenceActive3ChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Actif", nullptr));
mDevicePresenceActive4ChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Actif", nullptr));
mDevicePresenceActive5ChkBx->setText(QCoreApplication::translate("CLoggingSettingsPage", "Actif", nullptr));
label_4->setText(QCoreApplication::translate("CLoggingSettingsPage", "Les bits 0 \303\240 30 sont utilis\303\251s pour \n"
"la date et l'heure", nullptr));
label_4->setText(QCoreApplication::translate("CLoggingSettingsPage", "Les bits 0 \303\240 31 sont \n"
"utilis\303\251s pour la date \n"
"et l'heure", nullptr));
mLANDevice1PresStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mLANDevice2PresStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mLANDevice3PresStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mLANDevice4PresStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mLANDevice5PresStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mMQTTPresenceStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mInternetPresenceStatusLbl->setText(QCoreApplication::translate("CLoggingSettingsPage", "OFFLINE", nullptr));
mDevicePresChangeParamsBtn->setText(QCoreApplication::translate("CLoggingSettingsPage", "Modifier", nullptr));
mDevicePresCancelBtn->setText(QCoreApplication::translate("CLoggingSettingsPage", "Annuler", nullptr));
} // retranslateUi