Changement du mode de transmission du buffer de messages MQTT au mode timer.

This commit is contained in:
jfmartel 2025-05-01 15:45:08 -04:00
parent 5c8a12d84a
commit 66861a4937
10 changed files with 128 additions and 25679 deletions

Binary file not shown.

View File

@ -3702,3 +3702,45 @@ Démarrage du logiciel Otarcik CAN le 2024-07-18 à 06:27:00
2024-07-18 06:27:00 Initialisation du dispositif [MasterCAN] 2024-07-18 06:27:00 Initialisation du dispositif [MasterCAN]
2024-07-18 06:27:00 Démarrage d'un module CAN... 2024-07-18 06:27:00 Démarrage d'un module CAN...
2024-07-18 06:27:00 Impossible de trouver le module CAN sur le channel 1 2024-07-18 06:27:00 Impossible de trouver le module CAN sur le channel 1
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-09-02 à 17:20:41
********************************************************************
2024-09-02 17:20:41 Librairie Axiomtek chargée avec succès
2024-09-02 17:20:41 Watchdog CPU arrêté
2024-09-02 17:20:41 Chargement de la configuration système...
2024-09-02 17:20:41 Configuration système chargée avec succès!
2024-09-02 17:20:41 Initialisation du dispositif [MasterCAN]
2024-09-02 17:20:41 Démarrage d'un module CAN...
2024-09-02 17:20:41 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-09-02 17:20:42 Initialisation d'un module PCAN. Handle:0x51, Baudrate:284
2024-09-02 17:20:42 Module PCAN USB initialisé avec succès
2024-09-02 17:20:42 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/Exec/Config/PCtelemetrie20230822.dbc
2024-09-02 17:20:42 Base de données chargée avec succès. Flags: 0x0
2024-09-02 17:20:42 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-09-02 à 17:21:34
********************************************************************
2024-09-02 17:21:34 Chargement de la configuration système...
2024-09-02 17:21:34 Configuration système chargée avec succès!
2024-09-02 17:21:34 Initialisation du dispositif [MasterCAN]
2024-09-02 17:21:34 Démarrage d'un module CAN...
2024-09-02 17:21:34 Module PCAN trouvé à l'adresse 1 avec le handle 0x51
2024-09-02 17:21:34 Initialisation d'un module PCAN. Handle:0x51, Baudrate:284
2024-09-02 17:21:34 Module PCAN USB initialisé avec succès
2024-09-02 17:21:34 Chargement de la base de données D:/Main/Dev/YULTek/Otarcik_CAN/Exec/Config/PCtelemetrie20230822.dbc
2024-09-02 17:21:34 Base de données chargée avec succès. Flags: 0x0
2024-09-02 17:21:34 Dispositif [MasterCAN] initialisé avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2025-02-21 à 12:46:52
********************************************************************
2025-02-21 12:46:52 Chargement de la configuration système...
2025-02-21 12:46:52 Configuration système chargée avec succès!
2025-02-21 12:46:52 Initialisation du dispositif [MasterCAN]
2025-02-21 12:46:52 Démarrage d'un module CAN...
2025-02-21 12:46:52 Impossible de trouver le module CAN sur le channel 1

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -375,7 +375,7 @@ int CMQTTClientWrapper::SendNextQueueMessage()
} }
CMQTTMessage *Msg = mMQTTMessagesQueue.takeFirst(); CMQTTMessage *Msg = mMQTTMessagesQueue.takeFirst();
mMQTTClient.publish(Msg->mMessageTopic,Msg->mMessagePayload.toLocal8Bit(),1,true); mMQTTClient.publish(Msg->mMessageTopic,Msg->mMessagePayload.toLocal8Bit(),1,true);
QString LogMsg = QString("Envoi d'un message MQTT provenant du buffer. Topic: %1 Payload: %2 FIFO Size: %3").arg(Msg->mMessageTopic).arg(Msg->mMessagePayload).arg(mMQTTMessagesQueue.size()); QString LogMsg = QString("Envoi d'un message MQTT provenant du buffer. Topic: %1 Payload: %2 FIFO Size: %2").arg(Msg->mMessageTopic).arg(Msg->mMessagePayload).arg(mMQTTMessagesQueue.size());
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3); CGeneralMessagesLogDispatcher::instance()->AddLogMessage(LogMsg,"CMQTTClientWrapper",true,3);
delete Msg; //free memory delete Msg; //free memory

View File

@ -58,7 +58,7 @@ int CGeneralMessagesLogDispatcher::Init(CSysLogger *SysLoggerPtr)
QString temp; QString temp;
mSystemLogFile->write("\n\n"); mSystemLogFile->write("\n\n");
mSystemLogFile->write(QString("********************************************************************\n").toUtf8()); mSystemLogFile->write(QString("********************************************************************\n").toUtf8());
mSystemLogFile->write(QString("Démarrage du logiciel Otarcik CAN le %1 à %2\n").arg(QDateTime::currentDateTime().date().toString("yyyy-MM-dd")).arg(QDateTime::currentDateTime().time().toString("hh:mm:ss")).toUtf8()); mSystemLogFile->write(QString("Démarrage du logiciel Otarcik CAN version %3 le %1 à %2\n").arg(QDateTime::currentDateTime().date().toString("yyyy-MM-dd")).arg(QDateTime::currentDateTime().time().toString("hh:mm:ss")).arg(SOFTWARE_VERSION).toUtf8());
mSystemLogFile->write(QString("********************************************************************\n").toUtf8()); mSystemLogFile->write(QString("********************************************************************\n").toUtf8());
} }

