Changement de l'identification des pucks CAN par device ID plutôt que par Handle
This commit is contained in:
@@ -26,7 +26,7 @@ CCANAnalyzer::~CCANAnalyzer()
|
||||
delete mCANReadTimer;
|
||||
}
|
||||
|
||||
int CCANAnalyzer::Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList<CCANMessage *> *MsgList, unsigned int PollPeriod)
|
||||
int CCANAnalyzer::Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList<CCANMessage *> *MsgList, unsigned int PollPeriod)
|
||||
{
|
||||
if(MsgList == 0)
|
||||
{
|
||||
@@ -39,13 +39,22 @@ int CCANAnalyzer::Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANDeviceBaud
|
||||
}
|
||||
|
||||
|
||||
|
||||
mCANDeviceChannel = CANDeviceChannel;
|
||||
mCANPollPeriod = PollPeriod;
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage("Démarrage d'un module CAN...");
|
||||
|
||||
mDeviceMessagesList = MsgList;
|
||||
|
||||
if(mCANDriverIF->Init(mCANDeviceChannel,CANDeviceBaudrate) != RET_OK)
|
||||
if(mCANDriverIF->GetDeviceHandle(mCANDeviceChannel,mCANDeviceHandle) != RET_OK)
|
||||
{
|
||||
QString Log = QString("Impossible de trouver le module CAN avec le channel %1").arg(mCANDeviceChannel);
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(Log,true,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,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
mIsCANInitialized = false;
|
||||
@@ -80,9 +89,9 @@ int CCANAnalyzer::ReadCAN()
|
||||
|
||||
void CCANAnalyzer::CANTimerExpired()
|
||||
{
|
||||
QList<CCANMessage *> NewMessagesList = mCANDriverIF->ReadCANFullBuffer(mCANDeviceChannel);
|
||||
QList<CCANMessage *> NewMessagesList = mCANDriverIF->ReadCANFullBuffer(mCANDeviceHandle);
|
||||
|
||||
// qDebug("CAN Buffer size: %d",NewMessagesList.size());
|
||||
qDebug("CAN Buffer size: %d",NewMessagesList.size());
|
||||
|
||||
|
||||
for(int i = 0 ; i < NewMessagesList.size(); i++)
|
||||
|
||||
@@ -23,14 +23,15 @@ public:
|
||||
QTimer *mCANReadTimer;
|
||||
unsigned int mCANPollPeriod;
|
||||
|
||||
int Init(TPCANHandle CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList<CCANMessage *> *MsgList, unsigned int PollPeriod);
|
||||
int Init(quint8 CANDeviceChannel, TPCANBaudrate CANDeviceBaudrate, QList<CCANMessage *> *MsgList, unsigned int PollPeriod);
|
||||
int ReadCAN();
|
||||
|
||||
QList<CCANMessage *> *mDeviceMessagesList;
|
||||
|
||||
private:
|
||||
bool mIsCANInitialized;
|
||||
TPCANHandle mCANDeviceChannel;
|
||||
TPCANHandle mCANDeviceHandle;
|
||||
quint8 mCANDeviceChannel;
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
@@ -67,14 +67,17 @@ int CCANDevice::Init()
|
||||
mMessagesListLoaded = false;
|
||||
}
|
||||
}
|
||||
|
||||
if(mCANAnalyzer.Init(mDeviceConfigInfo.mCANDeviceID,mDeviceConfigInfo.mCANDeviceBaudrate,&mMessageList,mDeviceConfigInfo.mDevicePollPeriod) != RET_OK)
|
||||
{
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Le dispositif [%1] n'a pas pu s'initialiser").arg(mDeviceConfigInfo.mDeviceName),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_ERROR_STATUS);
|
||||
mProgramPtr->SetCANConnectionStatusRequest(false);
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
mCANDataLogger.SetMQTTTopicDevice(QString("CANBus/%1/").arg(mDeviceConfigInfo.mDeviceName));
|
||||
mCANDataLogger.SetMQTTClient(mCANMQTTClient);
|
||||
mProgramPtr->SetCANConnectionStatusRequest(true);
|
||||
|
||||
CGeneralMessagesLogDispatcher::instance()->AddLogMessage(QString("Dispositif [%1] initialisé avec succès!").arg(mDeviceConfigInfo.mDeviceName),true,CGeneralMessagesLogDispatcher::GEN_MSG_TXT_SUCCESS_STATUS);
|
||||
return RET_OK;
|
||||
|
||||
@@ -11,7 +11,8 @@ public:
|
||||
CCANDeviceConfig();
|
||||
CCANDeviceConfig(CCANDeviceConfig &Other);
|
||||
|
||||
TPCANHandle mCANDeviceID;
|
||||
//TPCANHandle mCANDeviceID;
|
||||
quint8 mCANDeviceID;
|
||||
TPCANBaudrate mCANDeviceBaudrate;
|
||||
QString mCANDeviceDatabaseFilename;
|
||||
QString mDeviceDescription;
|
||||
|
||||
Reference in New Issue
Block a user