Désactivation du driver Axiomtek de marde

This commit is contained in:
2024-08-27 16:47:41 -04:00
parent eeb7eadaf4
commit 5c8a12d84a
24 changed files with 739 additions and 32 deletions
@@ -2,7 +2,9 @@
#include "OtarcikCan.h"
#include "CANDevice.h"
#include "defines.h"
#ifdef ENABLE_CHIPSET_DRIVER
#include "ComputerBoardInterface.h"
#endif
CMQTTClientWrapper::CMQTTClientWrapper()
{
@@ -27,7 +29,9 @@ CMQTTClientWrapper::CMQTTClientWrapper()
mMQTTQueueFlushTimer->stop();
mProgramPtr = 0;
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface = 0;
#endif
mMQTTPresenceCANBit = 0;
mMessagesQueueMode = MQTT_DROP_MSG_MODE;
mDisconnectionIsVoluntary = false;
@@ -53,11 +57,13 @@ int CMQTTClientWrapper::SetMQTTParams(CCloudParams *Params)
return RET_OK;
}
#ifdef ENABLE_CHIPSET_DRIVER
int CMQTTClientWrapper::SetCPUInterface(CComputerBoardInterface *CPUIF)
{
mCPUInterface = CPUIF;
return RET_OK;
}
#endif
int CMQTTClientWrapper::SetMQTTServerPresenceCANBit(quint64 CANBit)
{
@@ -267,10 +273,12 @@ void CMQTTClientWrapper::MQTTSendTimerExpired()
{
CCANDevice *Device = mCANDevicesList->at(j);
QList<CMQTTMessage> *MessagesList = Device->GetMQTTMessagesList();
if(mCPUInterface)
#ifdef ENABLE_CHIPSET_DRIVER
if(mCPUInterface != 0)
{
MessagesList->append(GetSystemStatusMessage());
}
#endif
if(MessagesList != 0)
{
@@ -289,10 +297,12 @@ void CMQTTClientWrapper::MQTTSendTimerExpired()
{
CCANDevice *Device = mCANDevicesList->at(j);
QList<CMQTTMessage> *MessagesList = Device->GetMQTTMessagesList();
if(mCPUInterface)
#ifdef ENABLE_CHIPSET_DRIVER
if(mCPUInterface != 0)
{
MessagesList->append(GetSystemStatusMessage());
}
#endif
if(MessagesList != 0)
{
@@ -433,6 +443,7 @@ void CMQTTClientWrapper::MQTTMessageStatusChanged(qint32 id, QMqtt::MessageStatu
CMQTTMessage CMQTTClientWrapper::GetSystemStatusMessage()
{
#ifdef ENABLE_CHIPSET_DRIVER
if(mCPUInterface != 0)
{
CComputerBoardState tmp = mCPUInterface->GetComputerBoardState();
@@ -456,6 +467,9 @@ CMQTTMessage CMQTTClientWrapper::GetSystemStatusMessage()
{
return CMQTTMessage();
}
#else
return CMQTTMessage();
#endif
}
@@ -29,7 +29,9 @@ public:
CMQTTClientWrapper();
~CMQTTClientWrapper();
int SetMQTTParams(CCloudParams *Params);
#ifdef ENABLE_CHIPSET_DRIVER
int SetCPUInterface(CComputerBoardInterface *CPUIF);
#endif
int SetMQTTServerPresenceCANBit(quint64 CANBit);
int ConnectToBroker();
int NewMQTTMessages(QList<CMQTTMessage> MessagesList);
@@ -59,7 +61,9 @@ private:
QList<CMQTTMessage*> mMQTTMessagesQueue;
bool mIsClientConnecting;
QString mCircularBufferStatusText, mBufferingModeText, mUploadTimeText;
#ifdef ENABLE_CHIPSET_DRIVER
CComputerBoardInterface *mCPUInterface;
#endif
CMQTTMessage GetSystemStatusMessage();
int SendNextQueueMessage();
+11 -3
View File
@@ -1,5 +1,8 @@
#include "ComputerBoardInterface.h"
#include "defines.h"
#ifdef ENABLE_CHIPSET_DRIVER
#include "ComputerBoardInterface.h"
#include "AxUfiAPI.h"
#include "GeneralMessagesLogDispatcher.h"
#include "CPUWatchdogConfig.h"
@@ -13,7 +16,7 @@ CComputerBoardInterface::CComputerBoardInterface()
int CComputerBoardInterface::Init()
{
if(LoadLibrary() == RET_OK)
if(LoadAxiomtekLibrary() == RET_OK)
{
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Librairie Axiomtek chargée avec succès"),"CComputerBoardInterface",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
StopCPUWatchdog();
@@ -27,11 +30,12 @@ int CComputerBoardInterface::Init()
return RET_OK;
}
int CComputerBoardInterface::LoadLibrary()
int CComputerBoardInterface::LoadAxiomtekLibrary()
{
int result, Direction;
Direction = 1;
char libname[] = CPU_LIBRARY_NAME;
// Suppress system error dialogs
result = AxBoardLoadLibrary(libname);
if(result)
{
@@ -62,6 +66,9 @@ int CComputerBoardInterface::DeInit()
{
return RET_OK;
}
#include <windows.h>
int CComputerBoardInterface::StartCPUWatchdog()
{
@@ -182,3 +189,4 @@ CComputerBoardState CComputerBoardInterface::GetComputerBoardState()
return CPUState;
}
#endif
+1 -1
View File
@@ -24,7 +24,7 @@ public:
int SetWatchdogSettings(CCPUWatchdogConfig *Settings);
private:
int LoadLibrary();
int LoadAxiomtekLibrary();
int UnloadLibrary();
int mWatchdogTimeout;
+24 -2
View File
@@ -23,9 +23,14 @@ CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) :
mCPUStateUpdtTimer->setSingleShot(false);
mCPUStateUpdtTimer->setInterval(5000);
connect(mCPUStateUpdtTimer,&QTimer::timeout,this,&CGeneralStatusPage::UpdateBoardStatusTimerExpired);
mCPUStateUpdtTimer->start();
#ifndef ENABLE_CHIPSET_DRIVER
ui->mSystemStateGroupBox->setVisible(false);
#endif
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface = 0;
#endif
#ifndef ENABLE_DEVELOPMENT_DEBUG_TOOLS
ui->mDevDebugToolsGroupBx->hide();
@@ -33,6 +38,8 @@ CGeneralStatusPage::CGeneralStatusPage(QWidget *parent) :
connect(ui->mForceMQTTDisconnectChkBx,&QCheckBox::toggled,this,&CGeneralStatusPage::ForceMQTTDisconnectCheckBoxClicked);
#endif
}
CGeneralStatusPage::~CGeneralStatusPage()
@@ -40,7 +47,15 @@ CGeneralStatusPage::~CGeneralStatusPage()
delete ui;
delete mCPUStateUpdtTimer;
}
#ifdef ENABLE_CHIPSET_DRIVER
int CGeneralStatusPage::SetCPUInterfaceHandle(CComputerBoardInterface *Handle)
{
mCPUInterface = Handle;
mCPUStateUpdtTimer->start();
}
#endif
int CGeneralStatusPage::SetGeneralMsgText(QStringList Txt)
{
Q_UNUSED(Txt)
@@ -211,6 +226,7 @@ void CGeneralStatusPage::QuitAppBtnPressed()
mProgramPtr->QuitApplicationRequest();
}
#ifdef ENABLE_CHIPSET_DRIVER
int CGeneralStatusPage::UpdateBoardStatus(CComputerBoardState CPUState)
{
QString BoardState = QString("System Temp: %1C\nCPU VCore: %2V\nSystem 3.3V: %3V\nSystem 5V: %4V").arg(CPUState.mSystemTemperature).arg(CPUState.mCPUVcore).arg(CPUState.mSystem3V3).arg(CPUState.mSystem5V);
@@ -218,6 +234,7 @@ int CGeneralStatusPage::UpdateBoardStatus(CComputerBoardState CPUState)
return RET_OK;
}
#endif
void CGeneralStatusPage::InternetStatusChanged(bool InternetConnected)
{
@@ -239,7 +256,12 @@ void CGeneralStatusPage::InternetStatusChanged(bool InternetConnected)
void CGeneralStatusPage::UpdateBoardStatusTimerExpired()
{
UpdateBoardStatus(mCPUInterface->GetComputerBoardState());
#ifdef ENABLE_CHIPSET_DRIVER
if(mCPUInterface != 0)
{
UpdateBoardStatus(mCPUInterface->GetComputerBoardState());
}
#endif
}
#ifdef ENABLE_DEVELOPMENT_DEBUG_TOOLS
+9 -1
View File
@@ -3,7 +3,9 @@
#include <QWidget>
#include "defines.h"
#ifdef ENABLE_CHIPSET_DRIVER
#include "ComputerBoardInterface.h"
#endif
#include <QTimer>
@@ -30,12 +32,16 @@ public:
COtarcikCan *mProgramPtr;
QTimer *mCPUStateUpdtTimer;
#ifdef ENABLE_CHIPSET_DRIVER
CComputerBoardInterface *mCPUInterface;
#endif
explicit CGeneralStatusPage(QWidget *parent = 0);
~CGeneralStatusPage();
#ifdef ENABLE_CHIPSET_DRIVER
int SetCPUInterfaceHandle(CComputerBoardInterface *Handle);
#endif
int SetGeneralMsgText(QStringList Txt);
int AddGeneralMsgBoxLineEntry(QString LineTxt);
@@ -44,7 +50,9 @@ public:
int UpdateCANModuleStatus(QString ModuleName, QString ModuleStatus, QString Buffer);
int ClearCANModuleStatusTable();
int UpdateMQTTBufferingStatus(QString Mode, QString FIFOSize, QString RemainingTime);
#ifdef ENABLE_CHIPSET_DRIVER
int UpdateBoardStatus(CComputerBoardState CPUState);
#endif
private:
+4 -1
View File
@@ -251,7 +251,7 @@
</property>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox">
<widget class="QGroupBox" name="mSystemStateGroupBox">
<property name="geometry">
<rect>
<x>1210</x>
@@ -286,6 +286,9 @@
</widget>
</widget>
<widget class="QGroupBox" name="mDevDebugToolsGroupBx">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>1489</x>
@@ -74,6 +74,11 @@ CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) :
// ui->mDevicePresenceBit4ComboBox->addItems(BitsList);
// ui->mDevicePresenceBit5ComboBox->addItems(BitsList);
#ifndef ENABLE_CHIPSET_DRIVER
ui->mWDActiveChkBx->setEnabled(false);
ui->mWDTimerTimeoutSpinBx->setEnabled(false);
#endif
mDevicePresenceEditMode = false;
connect(ui->mCancelBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::CancelBtnPressed);
+1 -1
View File
@@ -22,7 +22,7 @@ CMainWindow::CMainWindow(QWidget *parent) :
ui(new Ui::CMainWindow)
{
ui->setupUi(this);
QMainWindow::statusBar()->showMessage("V1.05");
QMainWindow::statusBar()->showMessage("V1.06");
mGeneralStatusPage = new CGeneralStatusPage(this);
mMainWindowWidget = new QTabWidget(this);
+24 -5
View File
@@ -53,7 +53,10 @@ int COtarcikCan::Start()
mMainWindow.mCANbusSettingsPage->mProgramPtr = this;
mMainWindow.mDataLoggingSettingsPage->mProgramHandle = this;
mMainWindow.mGeneralStatusPage->mProgramPtr = this;
mMainWindow.mGeneralStatusPage->mCPUInterface = &mCPUInterface;
// mMainWindow.mGeneralStatusPage->mCPUInterface = &mCPUInterface; //JFM 2024-08-27 disable Axiomtek driver
#ifdef ENABLE_CHIPSET_DRIVER
mMainWindow.mGeneralStatusPage->SetCPUInterfaceHandle(&mCPUInterface);
#endif
mLANDevicesPresenceMonitor.mProgramPtr = this;
// mMainWindow.mCANWatchdogSettingsPage->mProgramHandle = this;
@@ -62,8 +65,9 @@ int COtarcikCan::Start()
mSysLogger.Start("10.8.0.6",514);
CGeneralMessagesLogDispatcher::instance()->BindGuiPageHandle(mMainWindow.mGeneralStatusPage);
CGeneralMessagesLogDispatcher::instance()->Init(&mSysLogger);
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.Init();
#endif
if(mSystemConfig.LoadConfig() == RET_OK)
{
@@ -82,7 +86,9 @@ int COtarcikCan::Start()
mMainWindow.mDataLoggingSettingsPage->SetCloudParams(&mCloudLoggingParams);
mCANBusMQTTClient.SetMQTTParams(&mCloudLoggingParams);
mCANBusMQTTClient.SetCANDevicesList(&mCANDevicesList);
#ifdef ENABLE_CHIPSET_DRIVER
mCANBusMQTTClient.SetCPUInterface(&mCPUInterface);
#endif
mCANBusMQTTClient.SetMQTTServerPresenceCANBit(mSystemConfig.GetDeviceDetectionConfig()->mMQTTDetectionCANStatusBit);
mGeneralSystemParams = *mSystemConfig.GetGeneralSystemSettings();
@@ -90,7 +96,9 @@ int COtarcikCan::Start()
CGeneralMessagesLogDispatcher::instance()->SetLogVerbosities(mGeneralSystemParams.mLogFileVerbosity,mGeneralSystemParams.mLocalLogVerbosity);
mCPUWatchdogParams = *mSystemConfig.GetCPUWatchdogSettings();
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.SetWatchdogSettings(&mCPUWatchdogParams);
#endif
mMainWindow.mDataLoggingSettingsPage->SetCPUWatchdogSettings(mSystemConfig.GetCPUWatchdogSettings());
mDeviceDetectionConfigParams = *mSystemConfig.GetDeviceDetectionConfig();
@@ -109,16 +117,23 @@ int COtarcikCan::Start()
// mGPTimer->setSingleShot(false);
// mGPTimer->start(5000);
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.StartCPUWatchdog();
mWatchdogTimer->start();
mMainWindow.mGeneralStatusPage->UpdateBoardStatusTimerExpired();
#endif
}
else
{
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.StartCPUWatchdog();
mWatchdogTimer->start();
#endif
}
@@ -249,14 +264,14 @@ int COtarcikCan::SaveCPUWatchdogSettingsRequest(CCPUWatchdogConfig *CPUWatchdogP
mCPUWatchdogParams = *CPUWatchdogParams;
mSystemConfig.SetCPUWatchdogPArams(&mCPUWatchdogParams);
mSystemConfig.SaveConfig();
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.SetWatchdogSettings(&mCPUWatchdogParams);
mCPUInterface.StopCPUWatchdog();
if(mCPUWatchdogParams.mWatchdogEnabled == true)
{
mCPUInterface.StartCPUWatchdog();
}
#endif
return RET_OK;
}
@@ -313,15 +328,19 @@ int COtarcikCan::SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogC
void COtarcikCan::WatchdogUpdateTimerExpired() //Time to kick the CPU watchdog
{
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.KickCPUWatchdog();
#endif
}
void COtarcikCan::QuitApplicationRequest()
{
qDebug("Quit app request");
mWatchdogTimer->stop();
#ifdef ENABLE_CHIPSET_DRIVER
mCPUInterface.StopCPUWatchdog();
mCPUInterface.DeInit();
#endif
QCoreApplication::exit(69);
}
+4
View File
@@ -9,7 +9,9 @@
#include <QList>
#include "SystemConfig.h"
#include "MQTTClientWrapper.h"
#ifdef ENABLE_CHIPSET_DRIVER
#include "ComputerBoardInterface.h"
#endif
#include "SysLogger.h"
#include "InternetMonitor.h"
#include "LANDevicesPresenceMonitor.h"
@@ -25,7 +27,9 @@ public:
CSystemConfig mSystemConfig;
CMQTTClientWrapper mCANBusMQTTClient;
QTimer *mGPTimer;
#ifdef ENABLE_CHIPSET_DRIVER
CComputerBoardInterface mCPUInterface;
#endif
QTimer *mWatchdogTimer;
CSysLogger mSysLogger;
CInternetMonitor mInternetMonitor;
+4 -1
View File
@@ -17,7 +17,10 @@
#define MAX_NB_LAN_DEVICE_DETECTION 5
#define ENABLE_DEVELOPMENT_DEBUG_TOOLS
#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_DEVELOPMENT_DEBUG_TOOLS
enum eOtarcikGeneralReturns
{