BOOL CGatewayInfoteamSerialToI::I_WriteData(CInterfaceManagerBase* pInterfaceManager,HANDLE hI_Handle,HANDLE hTransactionHandle,void* pData,DWORD dNumberOfBytesToWrite,DWORD* pdNumberOfBytesWritten,CErrorInfo* pErrorInfo)
{
	BOOL oResult(FALSE);

	//Has to be implementeded by child class
    return oResult;
}
Пример #2
0
BOOL CGatewayCANopenToEpos::SetDeviceTimeout(CDeviceCommandSetManagerBase* p_pManager, HANDLE p_hHandle, DWORD p_ulTimeout)
{
    WORD usTimeout(0);
    BOOL oResult(FALSE);
    CErrorInfo errorInfo;
    HANDLE hTransactionHandle(NULL);
    BYTE ubNodeId(0);
    CStdString interfaceName(_T(""));

    if(p_pManager)
    {
        if(p_pManager->DCS_GetInterfaceName(p_hHandle, &interfaceName))
        {
            //Init
            usTimeout = (WORD)p_ulTimeout;
            
			if(GetAddressParameter(p_pManager, p_hHandle, ubNodeId, &errorInfo))
			{
				if(interfaceName == INTERFACE_RS232)
				{
					//RS232 Frame Timeout
					   oResult = DCS_WriteObject(p_pManager, p_hHandle, hTransactionHandle, ubNodeId, INDEX_RS232_FRAME_TIMEOUT, SUBINDEX_RS232_FRAME_TIMEOUT, (BYTE*)&usTimeout, sizeof(usTimeout), &errorInfo);
				}
			}
        }
    }

    return oResult;
}
BOOL CGatewayMaxonSerialV2ToRS232::I_ReadData(CInterfaceManagerBase* pInterfaceManager, HANDLE hI_Handle, HANDLE hTransactionHandle, void* pData, DWORD dNumberOfBytesToRead, DWORD* pdNumberOfBytesRead, CErrorInfo* pErrorInfo)
{
    BOOL oResult(FALSE);
    DWORD ulDataLength;

    if(m_pCommand_ReadData && pInterfaceManager)
    {
        //Set Parameter Data
        m_pCommand_ReadData->ResetStatus();
        m_pCommand_ReadData->SetParameterData(0, &dNumberOfBytesToRead, sizeof(dNumberOfBytesToRead));

        //Execute Command
        oResult = pInterfaceManager->ExecuteCommand(m_pCommand_ReadData, hI_Handle, hTransactionHandle);

        //Limit Parameter Length
        ulDataLength = m_pCommand_ReadData->GetReturnParameterLength(0);
        if(ulDataLength > dNumberOfBytesToRead) ulDataLength = dNumberOfBytesToRead;

        //Get ReturnParameter Data
        m_pCommand_ReadData->GetReturnParameterData(0, pData, ulDataLength);
        if(pdNumberOfBytesRead) *pdNumberOfBytesRead = ulDataLength;

        //Get ErrorCode
        m_pCommand_ReadData->GetErrorInfo(pErrorInfo);
    }

    return oResult;
}
Пример #4
0
BOOL CObjectEntry::SetValueStringFormat(CStdString strFormattedValue)
{
    CMmcDataConversion conversion;
    unsigned __int64 uInt64Value(0);
    CStdString strValue = _T("");
    int iIndex;
    BOOL oResult(TRUE);

    //Remove leading text
    iIndex = strFormattedValue.FindOneOf("0123456789");
    if(iIndex != -1) strValue = strFormattedValue.Right(strFormattedValue.GetLength()-iIndex); else strValue = strFormattedValue;

    //Check Types
    if(conversion.DecUInt64Str2UInt64(strValue, &uInt64Value, FALSE))
    {
        m_ValueStringFormat = OVF_DEC;
        oResult = TRUE;
    }
    else if(conversion.HexUInt64Str2UInt64(strValue, &uInt64Value, FALSE))
    {
        m_ValueStringFormat = OVF_HEX;
        oResult = TRUE;
    }
    else
    {
        m_ValueStringFormat = OVF_DEC;
        oResult = FALSE;
    }

    return oResult;
}
Пример #5
0
BOOL CCANopenFrame::CopyReceivedData_NetworkIndication(DWORD* p_pulCobId, WORD* p_usTargetNetworkId, BYTE* p_pubTargetNodeId, DWORD* p_pulAbortCode)
{
	const int COMMAND_SPECIFIER = 7;
	const int ABORT_COMMAND_SPECIFIER = 4;

    BOOL oResult(FALSE);

	if(p_pulCobId && p_usTargetNetworkId && p_pubTargetNodeId && p_pulAbortCode)
	{
		if(m_FrameBuffer.nCanData.sNetworkIndication_ReceiveFrame.scs == COMMAND_SPECIFIER)
		{
			*p_pulCobId = m_FrameBuffer.dId;
			*p_usTargetNetworkId = m_FrameBuffer.nCanData.sNetworkIndication_ReceiveFrame.m1;
			*p_pubTargetNodeId = m_FrameBuffer.nCanData.sNetworkIndication_ReceiveFrame.m2;
			*p_pulAbortCode = 0;

			oResult = TRUE;
		}
		else if(m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.cs == ABORT_COMMAND_SPECIFIER)
		{
			*p_pulCobId = m_FrameBuffer.dId;
			*p_usTargetNetworkId = 0;
			*p_pubTargetNodeId = 0;
			*p_pulAbortCode = m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.abortCode;

			oResult = TRUE;
		}
	}

	return oResult;
}
Пример #6
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;
}
Пример #7
0
BOOL CCANopenFrame::CopyReceivedData_DownloadSDOSegment(DWORD* p_pulCobId, BOOL* p_poToggle, DWORD* p_pulAbortCode)
{
	const int COMMAND_SPECIFIER = 1;
	const int ABORT_COMMAND_SPECIFIER = 4;

    BOOL oResult(FALSE);

	if(p_pulCobId && p_poToggle && p_pulAbortCode)
	{
		if(m_FrameBuffer.nCanData.sDownloadSDOSegment_ReceiveFrame.scs == COMMAND_SPECIFIER)
		{
			*p_pulCobId = m_FrameBuffer.dId;
			*p_poToggle = m_FrameBuffer.nCanData.sDownloadSDOSegment_ReceiveFrame.t;
			*p_pulAbortCode = 0;

			oResult = TRUE;
		}
		else if(m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.cs == ABORT_COMMAND_SPECIFIER)
		{
			*p_pulCobId = m_FrameBuffer.dId;
			*p_pulAbortCode = m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.abortCode;

			oResult = TRUE;
		}
	}

	return oResult;
}
Пример #8
0
BOOL CCANopenFrame::CopyReceivedData_InitiateSDODownload(DWORD* p_pulCobId, WORD* p_pusIndex, BYTE* p_pubSubIndex, DWORD* p_pulAbortCode)
{
	const int COMMAND_SPECIFIER = 3;
	const int ABORT_COMMAND_SPECIFIER = 4;

    BOOL oResult(FALSE);

	if(p_pulCobId && p_pusIndex && p_pubSubIndex && p_pulAbortCode)
	{
		if(m_FrameBuffer.nCanData.sInitiateSDODownload_ReceiveFrame.scs == COMMAND_SPECIFIER)
		{
			*p_pulCobId = m_FrameBuffer.dId;
			*p_pusIndex = m_FrameBuffer.nCanData.sInitiateSDODownload_ReceiveFrame.index;
			*p_pubSubIndex = m_FrameBuffer.nCanData.sInitiateSDODownload_ReceiveFrame.subIndex;
			*p_pulAbortCode = 0;

			oResult = TRUE;
		}
		else if(m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.cs == ABORT_COMMAND_SPECIFIER)
		{
			*p_pulCobId = m_FrameBuffer.dId;
			*p_pusIndex = m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.index;
			*p_pubSubIndex = m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.subIndex;
			*p_pulAbortCode = m_FrameBuffer.nCanData.sAbortTransfer_AbortFrame.abortCode;

			oResult = TRUE;
		}
	}

	return oResult;
}
Пример #9
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;
}
Пример #10
0
BOOL CObjectEntry::SetSubIndex(BYTE subIndex)
{
    BOOL oResult(TRUE);

    m_uSubIndex = subIndex;

    return oResult;
}
Пример #11
0
BOOL CObjectEntry::GetObjFlags(CStdString& strObjFlags)
{
    BOOL oResult(TRUE);

    strObjFlags = m_strObjFlags;

    return oResult;
}
Пример #12
0
     /// Load a gray-scale image from disk.
 void 
 loadImage(const std::string & rFileName, ImageNPP_8u_C1 & rImage)
 {
     ImageCPU_8u_C1 oImage;
     loadImage(rFileName, oImage);
     ImageNPP_8u_C1 oResult(oImage);
     rImage.swap(oResult);
 }
