| | |
| | | |
| | | |
| | | // CEqCassetteTranserStateStep |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_CASSETTIE_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_CASSETTIE_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_CASSETTIE_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_CASSETTIE_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT1_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT2_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT3_BLOCKED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_EMPTY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_LOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_LOADED, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_INUSE, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_UNLOAD_READY, pszData, size); |
| | | CHECK_READ_STEP_SIGNAL(STEP_ID_PORT4_BLOCKED, pszData, size); |
| | | } |
| | | |
| | | BOOL CEquipment::isBitOn(const char* pszData, size_t size, int index) |
| | |
| | | panelNo = (value & 0xffff); |
| | | LOGI("Cim Message Confirm(msgID = %d, panel no.=%d).", msgId, panelNo); |
| | | } |
| | | /* |
| | | else if (isVcrEventStep(pStep)) { |
| | | SERVO::CEqVcrEventStep* pEqVcrEventStep = (SERVO::CEqVcrEventStep*)pStep; |
| | | CVcrEventReport* pVcrEventReport = pEqVcrEventStep->getVcrEventReport(); |
| | |
| | | pEqVcrEventStep->setReturnCode(1); |
| | | return 1; |
| | | } |
| | | */ |
| | | } |
| | | |
| | | |
| | |
| | | return 0; |
| | | } |
| | | |
| | | int CEquipment::indexerOperationModeChange(IDNEXER_OPERATION_MODE mode, ONWRITED onWritedBlock/* = nullptr*/) |
| | | { |
| | | SERVO::CEqWriteStep* pStep = (SERVO::CEqWriteStep*)getStepWithName(STEP_EFEM_IN_OP_MODE_CHANGE); |
| | | if (pStep == nullptr) { |
| | | return -1; |
| | | } |
| | | |
| | | unsigned short operationMode = (unsigned short)(mode + getIndexerOperationModeBaseValue()); |
| | | LOGI("<CEquipment-%s>准备设置indexerOperationMode<%d>", m_strName.c_str(), (int)mode); |
| | | if (onWritedBlock != nullptr) { |
| | | pStep->writeShort(operationMode, onWritedBlock); |
| | | } |
| | | else { |
| | | pStep->writeShort(operationMode, [&, mode](int code) -> int { |
| | | if (code == WOK) { |
| | | LOGI("<CEquipment-%s>设置indexerOperationMode成功.", m_strName.c_str()); |
| | | } |
| | | else { |
| | | LOGI("<CEquipment-%s>设置indexerOperationMode失败,code:%d", m_strName.c_str(), code); |
| | | } |
| | | |
| | | return 0; |
| | | }); |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | int CEquipment::masterRecipeListRequest(short unitNo) |
| | | { |
| | | SERVO::CEqWriteStep* pStep = (SERVO::CEqWriteStep*)getStepWithName(STEP_EQ_MASTER_RECIPE_LIST_REQ); |
| | |
| | | return index; |
| | | } |
| | | |
| | | int CEquipment::decodeVCREventReport(CStep* pStep, const char* pszData, size_t size) |
| | | { |
| | | CVcrEventReport vcrEventReport; |
| | | vcrEventReport.unserialize(pszData, size); |
| | | LOGI("<CEquipment-%s>decodeVCREventReport<Result:%d, GlassId:%s>\n", m_strName.c_str(), |
| | | vcrEventReport.getVcrResult(), |
| | | vcrEventReport.getGlassId().c_str()); |
| | | |
| | | |
| | | // 缓存Attribute,用于调试时显示信息 |
| | | unsigned int weight = 201; |
| | | CAttributeVector attrubutes; |
| | | vcrEventReport.getAttributeVector(attrubutes, weight); |
| | | pStep->addAttributeVector(attrubutes); |
| | | |
| | | // 0426, 先固定返回1(OK) |
| | | ((CReadStep*)pStep)->setReturnCode((short)VCR_Reply_Code::OK); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | int CEquipment::onPreStoredJob(int port, CJobDataB* pJobDataB) |
| | | { |
| | | LOGI("<CEquipment-%s>onPreStoredJob:port:%d|GlassId:%s", |
| | |
| | | return 0; |
| | | } |
| | | |
| | | int CEquipment::getIndexerOperationModeBaseValue() |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | int CEquipment::addJobDataB(CJobDataB* pJobDataB) |
| | | { |
| | | // 添加之前先删除旧的,以免数据重复 |