Fuck-up de config...
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user