50 lines
924 B
C++
50 lines
924 B
C++
#ifndef DEVICECONTROLLERDIAG_H
|
|
#define DEVICECONTROLLERDIAG_H
|
|
|
|
#include <QObject>
|
|
#include <QTimer>
|
|
|
|
#include "ATBMachineEvent.h"
|
|
#include "interfaces.h"
|
|
|
|
class DeviceControllerDiag : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
DeviceControllerDiag(QObject *parent = nullptr);
|
|
|
|
void init(hwinf* hw, QObject* eventReceiver);
|
|
|
|
public slots:
|
|
void diagRequest();
|
|
|
|
signals:
|
|
void diagResponse(ATBMachineEvent* machineEvent);
|
|
|
|
|
|
private:
|
|
QObject *eventReceiver;
|
|
hwinf* hw;
|
|
|
|
bool isRequestRunning;
|
|
bool flagInterruptDiag;
|
|
|
|
QTimer *diagRequestTimeoutTimer;
|
|
|
|
uint8_t sub_componentAssessment();
|
|
uint8_t sys_getSystemErrors();
|
|
|
|
private slots:
|
|
void onDiagRequestTimeoutTimerTimeout();
|
|
|
|
void private_startDiag(); // diag entry method
|
|
void private_finishedDiag(uint8_t result); // diag exit method
|
|
|
|
void sys_superviseSystem();
|
|
|
|
|
|
};
|
|
|
|
#endif // DEVICECONTROLLERDIAG_H
|