|
- #ifndef CABLETESTENGINE_H
- #define CABLETESTENGINE_H
- #include "Cable.h"
- #include <QTimer>
- #include "InputConnector.h"
- #include "OutputConnector.h"
- #include <QElapsedTimer>
- #include "TestReport.h"
-
- class CCableTestBench;
-
- #define TEST_ENGINE_SM_STANDBY_TIMEOUT 300 //ms
- #define TEST_ENGINE_SM_TIMEOUT 100 //ms
-
- class CCableTestEngine : public QObject
- {
- Q_OBJECT
- public:
-
- enum eCableTestEngineMode
- {
- CABLE_TEST_STBY_MODE,
- CABLE_AUTO_TEST_RUNNING_MODE,
- CABLE_AUTO_TEST_PAUSED_MODE,
- CABLE_TEST_MANUAL_MODE
- };
-
- CCableTestEngine();
- ~CCableTestEngine();
- int InitCableTestEngine(CCableTestBench *ProgramHandle, int PinHoldTime);
-
- int StartAutomatedTest();
- int PauseAutomatedTest();
- int ResumeAutomatedTest();
- int StopAutomatedTest();
- int StartManualTest();
- int StopManualTest();
- int ManualPinToggle(int ConnectorPinNbr);
-
- int SetPinHoldTime(int HoldTime);
-
- bool IsAutomaticTestRunning();
- eCableTestEngineMode GetTestEngineCurrentMode();
-
-
- private:
-
- enum eCableTestState
- {
- CABLE_TEST_INIT_STATE,
- CABLE_TEST_STBY_STATE,
- CABLE_TEST_START_AUTOMATED_TEST_STATE,
- CABLE_AUTO_TEST_SELF_TEST_STATE,
- CABLE_AUTO_TEST_PINS_STATE,
- CABLE_AUTO_TEST_PAUSE_STATE,
- CABLE_AUTO_TEST_END_TEST_STATE,
- CABLE_TEST_START_MANUAL_TEST_STATE,
- CABLE_MANUAL_TEST_PINS_STATE,
- CABLE_MANUAL_TEST_END_TEST_STATE
- };
-
- enum eCableTestSMEvents
- {
- CABLE_TEST_START_AUTO_TEST_SM_EVENT,
- CABLE_TEST_TICK_SM_EVENT,
- CABLE_TEST_PAUSE_AUTO_TEST_SM_EVENT,
- CABLE_TEST_RESUME_AUTO_TEST_SM_EVENT,
- CABLE_TEST_CANCEL_AUTO_TEST_SM_EVENT,
- CABLE_TEST_START_MANUAL_TEST_SM_EVENT,
- CABLE_TEST_EXIT_MANUAL_TEST_SM_EVENT
-
- };
-
- CCable *mTestCable;
- int mCableTestSMState;
- CCableTestBench *mProgramHandle;
- CInputConnector *mTestInputConnectorHandle;
- COutputConnector *mTestOutputConnectorHandle;
- int mCurPinUnderTest;
- int mPinHoldTime;
-
- QTimer *mCableTestSMTimer;
- QElapsedTimer mCableTestGPTimer;
- CAutomatedTestReport *mAutoTestReportHandle;
- CTestReport *mTestReportHandle;
-
- void CableTestEngineStateMachine(int Event);
-
-
-
-
- public slots:
- void SMTimerExpired();
-
-
- };
-
- #endif // CABLETESTENGINE_H
|