Fuck-up de config...

This commit is contained in:
2023-07-31 12:07:34 -04:00
parent 41b19a7b58
commit 2cdb87405c
22 changed files with 547 additions and 594 deletions
+33 -26
View File
@@ -7,8 +7,8 @@
CCANAnalyzer::CCANAnalyzer(QObject *parent) : QObject(parent)
{
mCANDriverIF = new CPCANInterface;
mIsCANInitialized = false;
// mCANDriverIF = new CPCANInterface;
// mIsCANInitialized = false;
mDevicePtr = 0;
mDeviceMessagesList = 0;
mCANPollPeriod = 0;
@@ -17,16 +17,18 @@ CCANAnalyzer::CCANAnalyzer(QObject *parent) : QObject(parent)
mCANReadTimer->setInterval(1000);
mCANReadTimer->setSingleShot(true);
connect(mCANReadTimer,SIGNAL(timeout()),this,SLOT(CANTimerExpired()));
mCANDriverIF = 0;
}
CCANAnalyzer::~CCANAnalyzer()
{
mCANDriverIF->DeInit();
delete mCANDriverIF;
// mCANDriverIF->DeInit();
// delete mCANDriverIF;
delete mCANReadTimer;
}
int CCANAnalyzer::Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList<CCANMessage *> *MsgList, unsigned int PollPeriod)
int CCANAnalyzer::Init(CPCANInterface *CANDriverIF, quint8 CANDeviceChannel, QList<CCANMessage *> *MsgList, unsigned int PollPeriod)
{
if(MsgList == 0)
{
@@ -38,33 +40,35 @@ int CCANAnalyzer::Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate,
qDebug("CANAnalyzer:: Trying to init with poll period lower tan 200ms");
}
mCANDeviceChannel = CANDeviceChannel;
mCANPollPeriod = PollPeriod;
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN...");
mCANDriverIF = CANDriverIF;
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN...");
mDeviceMessagesList = MsgList;
if(mCANDriverIF->GetDeviceHandle(mCANDeviceChannel,mCANDeviceHandle) != RET_OK)
{
QString Log = QString("Impossible de trouver le module CAN sur le channel %1").arg(mCANDeviceChannel);
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
mIsCANInitialized = false;
return RET_GENERAL_ERROR;
}
// if(mCANDriverIF->GetDeviceHandle(mCANDeviceChannel,mCANDeviceHandle) != RET_OK)
// {
// QString Log = QString("Impossible de trouver le module CAN sur le channel %1").arg(mCANDeviceChannel);
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
// mIsCANInitialized = false;
// return RET_GENERAL_ERROR;
// }
if(mCANDriverIF->Init(mCANDeviceHandle,CANDeviceBaudrate) != RET_OK)
{
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser le matériel CAN",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
mIsCANInitialized = false;
return RET_GENERAL_ERROR;
}
else
{
mCANReadTimer->start(mCANPollPeriod);
mIsCANInitialized = true;
}
// if(mCANDriverIF->Init(mCANDeviceHandle,CANDeviceBaudrate) != RET_OK)
// {
// CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser le matériel CAN",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
// mIsCANInitialized = false;
// return RET_GENERAL_ERROR;
// }
// else
// {
// mCANReadTimer->start(mCANPollPeriod);
// mIsCANInitialized = true;
// }
mCANReadTimer->start(mCANPollPeriod);
// mIsCANInitialized = true;
return RET_OK;
}
@@ -89,6 +93,9 @@ int CCANAnalyzer::ReadCAN()
void CCANAnalyzer::CANTimerExpired()
{
if(mCANDriverIF == 0)
return;
QList<CCANMessage *> NewMessagesList = mCANDriverIF->ReadCANFullBuffer(mCANDeviceHandle);
int BufferSize = NewMessagesList.size();
+1 -1
View File
@@ -23,7 +23,7 @@ public:
QTimer *mCANReadTimer;
unsigned int mCANPollPeriod;
int Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList<CCANMessage *> *MsgList, unsigned int PollPeriod);
int Init(CPCANInterface *CANDriverIF,quint8 CANDeviceChannel, QList<CCANMessage *> *MsgList, unsigned int PollPeriod);
int ReadCAN();
QList<CCANMessage *> *mDeviceMessagesList;
+28 -1
View File
@@ -23,11 +23,15 @@ CCANDevice::CCANDevice(CCANDeviceConfig &SysConfig, CMQTTClientWrapper *MQTTClie
mDeviceConfigInfo = SysConfig;
mCANMQTTClient = MQTTClient;
mDeviceTopicPrefix = DeviceTopicPrefix;
mCANDriverIF = 0;
}
CCANDevice::~CCANDevice()
{
mCANDriverIF->DeInit();
delete mCANDriverIF;
while (!mMessageList.isEmpty())
{
delete mMessageList.takeFirst();
@@ -42,8 +46,29 @@ int CCANDevice::Init()
return RET_GENERAL_ERROR;
}
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Initialisation du dispositif [%1]").arg(mDeviceConfigInfo.mDeviceName));
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN...");
mCANDriverIF = new CPCANInterface;
if(mCANDriverIF->GetDeviceHandle(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate) != RET_OK)
{
QString Log = QString("Impossible de trouver le module CAN sur le channel %1").arg(mDeviceConfigInfo.mCANDeviceID);
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
mIsCANInitialized = false;
return RET_GENERAL_ERROR;
}
if(mCANDriverIF->Init(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate) != RET_OK)
{
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Impossible d'initialiser le matériel CAN",true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
mIsCANInitialized = false;
return RET_GENERAL_ERROR;
}
mIsCANInitialized = true;
if(mCANDatabase.Init(mDeviceConfigInfo.mCANDeviceDatabaseFilename) == RET_OK)
{
if(mCANDatabase.BuildMessageList(&mMessageList,mDeviceConfigInfo.mDeviceName) == RET_OK)
@@ -56,7 +81,9 @@ int CCANDevice::Init()
}
}
if(mCANAnalyzer.Init(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK)
// if(mCANAnalyzer.Init(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK)
if(mCANAnalyzer.Init(mCANDriverIF,mDeviceConfigInfo.mCANDeviceID,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK)
{
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Le dispositif [%1] n'a pas pu s'initialiser").arg(mDeviceConfigInfo.mDeviceName),true,1,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
mProgramPtr->SetCANConnectionStatusRequest(false);
+3
View File
@@ -49,6 +49,9 @@ public:
private:
bool mConfigSet;
CPCANInterface *mCANDriverIF;
bool mIsCANInitialized;
signals:
@@ -31,8 +31,7 @@ QDataStream &operator>>(QDataStream &in, CCANDeviceConfig &dest)
>> dest.mDevicePollPeriod
>> dest.mDeviceWatchdogActivated
>> dest.mWatchdogCANMsgID
>> dest.mWatchdogPeriod
;
>> dest.mWatchdogPeriod;
return in;
}
@@ -46,8 +45,7 @@ QDataStream &operator<<(QDataStream &out, const CCANDeviceConfig &source)
<< source.mDevicePollPeriod
<< source.mDeviceWatchdogActivated
<< source.mWatchdogCANMsgID
<< source.mWatchdogPeriod
;
<< source.mWatchdogPeriod;
return out;
}
@@ -2,7 +2,8 @@
CCANWatchdogConfig::CCANWatchdogConfig()
{
mCANDeviceBaudrate = 0;
mCANDeviceID = 0;
}
CCANWatchdogConfig& CCANWatchdogConfig::operator=(const CCANWatchdogConfig &source)