YULTek/Otarcik_CAN/Sources/CANDevice.h
2023-01-23 21:22:40 -05:00

57 lines
1.3 KiB
C++

#ifndef CANDEVICE_H
#define CANDEVICE_H
#include "defines.h"
#include <QObject>
#include "CANAnalyzer.h"
#include "CANMessage.h"
#include "PCANInterface.h"
#include "CANDatabase.h"
#include <QList>
#include "PCANBasic.h"
class COtarcikCan;
class CCANDevice : public QObject
{
Q_OBJECT
public:
explicit CCANDevice(QObject *parent = 0);
CCANDevice(CCANDevice &Other);
~CCANDevice();
int Init(QString DatabaseFileName, TPCANHandle CANDeviceID, TPCANBaudrate CANDeviceBaudRate, QString DevDescription, QString DeviceName, unsigned int DevicePollPeriod);
int Init();
public:
TPCANHandle mCANDeviceID;
TPCANBaudrate mCANDeviceBaudrate;
QString mCANDeviceDatabaseFilename;
QString mDeviceDescription;
QString mDeviceName;
COtarcikCan *mProgramPtr;
unsigned int mDevicePollPeriod;
bool mMessagesListLoaded;
CCANAnalyzer mCANAnalyzer; //The module that handles the USB puck and decodes the data
CCANDatabase mCANDatabase; //The device's database loaded from dbc file
QList<CCANMessage*> mMessageList;
CCANDevice &operator=(const CCANDevice *source);
int NewMessageParsed();
private:
bool mConfigSet;
signals:
public slots:
};
QDataStream &operator<<(QDataStream &out, const CCANDevice &source);
QDataStream &operator>>(QDataStream &in, CCANDevice &dest);
#endif // CANDEVICE_H