Пример #13
0
BOOL CObjectEntry::SetObjFlags(DWORD objFlags)
{
    BOOL oResult(TRUE);

    m_strObjFlags.Format("%i", objFlags);

    return oResult;
}
Пример #14
0
BOOL CObjectEntry::GetHighLimit(CStdString& strHighLimit)
{
    BOOL oResult(TRUE);

    strHighLimit = m_strHighLimit;

    return oResult;
}
Пример #15
0
BOOL CObjectEntry::GetPDOMappingToken(CStdString& strPdoMapping)
{
    BOOL oResult(TRUE);

    if(m_oPDOMapping) strPdoMapping = "optional"; else strPdoMapping = "no";

    return oResult;
}
Пример #16
0
BOOL CObjectEntry::GetPDOMapping(CStdString& strPdoMapping)
{
    BOOL oResult(TRUE);

    if(m_oPDOMapping) strPdoMapping = "1"; else strPdoMapping = "0";

    return oResult;
}
Пример #17
0
BOOL CObjectEntry::SetObjFlags(CStdString objFlags)
{
    BOOL oResult(TRUE);

    m_strObjFlags = objFlags;

    return oResult;
}
Пример #18
0
BOOL CObjectEntry::GetSubIndex(CStdString& strSubIndex)
{
    BOOL oResult(TRUE);

    strSubIndex.Format("0x%.2X", m_uSubIndex);

    return oResult;
}
Пример #19
0
BOOL CObjectEntry::GetDefaultValue(CStdString& strDefaultValue)
{
    BOOL oResult(TRUE);

    strDefaultValue = m_strDefault;

    return oResult;
}
Пример #20
0
BOOL CObjectEntry::SetDefaultValue(CStdString defaultValue)
{
    BOOL oResult(TRUE);

	m_strDefault = defaultValue;

    return oResult;
}
Пример #21
0
BOOL CObjectEntry::SetHighLimit(CStdString highLimit)
{
    BOOL oResult(TRUE);

    m_strHighLimit = highLimit;

    return oResult;
}
Пример #22
0
BOOL CObjectEntry::SetLowLimit(CStdString lowLimit)
{
    BOOL oResult(TRUE);

    m_strLowLimit = lowLimit;

    return oResult;
}
Пример #23
0
BOOL CObjectEntry::SetPDOMapping(BYTE pdoMapping)
{
    BOOL oResult(TRUE);

    m_oPDOMapping = pdoMapping;

    return oResult;
}
Пример #24
0
//        internal static void FreePtrMatrix(IntPtr pointer, int nRows)
//        {
//            IntPtr[] rows = new IntPtr[nRows];
//            Marshal.Copy(pointer, rows, 0, nRows);
//            for (int i = 0; i < nRows; i++)
//            {
//                Marshal.FreeHGlobal(rows[i]);
//            } // for (int)
//            Marshal.FreeHGlobal(pointer);
//        } // FreePtrMatrix(pointer, nRows)
//
//        /// <summary>
//        /// Free ptr vector
//        /// </summary>
//        internal static void FreePtrVector(IntPtr ptrValues)
//        {
//            Marshal.FreeHGlobal(ptrValues);
//        } // FreePtrVector(ptrValues)
//
//        /// <summary>
//        /// Get complex array from ptr
//        /// </summary>
//        internal static Complex[] GetComplexArrayFromPtr(IntPtr pointerReal, IntPtr pointerImag, int nLength)
//        {
//            Complex[] oResult = new Complex[nLength];
//            double[] realTemp = GetDoubleArrayFromPtr(pointerReal, nLength);
//            double[] imagTemp = GetDoubleArrayFromPtr(pointerImag, nLength);
//
//            for (int i = 0; i < nLength; i++)
//            {
//                oResult[i] = new Complex(realTemp[i], imagTemp[i]);
//            } // for (int)
//            return oResult;
//        } // GetComplexArrayFromPtr(pointerReal, pointerImag, nLength)
//
//        /// <summary>
//        /// Get complex array from ptr
//        /// </summary>
//        internal static Complex[] GetComplexArrayFromPtrLA(IntPtr pointerReal, IntPtr pointerImag, int nLength)
//        {
//            Complex[] oResult = new Complex[nLength];
//            double[] realTemp = GetDoubleArrayFromPtrLA(pointerReal, nLength);
//            double[] imagTemp = GetDoubleArrayFromPtrLA(pointerImag, nLength);
//
//            for (int i = 0; i < nLength; i++)
//            {
//                oResult[i] = new Complex(realTemp[i], imagTemp[i]);
//            } // for (int)
//            return oResult;
//        } // GetComplexArrayFromPtr(pointerReal, pointerImag, nLength)
//
//
//        /// <summary>
//        /// Get complex matrix from ptr
//        /// </summary>
//        internal static Complex[][] GetComplexMatrixFromPtr(IntPtr pointerReal, IntPtr pointerImag, int nRows, int nCols)
//        {
//            Complex[][] oResult = new Complex[nRows][];
//            double[][] realTemp = GetDoubleMatrixFromPtr(pointerReal, nRows, nCols);
//            double[][] imagTemp = GetDoubleMatrixFromPtr(pointerImag, nRows, nCols);
//
//            for (int i = 0; i < nRows; i++)
//            {
//                oResult[i] = new Complex[nCols];
//                for (int j = 0; j < nCols; j++)
//                {
//                    oResult[i][j] = new Complex(realTemp[i][j], imagTemp[i][j]);
//                } // for (int)
//            } // for (int)
//            return oResult;
//        } // GetComplexMatrixFromPtr(pointerReal, pointerImag, nRows)
//
//        /// <summary>
//        /// Get complex matrix from ptr
//        /// </summary>
//        internal static Complex[][] GetComplexMatrixFromPtrLA(IntPtr pointerReal, IntPtr pointerImag, int nRows, int nCols)
//        {
//            Complex[][] oResult = new Complex[nRows][];
//            double[][] realTemp = GetDoubleMatrixFromPtrLA(pointerReal, nRows, nCols);
//            double[][] imagTemp = GetDoubleMatrixFromPtrLA(pointerImag, nRows, nCols);
//
//            for (int i = 0; i < nRows; i++)
//            {
//                oResult[i] = new Complex[nCols];
//                for (int j = 0; j < nCols; j++)
//                {
//                    oResult[i][j] = new Complex(realTemp[i][j], imagTemp[i][j]);
//                } // for (int)
//            } // for (int)
//            return oResult;
//        } // GetComplexMatrixFromPtrLA(pointerReal, pointerImag, nRows)
//
//        /// <summary>
//        /// Get double array from ptr
//        /// </summary>
//        internal static double[] GetDoubleArrayFromPtr(IntPtr pointer, int nLength)
//        {
//            double[] oResult = new double[nLength];
//            Marshal.Copy(pointer, oResult, 0, nLength);
//            StructAnalysis.FreeVector(pointer);
//            return oResult;
//        } // GetDoubleArrayFromPtr(pointer, nLength)
//
//        /// <summary>
//        /// Get double array from ptr
//        /// </summary>
//        internal static double[] GetDoubleArrayFromPtrLA(IntPtr pointer, int nLength)
//        {
//            double[] oResult = new double[nLength];
//            Marshal.Copy(pointer, oResult, 0, nLength);
//            LA.FreeVector(pointer);
//            return oResult;
//        } // GetDoubleArrayFromPtr(pointer, nLength)
//
/// <summary>
/// Get double matrix from ptr
/// </summary>
ls::DoubleMatrix GetDoubleMatrixFromPtr(IntPtr pointer, int nRows, int nCols)
{
//    double* oResult = new double[nRows*nCols];
    ls::DoubleMatrix oResult(nRows, nCols);

//    double* Matrix = (double*) pointer;
    double** Matrix = (double**) pointer;
    for(int row = 0; row < nRows; row++)
    {
        for(int col = 0; col < nCols; col++)
        {
            oResult(row, col) = Matrix[row][col];
        }
    }

//    StructAnalysis.FreeMatrix(pointer, nRows);
    return oResult;
}
Пример #25
0
cv::Mat lv::BinClassif::getColoredMask(const cv::Mat& oClassif, const cv::Mat& oGT, const cv::Mat& oROI) {
    lvAssert_(!oClassif.empty() && oClassif.type()==CV_8UC1,"binary classifier results must be non-empty and of type 8UC1");
    lvAssert_(oGT.empty() || oGT.type()==CV_8UC1,"gt mat must be empty, or of type 8UC1")
    lvAssert_(oROI.empty() || oROI.type()==CV_8UC1,"ROI mat must be empty, or of type 8UC1");
    lvAssert_((oGT.empty() || oClassif.size()==oGT.size()) && (oROI.empty() || oClassif.size()==oROI.size()),"all input mat sizes must match");
    if(oGT.empty()) {
        cv::Mat oResult;
        cv::cvtColor(oClassif,oResult,cv::COLOR_GRAY2BGR);
        return oResult;
    }
    cv::Mat oResult(oClassif.size(),CV_8UC3,cv::Scalar_<uchar>(0));
    const size_t step_row = oClassif.step.p[0];
    for(size_t i=0; i<(size_t)oClassif.rows; ++i) {
        const size_t idx_nstep = step_row*i;
        const uchar* input_step_ptr = oClassif.data+idx_nstep;
        const uchar* gt_step_ptr = oGT.data+idx_nstep;
        const uchar* roi_step_ptr = oROI.data+idx_nstep;
        uchar* res_step_ptr = oResult.data+idx_nstep*3;
        for(int j=0; j<oClassif.cols; ++j) {
            if(gt_step_ptr[j]!=DATASETUTILS_OUTOFSCOPE_VAL &&
               gt_step_ptr[j]!=DATASETUTILS_UNKNOWN_VAL &&
               (oROI.empty() || roi_step_ptr[j]!=DATASETUTILS_NEGATIVE_VAL)) {
                if(input_step_ptr[j]==DATASETUTILS_POSITIVE_VAL) {
                    if(gt_step_ptr[j]==DATASETUTILS_POSITIVE_VAL)
                        res_step_ptr[j*3+1] = UCHAR_MAX;
                    else if(gt_step_ptr[j]==DATASETUTILS_NEGATIVE_VAL)
                        res_step_ptr[j*3+2] = UCHAR_MAX;
                    else if(gt_step_ptr[j]==DATASETUTILS_SHADOW_VAL) {
                        res_step_ptr[j*3+1] = UCHAR_MAX/2;
                        res_step_ptr[j*3+2] = UCHAR_MAX;
                    }
                    else {
                        for(size_t c=0; c<3; ++c)
                            res_step_ptr[j*3+c] = UCHAR_MAX/3;
                    }
                }
                else { // input_step_ptr[j]==s_nSegmNegative
                    if(gt_step_ptr[j]==DATASETUTILS_POSITIVE_VAL) {
                        res_step_ptr[j*3] = UCHAR_MAX/2;
                        res_step_ptr[j*3+2] = UCHAR_MAX;
                    }
                }
            }
            else if(!oROI.empty() && roi_step_ptr[j]==DATASETUTILS_NEGATIVE_VAL) {
                for(size_t c=0; c<3; ++c)
                    res_step_ptr[j*3+c] = UCHAR_MAX/2;
            }
            else {
                for(size_t c=0; c<3; ++c)
                    res_step_ptr[j*3+c] = input_step_ptr[j];
            }
        }
    }
    return oResult;
}
Пример #26
0
BOOL CObjectEntry::IsPdoMappable()
{
    BOOL oResult(FALSE);

    if(IsRxPdoMappable() || IsTxPdoMappable())
    {
        oResult = TRUE;
    }

    return oResult;
}
Пример #27
0
BOOL CObjectEntry::IsValueAvailable()
{
    BOOL oResult(FALSE);

    if(m_pValue)
    {
        oResult = TRUE;
    }

    return oResult;
}
Пример #28
0
BOOL CObjectEntry::IsTxPdoMappable()
{
    BOOL oResult(FALSE);

    if(m_oPDOMapping && ((m_AccessType == AT_READ_WRITE) || (m_AccessType == AT_READ_WRITE_WRITE) || (m_AccessType == AT_READ_WRITE_READ) || (m_AccessType == AT_READ_ONLY)))
    {
        oResult = TRUE;
    }

    return oResult;
}
Пример #29
0
cv::Mat litiv::MetricsAccumulator_<litiv::eDatasetEval_BinaryClassifier>::getColoredMask(const cv::Mat& oClassif, const cv::Mat& oGT, const cv::Mat& oROI) {
    CV_Assert(!oClassif.empty() && oClassif.type()==CV_8UC1 && (oGT.empty() || oGT.type()==CV_8UC1) && (oROI.empty() || oROI.type()==CV_8UC1));
    CV_Assert((oGT.empty() || oClassif.size()==oGT.size()) && (oROI.empty() || oClassif.size()==oROI.size()));
    if(oGT.empty()) {
        cv::Mat oResult;
        cv::cvtColor(oClassif,oResult,cv::COLOR_GRAY2BGR);
        return oResult;
    }
    cv::Mat oResult(oClassif.size(),CV_8UC3,cv::Scalar_<uchar>(0));
    const size_t step_row = oClassif.step.p[0];
    for(size_t i=0; i<(size_t)oClassif.rows; ++i) {
        const size_t idx_nstep = step_row*i;
        const uchar* input_step_ptr = oClassif.data+idx_nstep;
        const uchar* gt_step_ptr = oGT.data+idx_nstep;
        const uchar* roi_step_ptr = oROI.data+idx_nstep;
        uchar* res_step_ptr = oResult.data+idx_nstep*3;
        for(int j=0; j<oClassif.cols; ++j) {
            if(gt_step_ptr[j]!=DATASETUTILS_OUTOFSCOPE_VAL &&
               gt_step_ptr[j]!=DATASETUTILS_UNKNOWN_VAL &&
               (oROI.empty() || roi_step_ptr[j]!=dATASETUTILS_NEGATIVE_VAL)) {
                if(input_step_ptr[j]==DATASETUTILS_POSITIVE_VAL) {
                    if(gt_step_ptr[j]==DATASETUTILS_POSITIVE_VAL)
                        res_step_ptr[j*3+1] = UCHAR_MAX;
                    else if(gt_step_ptr[j]==dATASETUTILS_NEGATIVE_VAL)
                        res_step_ptr[j*3+2] = UCHAR_MAX;
                    else if(gt_step_ptr[j]==DATASETUTILS_SHADOW_VAL) {
                        res_step_ptr[j*3+1] = UCHAR_MAX/2;
                        res_step_ptr[j*3+2] = UCHAR_MAX;
                    }
                    else {
                        for(size_t c=0; c<3; ++c)
                            res_step_ptr[j*3+c] = UCHAR_MAX/3;
                    }
                }
                else { // input_step_ptr[j]==s_nSegmNegative
                    if(gt_step_ptr[j]==DATASETUTILS_POSITIVE_VAL) {
                        res_step_ptr[j*3] = UCHAR_MAX/2;
                        res_step_ptr[j*3+2] = UCHAR_MAX;
                    }
                }
            }
            else if(!oROI.empty() && roi_step_ptr[j]==dATASETUTILS_NEGATIVE_VAL) {
                for(size_t c=0; c<3; ++c)
                    res_step_ptr[j*3+c] = UCHAR_MAX/2;
            }
            else {
                for(size_t c=0; c<3; ++c)
                    res_step_ptr[j*3+c] = input_step_ptr[j];
            }
        }
    }
    return oResult;
}
Пример #30
0
BOOL CInterfaceBase::I_GetDefaultInterfaceSettings(DWORD* pdBaudrate, DWORD* pdTimeout, CErrorInfo* pErrorInfo)
{
    BOOL oResult(FALSE);

    //Get Default PortSettings
	if(m_pGateway)
	{
		oResult = m_pGateway->GetDefaultPortSettings(pdBaudrate, pdTimeout, pErrorInfo);
	}

	return oResult;
}