#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³õʼ»¯´úÂë
|
LOGD("<CAligner>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;
|
}
|
}
|
|
// VCR Event Report
|
// »úÆ÷Éϱ¨É¨Âë½á¹û£¬É¨ÂëÆ÷Ô¤¼Æ°²×°ÔÚѲ±ß¼ì»úÆ÷ÉÏ
|
{
|
CEqReadStep* pStep = new CEqReadStep(0x5fef, 15 * 2,
|
[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
|
if (code == ROK && pszData != nullptr && size > 0) {
|
decodeVCREventReport((CStep*)pFrom, pszData, size);
|
}
|
return -1;
|
});
|
pStep->setName(STEP_EQ_VCR1_EVENT_REPORT);
|
pStep->setProp("Port", (void*)1);
|
pStep->setWriteSignalDev(0x4a);
|
pStep->setReturnDev(0x91e);
|
if (addStep(STEP_ID_VCR1_EVENT_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);
|
}
|
}
|