View File

@ -17,12 +17,13 @@
#include "MainWindow.h" #include "MainWindow.h"
#include "ui_MainWindow.h" #include "ui_MainWindow.h"
CMainWindow::CMainWindow(QWidget *parent) : CMainWindow::CMainWindow(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::CMainWindow) ui(new Ui::CMainWindow)
{ {
ui->setupUi(this); ui->setupUi(this);
QMainWindow::statusBar()->showMessage("V1.06"); QMainWindow::statusBar()->showMessage(SOFTWARE_VERSION);
mGeneralStatusPage = new CGeneralStatusPage(this); mGeneralStatusPage = new CGeneralStatusPage(this);
mMainWindowWidget = new QTabWidget(this); mMainWindowWidget = new QTabWidget(this);

View File

@ -2,15 +2,16 @@
#define DEFINES_H #define DEFINES_H
#define SOFTWARE_VERSION "1.07-DBG"
#define GENERAL_MESSAGES_MAX_LOG_LINES 5000 //The number of lines of general status log we keep in the general status window (avoids fucking up because you know.... RAM) #define GENERAL_MESSAGES_MAX_LOG_LINES 5000 //The number of lines of general status log we keep in the general status window (avoids fucking up because you know.... RAM)
#define GENERAL_MESSAGES_SEND_TO_STDOUT //Comment this line to avoid printing log messages using qDebug. #define GENERAL_MESSAGES_SEND_TO_STDOUT //Comment this line to avoid printing log messages using qDebug.
#define MQTT_CLIENT_RECONNECT_TIMEOUT 5000 //Time in ms between reconnect attemps to MQTT broker when connection is lost #define MQTT_CLIENT_RECONNECT_TIMEOUT 5000 //Time in ms between reconnect attemps to MQTT broker when connection is lost
#define MQTT_CLIENT_MSG_QUEUE_FLUSH_TIMEOUT 500 //The delay in ms between the TX messages when flushing the msg queue after a server reconnection #define MQTT_CLIENT_MSG_QUEUE_FLUSH_TIMEOUT 50 //The delay in ms between the TX messages when flushing the msg queue after a server reconnection
#define MQTT_CLIENT_MSG_QUEUE_SIZE 5000 //The maximum number of messages to be queued. Older messages are lost when adding a new one in a full queue #define MQTT_CLIENT_MSG_QUEUE_SIZE 5000 //The maximum number of messages to be queued. Older messages are lost when adding a new one in a full queue
#define MQTT_TIMESTAMP_IN_PAYLOAD //Defining this adds the local timestamp to each MQTT payloads. #define MQTT_TIMESTAMP_IN_PAYLOAD //Defining this adds the local timestamp to each MQTT payloads.
//#define MQTT_USE_TIMER_TO_FLUSH_QUEUE //Use a timer based transmission of MQTT msgs while emtpying the queue instead of the "MessageSent" event. #define MQTT_USE_TIMER_TO_FLUSH_QUEUE //Use a timer based transmission of MQTT msgs while emtpying the queue instead of the "MessageSent" event.
#define USE_TOPIC_PREFIX #define USE_TOPIC_PREFIX
#define FORCE_FLOAT_REPRESENTATION #define FORCE_FLOAT_REPRESENTATION
@ -20,7 +21,7 @@
#undef ENABLE_CHIPSET_DRIVER #undef ENABLE_CHIPSET_DRIVER
//#define ENABLE_CHIPSET_DRIVER //POUR ACTIVER LE DRIVER, IL FAUT INCLURE LA LIBRAIRIE AXIOMTEK DANS LE .PRO (pis oublie pas de faire clean / run qMake)... //#define ENABLE_CHIPSET_DRIVER //POUR ACTIVER LE DRIVER, IL FAUT INCLURE LA LIBRAIRIE AXIOMTEK DANS LE .PRO (pis oublie pas de faire clean / run qMake)...
//#define ENABLE_DEVELOPMENT_DEBUG_TOOLS #define ENABLE_DEVELOPMENT_DEBUG_TOOLS
enum eOtarcikGeneralReturns enum eOtarcikGeneralReturns
{ {

View File

@ -5472,3 +5472,10 @@ Démarrage du logiciel Otarcik CAN le 2024-07-18 à 06:05:26
2024-07-18 06:05:26 Watchdog CPU arrêté 2024-07-18 06:05:26 Watchdog CPU arrêté
2024-07-18 06:05:26 Chargement de la configuration système... 2024-07-18 06:05:26 Chargement de la configuration système...
2024-07-18 06:05:26 Configuration système chargée avec succès! 2024-07-18 06:05:26 Configuration système chargée avec succès!
********************************************************************
Démarrage du logiciel Otarcik CAN le 2024-09-02 à 17:44:21
********************************************************************
2024-09-02 17:44:21 Chargement de la configuration système...
2024-09-02 17:44:21 Configuration système chargée avec succès!

Binary file not shown.