Example #1
0
void VirtualOHT::Handle_Move(AMHSPacket& packet)
{
	uint8 nID = 0;
	uint8 nMoveID = 0;
	AMHSPacket authPacket(OHT_ACK_MOVE,3);
	packet >> nID;
	packet >> nMoveID;
	switch(nMoveID)
	{
	case(0):
		if(m_listPath.empty())
		{
			authPacket << uint8(DeviceID());
			authPacket << uint8(3);
			authPacket << uint8(2);
			SendPacket(authPacket);
			AskPath();
			return;
		}
		if(isStop == true)
		{
			authPacket << uint8(DeviceID());
			authPacket << uint8(3);
			authPacket << uint8(2);
			SendPacket(authPacket);
		}
		else
		{
			isMove = true;
			authPacket << uint8(DeviceID());
			authPacket << uint8(0);
			authPacket << uint8(0);
			SendPacket(authPacket);
		}
		break;
	case(1):
		isMove = false;
		authPacket << uint8(DeviceID());
		authPacket << uint8(1);
		authPacket << uint8(0);
		SendPacket(authPacket);
		break;
	case(2):
		isStop = true;
		authPacket << uint8(DeviceID());
		authPacket << uint8(2);
		authPacket << uint8(0);
		SendPacket(authPacket);
		break;
	}
}
Example #2
0
void VirtualOHT::Handle_FoupHanding(AMHSPacket& packet)
{
	uint8 nID = 0;
	uint8 nBuff = 0;
	uint8 nOpt = 0;
	packet >> nID;
	packet >> nBuff;
	packet >> nOpt;
	if (1 == nOpt)
	{
		m_nHand = 0;
	}
	else
	{
		m_nHand = 1;
	}

	m_nStatus = 5;
	Sleep(5000); // hand operation time

	AMHSPacket authPacket(OHT_ACK_FOUP, 2);
	authPacket<< uint8(DeviceID());		// device id
	authPacket<< uint8(0);
	SendPacket(authPacket);
	m_nStatus = 6;
}
Example #3
0
void CDeviceList::DisconnectDevice(IDevice* Device)
{
    for (int i=0;i<m_Jacks.Count();i++)
    {
        IJack* J=m_Jacks.Item(i);
        if (J->Direction==IJack::In)
        {
            for (int i1=0;i1<Device->JackCount();i1++)
            {
                if (Device->GetJack(i1)->Direction==IJack::Out)
                {
                    if (Device->GetJack(i1)->Owner==DeviceID(Device))
                    {
                        CInJack* IJ=(CInJack*)J;
                        if (IsConnected(IJ,Device->GetJack(i1))) IJ->DisconnectFromOut((COutJack*)Device->GetJack(i1));
                    }
                }
            }
        }
    }
    for (int i=0;i<Device->JackCount();i++)
    {
        if (Device->GetJack(i)->Direction==IJack::In)
        {
            CInJack* IJ=(CInJack*)Device->GetJack(i);
            for (int i1=0;i1<IJ->OutJackCount();i1++)
            {
                if (IsConnected(IJ,IJ->OutJack(i1))) IJ->DisconnectFromOut(IJ->OutJack(i1));
            }
        }
    }
}
Example #4
0
void VirtualOHT::Handle_SetPath(AMHSPacket& packet)
{
	uint8 nID = 0;
	uint8 nEType = 0;
	uint32 nStartPos = 0;
	uint32 nEndPos = 0;
	uint8 nKeyPosNum = 0;
	uint32 nKeyPos = 0;
	uint8 nKeyPosType = 0;
	uint8 nKeyPosSpeed = 0;
	packet >> nID;
	packet >> nEType;
	packet >> nStartPos;
	packet >> nEndPos;
	packet >> nKeyPosNum;
	for(int i = 1;i <= nKeyPosNum;i++)
	{
		PathInfo Item;
		packet >> nKeyPos;
		packet >> nKeyPosType;
		packet >> nKeyPosSpeed;
		Item.nposition = nKeyPos;
		Item.nType = nKeyPosType;
		Item.nSpeed = nKeyPosSpeed;
		m_listPath.push_back(Item);
	}
	/*
	if(nEType == 0)
		isMove = true;
	*/
	AMHSPacket authPacket(OHT_ACK_PATH, 2);
	if(!m_listPath.empty())
	{
		isSetPath = true;
		m_nPos = nStartPos;
		authPacket << uint8(DeviceID());
		authPacket << uint8(0);
		isStop = false;
		m_nStatus = 2;
	}
	else
	{
		authPacket << uint8(DeviceID());
		authPacket << uint8(1);
	}
	SendPacket(authPacket);
}
Example #5
0
int VirtualOHT::AskPath()
{
	AMHSPacket askForPath(OHT_NEED_PATH,1);
	askForPath << uint8(DeviceID());
	SendPacket(askForPath);
	m_nStatus = 1;
	return 0;
}
Example #6
0
int VirtualOHT::UpdatePos()
{
	AMHSPacket authPacket(OHT_POSITION, 3);
	authPacket<< uint8(DeviceID());		// device id
	authPacket<< uint32(m_nPos);		// oht location
	SendPacket(authPacket);

	return 0;
}
Example #7
0
int VirtualOHT::UpdateStatus()
{
	AMHSPacket authPacket(OHT_STATUS, 4);
	authPacket<< uint8(DeviceID());		// device id
	authPacket<< uint8(1);
	authPacket<< uint8(m_nStatus);		
	authPacket<< uint8(m_nHand);		
	SendPacket(authPacket);
	return 0;
}
Example #8
0
int VirtualOHT::SetTeachPosition(uint32 nPos, uint8 nType, uint8 nSpeedRate)
{
	AMHSPacket teachPos(OHT_TEACH_PATH, 7);
	teachPos << uint8(DeviceID());
	teachPos << uint32(nPos);
	teachPos << uint8(nType);
	teachPos << uint8(nSpeedRate);

	SendPacket(teachPos);
	return 0;
}
Example #9
0
int VirtualOHT::Auth( uint32 nPos, int nHand)
{
	AMHSPacket authPacket(OHT_AUTH, 4);
	authPacket<< uint8(DeviceID());		// device id
	authPacket<< uint32(nPos);		// oht location
	authPacket<< uint8(nHand);				// oht hand status;
	m_nStatus = 1;

	SendPacket(authPacket);

	return 0;
}
Example #10
0
void VirtualOHT::CreateTimer(void)
{
	// Create a periodic timer
	timeBeginPeriod(1);
	m_nTimerID = timeSetEvent(
		1,
		1,
		&VirtualOHT::TimerHandler,
		(DWORD)this,
		TIME_PERIODIC);
	printf("ID: %u TimerID: %d\n", DeviceID(), m_nTimerID);
}
Example #11
0
void VirtualOHT::Handle_SetPosTime(AMHSPacket&  packet)
{
	uint8 nID = 0;
	uint8 nPosTime = 0;
	packet >> nID;
	packet >> nPosTime;
	m_nPosUpdateTimeSet = nPosTime * 16;

	AMHSPacket authPacket(OHT_ACK_POSITION_BACK_TIME, 2);
	authPacket<< uint8(DeviceID());		// device id
	authPacket<< uint8(nPosTime);	
	SendPacket(authPacket);
}
Example #12
0
void VirtualOHT::Handle_SetStatusTime(AMHSPacket& packet)
{
	uint8 nID = 0;
	uint8 nTime = 0;
	packet >> nID;
	packet >> nTime;
	m_nStatusUpdateTimeSet = nTime * 16;

	AMHSPacket authPacket(OHT_ACK_STATUS_BACK_TIME, 2);
	authPacket<< uint8(DeviceID());		// device id
	authPacket<< uint8(nTime);	
	SendPacket(authPacket);
}
Example #13
0
QString CDeviceList::JackID(IDevice* D, const int JackIndex)
{
    return DeviceID(D) + " " + D->GetJack(JackIndex)->Name;
}