Example #1
0
BOOL CCANopenFrame::PrepareSendFrame_InitiateSDODownload(DWORD p_ulCobId, BOOL p_oExpeditedTransfer, BOOL p_oSizeIndicated, BYTE p_ubNonValidNbOfBytes, WORD p_usIndex, BYTE p_ubSubIndex, void* p_pDataBuffer, DWORD p_ulDataBufferLength)
{
	const int FRAME_SIZE = 8;
	const int COMMAND_SPECIFIER = 1;
	const unsigned long MAX_DATA_SIZE = 4;

    BOOL oResult(FALSE);

	ResetFrame();

	if(p_pDataBuffer)
	{
		//Limit Values
		if(p_ulDataBufferLength > MAX_DATA_SIZE) p_ulDataBufferLength = MAX_DATA_SIZE;
		if(p_ubNonValidNbOfBytes > MAX_DATA_SIZE) p_ubNonValidNbOfBytes = MAX_DATA_SIZE;
		if(!p_oExpeditedTransfer || !p_oSizeIndicated) p_ubNonValidNbOfBytes = 0;

		//Frame
		m_FrameBuffer.dId = p_ulCobId;
		m_FrameBuffer.oRtr = FALSE;
		m_FrameBuffer.wDlc = FRAME_SIZE;

		m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.ccs = COMMAND_SPECIFIER;
		m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.n = p_ubNonValidNbOfBytes;
		m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.e = p_oExpeditedTransfer;
		m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.s = p_oSizeIndicated;
		m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.index = p_usIndex;
		m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.subIndex = p_ubSubIndex;
		memcpy(m_FrameBuffer.nCanData.sInitiateSDODownload_SendFrame.data, p_pDataBuffer, p_ulDataBufferLength);

		oResult = TRUE;
	}

	return oResult;
}
Example #2
0
BOOL CCANopenFrame::PrepareSendFrame_DownloadSDOSegment(DWORD p_ulCobId, BOOL p_oToggle, BYTE p_ubNonValidNbOfBytes, BOOL p_oNoMoreSegments, void* p_pSegDataBuffer, DWORD p_ulSegDataBufferLength)
{
	const int FRAME_SIZE = 8;
	const int COMMAND_SPECIFIER = 0;
	const unsigned long MAX_DATA_SIZE = 7;

    BOOL oResult(FALSE);

	ResetFrame();

	if(p_pSegDataBuffer)
	{
		//Limit Values
		if(p_ulSegDataBufferLength > MAX_DATA_SIZE) p_ulSegDataBufferLength = MAX_DATA_SIZE;
		if(p_ubNonValidNbOfBytes > MAX_DATA_SIZE) p_ubNonValidNbOfBytes = MAX_DATA_SIZE;

		//Frame
		m_FrameBuffer.dId = p_ulCobId;
		m_FrameBuffer.oRtr = FALSE;
		m_FrameBuffer.wDlc = FRAME_SIZE;

		m_FrameBuffer.nCanData.sDownloadSDOSegment_SendFrame.ccs = COMMAND_SPECIFIER;
		m_FrameBuffer.nCanData.sDownloadSDOSegment_SendFrame.n = p_ubNonValidNbOfBytes;
		m_FrameBuffer.nCanData.sDownloadSDOSegment_SendFrame.c = p_oNoMoreSegments;
		m_FrameBuffer.nCanData.sDownloadSDOSegment_SendFrame.t = p_oToggle;
		memcpy(m_FrameBuffer.nCanData.sDownloadSDOSegment_SendFrame.data, p_pSegDataBuffer, p_ulSegDataBufferLength);

		oResult = TRUE;
	}

	return oResult;
}
Example #3
0
TVizMapContext::TVizMapContext(PVizMap _VizMap): 
        VizMap(_VizMap), VizMapFrameN(0),
        VizMapFrame(_VizMap->GetFirst()), SelMode(vmsmZoom), 
        MgGlassPoints(0), MouseInP(false), LeftButtonDownP(false), 
        MgGlassSize(0.2), NearPointN(-1) { 

    LoadColor();
    LoadCatFullNms();
    ResetFrame();
}
Example #4
0
BOOL CCANopenFrame::PrepareSendFrame_RequestCANFrame(DWORD p_ulCobId, BYTE p_ubLength)
{
	const int MAX_FRAME_SIZE = 8;

	ResetFrame();

	//Limit Values
	if(p_ubLength > MAX_FRAME_SIZE) p_ubLength = MAX_FRAME_SIZE;

	//Frame
	m_FrameBuffer.dId = p_ulCobId;
	m_FrameBuffer.oRtr = TRUE;
	m_FrameBuffer.wDlc = p_ubLength;

	return TRUE;
}
void NeuroSandCube::Update()
{

	m_spCommandController->PollCommands();

	if (player->levelRestart)
	{
		ResetLevel();
	}

	StateDistributor::GetInstance().Distribute();
	
	m_spIOService->Update();
	ResetFrame();

	
}
Example #6
0
BOOL CCANopenFrame::PrepareSendFrame_SendNMTService(BYTE p_ubCommandSpecifier, BYTE p_ubNodeId)
{
	const int COB_ID = 0;
	const int FRAME_SIZE = 2;

	ResetFrame();

	//Frame
	m_FrameBuffer.dId = COB_ID;
	m_FrameBuffer.oRtr = FALSE;
	m_FrameBuffer.wDlc = FRAME_SIZE;

	m_FrameBuffer.nCanData.aDataByte[0] = p_ubCommandSpecifier;
	m_FrameBuffer.nCanData.aDataByte[1] = p_ubNodeId;

	return TRUE;
}
Example #7
0
BOOL CCANopenFrame::PrepareSendFrame_UploadSDOSegment(DWORD p_ulCobId, BOOL p_oToggle)
{
	const int FRAME_SIZE = 8;
	const int COMMAND_SPECIFIER = 3;

	ResetFrame();

	//Frame
	m_FrameBuffer.dId = p_ulCobId;
	m_FrameBuffer.oRtr = FALSE;
	m_FrameBuffer.wDlc = FRAME_SIZE;

	m_FrameBuffer.nCanData.sUploadSDOSegment_SendFrame.ccs = COMMAND_SPECIFIER;
	m_FrameBuffer.nCanData.sUploadSDOSegment_SendFrame.t = p_oToggle;

	return TRUE;
}
Example #8
0
BOOL CCANopenFrame::PrepareSendFrame_InitiateSDOUpload(DWORD p_ulCobId, WORD p_usIndex, BYTE p_ubSubIndex)
{
	const int FRAME_SIZE = 8;
	const int COMMAND_SPECIFIER = 2;

	ResetFrame();

	//Frame
	m_FrameBuffer.dId = p_ulCobId;
	m_FrameBuffer.oRtr = FALSE;
	m_FrameBuffer.wDlc = FRAME_SIZE;

	m_FrameBuffer.nCanData.sInitiateSDOUpload_SendFrame.ccs = COMMAND_SPECIFIER;
	m_FrameBuffer.nCanData.sInitiateSDOUpload_SendFrame.index = p_usIndex;
	m_FrameBuffer.nCanData.sInitiateSDOUpload_SendFrame.subIndex = p_ubSubIndex;

	return TRUE;
}
Example #9
0
BOOL CCANopenFrame::PrepareSendFrame_AbortSDOTransfer(DWORD p_ulCobId, WORD p_usIndex, BYTE p_ubSubIndex, DWORD p_ulAbortCode)
{
	const int FRAME_SIZE = 8;
	const int COMMAND_SPECIFIER = 4;

	ResetFrame();

	//Frame
	m_FrameBuffer.dId = p_ulCobId;
	m_FrameBuffer.oRtr = FALSE;
	m_FrameBuffer.wDlc = FRAME_SIZE;

	m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.cs = COMMAND_SPECIFIER;
	m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.index = p_usIndex;
	m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.subIndex = p_ubSubIndex;
	m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.abortCode = p_ulAbortCode;

	return TRUE;
}
Example #10
0
BOOL CCANopenFrame::PrepareSendFrame_NetworkIndication(DWORD p_ulCobId, WORD p_usTargetNetworkId, BYTE p_ubTargetNodeId)
{
	const int FRAME_SIZE = 8;
	const int COMMAND_SPECIFIER = 7;

	ResetFrame();

	//Frame
	m_FrameBuffer.dId = p_ulCobId;
	m_FrameBuffer.oRtr = FALSE;
	m_FrameBuffer.wDlc = FRAME_SIZE;

	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.ccs = COMMAND_SPECIFIER;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.r = 0;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.m1 = p_usTargetNetworkId;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.m2 = p_ubTargetNodeId;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.reserved[0] = 0;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.reserved[1] = 0;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.reserved[2] = 0;
	m_FrameBuffer.nCanData.sNetworkIndication_SendFrame.reserved[3] = 0;

	return TRUE;
}
Example #11
0
BOOL CCANopenFrame::PrepareSendFrame_SendCANFrame(DWORD p_ulCobId, BYTE p_ubLength, void* p_pDataBuffer, DWORD p_ulDataBufferLength)
{
	const unsigned long MAX_FRAME_SIZE = 8;

    BOOL oResult(FALSE);

	ResetFrame();

	if(p_pDataBuffer)
	{
		//Limit Values
		if(p_ulDataBufferLength > MAX_FRAME_SIZE) p_ulDataBufferLength = MAX_FRAME_SIZE;

		//Frame
		m_FrameBuffer.dId = p_ulCobId;
		m_FrameBuffer.oRtr = FALSE;
		m_FrameBuffer.wDlc = (WORD)p_ulDataBufferLength;
		memcpy(m_FrameBuffer.nCanData.aDataByte, p_pDataBuffer, p_ulDataBufferLength);

		oResult = TRUE;
	}

	return oResult;
}
Example #12
0
bool BMDOpenGLOutput::Start()
{
    IDeckLinkDisplayModeIterator*		pDLDisplayModeIterator;
    IDeckLinkDisplayMode*				pDLDisplayMode = NULL;

    // Get first avaliable video mode for Output
    if (pDLOutput->GetDisplayModeIterator(&pDLDisplayModeIterator) == S_OK)
    {
        if (pDLDisplayModeIterator->Next(&pDLDisplayMode) != S_OK)
        {
            QMessageBox::critical(NULL,"DeckLink error.", "Cannot find video mode.");
            pDLDisplayModeIterator->Release();
            return false;
        }
        pDLDisplayModeIterator->Release();
    }

    uiFrameWidth = pDLDisplayMode->GetWidth();
    uiFrameHeight = pDLDisplayMode->GetHeight();
    pDLDisplayMode->GetFrameRate(&frameDuration, &frameTimescale);

    uiFPS = ((frameTimescale + (frameDuration-1))  /  frameDuration);

    if (pDLOutput->EnableVideoOutput(pDLDisplayMode->GetDisplayMode(), bmdVideoOutputFlagDefault) != S_OK)
        return false;

    // Flip frame vertical, because OpenGL rendering starts from left bottom corner
    if (pDLOutput->CreateVideoFrame(uiFrameWidth, uiFrameHeight, uiFrameWidth*4, bmdFormat8BitBGRA, bmdFrameFlagFlipVertical, &pDLVideoFrame) != S_OK)
        return false;

    uiTotalFrames = 0;

    ResetFrame();
    SetPreroll();

    pContext->makeCurrent();

    pGLScene->InitScene();

    glGenFramebuffersEXT(1, &idFrameBuf);
    glGenRenderbuffersEXT(1, &idColorBuf);
    glGenRenderbuffersEXT(1, &idDepthBuf);

    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, idFrameBuf);

    glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, idColorBuf);
    glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGBA8, uiFrameWidth, uiFrameHeight);
    glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, idDepthBuf);
    glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, uiFrameWidth, uiFrameHeight);

    glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_RENDERBUFFER_EXT, idColorBuf);
    glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, idDepthBuf);

    glStatus = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    if (glStatus != GL_FRAMEBUFFER_COMPLETE_EXT)
    {
        QMessageBox::critical(NULL,"OpenGL initialization error.", "Cannot initialize framebuffer.");
        return false;
    }

    pFrameBuf = (char*)malloc(pDLVideoFrame->GetRowBytes() * uiFrameHeight);
    UpdateScene();

    pDLOutput->StartScheduledPlayback(0, 100, 1.0);

    return true;
}
Example #13
0
void TVizMapContext::SetVizMapFrame(const int& NewVizMapFrameN) {
    VizMapFrameN = NewVizMapFrameN;
    VizMapFrame = VizMap->GetVizMapFrame(VizMapFrameN);
    ResetFrame();
}