| | |
| | | |
| | | CMaster::CMaster() |
| | | { |
| | | m_listener = {nullptr, nullptr, nullptr}; |
| | | m_listener = {nullptr, nullptr, nullptr, nullptr}; |
| | | m_bDataModify = FALSE; |
| | | m_hEventReadBitsThreadExit[0] = ::CreateEvent(NULL, TRUE, FALSE, NULL); |
| | | m_hEventReadBitsThreadExit[1] = ::CreateEvent(NULL, TRUE, FALSE, NULL); |
| | |
| | | m_listener.onEqAlive = listener.onEqAlive; |
| | | m_listener.onEqCimStateChanged = listener.onEqCimStateChanged; |
| | | m_listener.onEqAlarm = listener.onEqAlarm; |
| | | m_listener.onEqVcrEventReport = listener.onEqVcrEventReport; |
| | | } |
| | | |
| | | int CMaster::init() |
| | |
| | | CEquipment* p = (CEquipment*)pEquipment; |
| | | if (m_listener.onEqAlarm != nullptr) { |
| | | m_listener.onEqAlarm(this, p, state, alarmId, unitId, level); |
| | | } |
| | | }; |
| | | listener.onVcrEventReport = [&](void* pEquipment, void* pReport) -> void { |
| | | CEquipment* p = (CEquipment*)pEquipment; |
| | | CVcrEventReport* p2 = (CVcrEventReport*)pReport; |
| | | if (m_listener.onEqVcrEventReport != nullptr) { |
| | | m_listener.onEqVcrEventReport(this, p, p2); |
| | | } |
| | | }; |
| | | listener.onDataChanged = [&](void* pEquipment, int code) -> void { |
| | |
| | | } |
| | | } |
| | | { |
| | | // VCR1 Event Report |
| | | CEqVcrEventStep* pStep = new CEqVcrEventStep(); |
| | | pStep->setName(STEP_EQ_VCR1_EVENT_REPORT); |
| | | pStep->setWriteSignalDev(0x4a); |
| | | pStep->setVcrEventReportDev(0x5fef); |
| | | if (pEquipment->addStep(STEP_ID_VCR1_EVENT_REPORT, pStep) != 0) { |
| | | delete pStep; |
| | | } |
| | | } |
| | | { |
| | | CEqCimMessageClearStep* pStep = new CEqCimMessageClearStep(); |
| | | pStep->setName(STEP_CIM_MESSAGE_CLEAR); |
| | | pStep->setWriteSignalDev(0x72); |