#include "stdafx.h" #include "CAligner.h" namespace SERVO { CAligner::CAligner() : CEquipment() { } CAligner::~CAligner() { } const char* CAligner::getClassName() { static char* pszName = "CAligner"; return pszName; } void CAligner::init() { CEquipment::init(); } void CAligner::term() { CEquipment::term(); } // ±ØÐëҪʵÏÖµÄÐ麯Êý£¬Ôڴ˳õʼ»¯PinÁбí void CAligner::initPins() { // ¼ÓÈëPin³õʼ»¯´úÂë LOGI("initPins"); addPin(SERVO::PinType::INPUT, _T("In1")); addPin(SERVO::PinType::INPUT, _T("In2")); addPin(SERVO::PinType::OUTPUT, _T("Out1")); addPin(SERVO::PinType::OUTPUT, _T("Out2")); } // ±ØÐëҪʵÏÖµÄÐ麯Êý£¬Ôڴ˳õʼ»¯SlotÐÅÏ¢ void CAligner::initSlots() { m_slot[0].enable(); m_slot[0].setPosition(m_nID); m_slot[0].setNo(1); m_slot[0].setName("Slot 1"); } void CAligner::initSteps() { CEquipment::initSteps(); { // Panel Data Report CEqReadStep* pStep = new CEqReadStep(0x617f, 386 * 2, [&](void* pFrom, int code, const char* pszData, size_t size) -> int { if (code == ROK && pszData != nullptr && size > 0) { decodePanelDataReport((CStep*)pFrom, pszData, size); } return -1; }); pStep->setName(STEP_EQ_PANEL_DATA_REPORT); pStep->setProp("Port", (void*)1); pStep->setWriteSignalDev(0x15e); if (addStep(STEP_ID_PANEL_DATA_REPORT, pStep) != 0) { delete pStep; } } } void CAligner::onReceiveLBData(const char* pszData, size_t size) { __super::onReceiveLBData(pszData, size); CHECK_READ_STEP_SIGNAL(STEP_ID_PANEL_DATA_REPORT, pszData, size); } void CAligner::onTimer(UINT nTimerid) { CEquipment::onTimer(nTimerid); } void CAligner::serialize(CArchive& ar) { CEquipment::serialize(ar); } void CAligner::getAttributeVector(CAttributeVector& attrubutes) { __super::getAttributeVector(attrubutes); } int CAligner::recvIntent(CPin* pPin, CIntent* pIntent) { return __super::recvIntent(pPin, pIntent); } }