⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfidradiomanager.cpp

📁 UHF RFID Reader Program
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetRadioTransferTime(transferTime)))
			{
				TRACE1("GetRadioTransferTime failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;	
}

RFID_STATUS CRFIDRadioManager::SetRadioTransferTime(int nModule, INT32U transferTime)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetRadioTransferTime(transferTime)))
			{
				TRACE1("SetRadioTransferTime failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;	
}

RFID_STATUS	CRFIDRadioManager::GetRadioBeepMode(int nModule, RFID_RADIO_BEEP_MODE* mode)
{
	RFID_STATUS status = RFID_STATUS_OK;

#ifndef _WIN32_WCE
	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetBeepMode(mode)))
			{
				TRACE1("GetBeepMode failed:  RC = %d\n", status);
				return status;
			}

			return status;
	}
#else
	m_radioBeepMode = AfxGetApp()->GetProfileInt(TEXT("WaveBox"), TEXT("Mode"), 0);

	switch(m_radioBeepMode)
	{
	case RFID_RADIO_BEEP_MODE_ENABLE:
		*mode = RFID_RADIO_BEEP_MODE_ENABLE;
		break;
	case RFID_RADIO_BEEP_MODE_DISABLE:
		*mode = RFID_RADIO_BEEP_MODE_DISABLE;
		break;
	}
#endif

	return status;	
}

RFID_STATUS CRFIDRadioManager::SetRadioBeepMode(int nModule, RFID_RADIO_BEEP_MODE mode)
{
	RFID_STATUS status = RFID_STATUS_OK;

#ifndef _WIN32_WCE
	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetBeepMode(mode)))
			{
				TRACE1("SetBeepMode failed:  RC = %d\n", status);
				return status;
			}

		return status;
	}
#else
	AfxGetApp()->WriteProfileInt(TEXT("WaveBox"), TEXT("Mode"), mode);
	m_radioBeepMode = mode;
#endif

	return status;	
}

RFID_STATUS CRFIDRadioManager::GetRadioTrialCount(int nModule, INT32U* trial)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetTrialCount(trial)))
			{
				TRACE1("GetTrialCount failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::SetRadioTrialCount(int nModule, INT32U trial)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetTrialCount(trial)))
			{
				TRACE1("SetTrialCount failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::GetRadio18K6CCurrentSingulationAlgorithm(int nModule, RFID_18K6C_SINGULATION_ALGORITHM* algorithm)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetCurrentSingulationAlgorithm(algorithm)))
			{
				TRACE1("GetCurrentSingulationAlgorithm failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::SetRadio18K6CCurrentSingulationAlgorithm(int nModule, RFID_18K6C_SINGULATION_ALGORITHM algorithm)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetCurrentSingulationAlgorithm(algorithm)))
			{
				TRACE1("SetGetCurrentSingulationAlgorithm failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::SetRadio18K6CQueryTagGroup(int nModule, RFID_18K6C_TAG_GROUP* tagGroup)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetQueryTagGroup(tagGroup)))
			{
				TRACE1("SetQueryTagGroup failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::GetRadio18K6CQueryTagGroup(int nModule, RFID_18K6C_TAG_GROUP* tagGroup)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetQueryTagGroup(tagGroup)))
			{
				TRACE1("SetQueryTagGroup failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::SetRadio18K6CQueryParameters(int nModule, RFID_18K6C_QUERY_PARMS* pParms)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetQueryParameters(pParms)))
			{
				TRACE1("SetQueryParameters failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::GetRadio18K6CQueryParameters(int nModule, RFID_18K6C_QUERY_PARMS* pParms)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetQueryParameters(pParms)))
			{
				TRACE1("GetQueryParameters failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::SetRadioConfigurationParameter(int nModule, INT16U param, INT32U val)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->SetConfigurationParameter(param, val)))
			{
				TRACE1("SetConfigurationParameter failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;

}

RFID_STATUS CRFIDRadioManager::GetRadioConfigurationParameter(int nModule, INT16U param, INT32U* val)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetConfigurationParameter(param, val)))
			{
				TRACE1("GetConfigurationParameter failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;

}

RFID_STATUS CRFIDRadioManager::GetRadioFirmwareVersion(int nModule, RFID_VERSION* version)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetFirmwareVersion(version)))
			{
				TRACE1("GetFirmwareVersion failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::GetRadioMacVersion(int nModule, RFID_VERSION* version)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetMacVersion(version)))
			{
				TRACE1("GetFirmwareVersion failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}


RFID_STATUS CRFIDRadioManager::RadioCarrierWaveOn(int nModule)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->CarrierWaveOn()))
			{
				TRACE1("CarrierWaveOn failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::RadioCarrierWaveOff(int nModule )
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->CarrierWaveOff()))
			{
				TRACE1("CarrierWaveOff failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}


RFID_STATUS CRFIDRadioManager::Reset(int nModule)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
		{
			if(RFID_STATUS_OK != 
				(status = pRadio->MacReset()))
			{
				TRACE1("MacReset failed:  RC = %d\n", status);
				return status;
			}
		}
	}

	return status;
}


BOOL SetControlState(int nSelectPin, BOOL bState)
{
#ifdef _WIN32_WCE
	try
	{
		SSTWRFIDCTL sstwRfidCtl;

		memset(&sstwRfidCtl, NULL, sizeof(SSTWRFIDCTL));

		// Modified by Youngho Kim
		// Date : 2007/08/22
		// Description : Mobilecompia 傈盔 牢啊 规侥 荐沥

		// Pin 力绢

		// Original Version
		//sstwRfidCtl.u8SelectPin = (unsigned char)nSelectPin;
		//sstwRfidCtl.u8PinOut = (unsigned char)fState;

		// Modified Version
		sstwRfidCtl.u8SelectPin = nSelectPin; // x = 1~6
		sstwRfidCtl.u8PinOut = bState;    // 0:low, 1:high
		sstwRfidCtl.bReadStatus = 0; // not Read Pin State   

		return KernelIoControl(IOCTL_HAL_SSTW_RFID_CONTROL, &sstwRfidCtl, sizeof(SSTWRFIDCTL), NULL, NULL, NULL);
	}
	catch(CException* e)
	{
		e->ReportError();
		TRACE(_T("Set Control State Error\n"));	
		return FALSE;
	}
#endif // _WIN32_WCE
	return TRUE;
}

BOOL GetControlState(int nSelectPin)
{
#ifdef _WIN32_WCE
	try
	{
		SSTWRFIDCTL		sstwRfidCtl;
		unsigned char	pinIn;
		unsigned long   outSize;

		memset(&sstwRfidCtl, NULL, sizeof(SSTWRFIDCTL));

		// Modified by Youngho Kim
		// Date : 2007/08/22
		// Description : Mobilecompia 傈盔 牢啊 规侥 荐沥

		// Pin Read矫

		// Original Version
		//sstwRfidCtl.u8SelectPin = (unsigned char)nSelectPin;

		// Modified Version
		sstwRfidCtl.u8SelectPin = nSelectPin;  // x=1~7
		sstwRfidCtl.bReadStatus = 1;  // Read Pin State

		if(!KernelIoControl(IOCTL_HAL_SSTW_RFID_CONTROL, &sstwRfidCtl, sizeof(SSTWRFIDCTL), &pinIn, sizeof(unsigned char), &outSize))
		{
			return FALSE;
		}

		return (BOOL)pinIn;
	}
	catch (CException* e)
	{
		e->ReportError();
		TRACE(_T("Set Control State Error\n"));	
		return FALSE;
	}
#endif // _WIN32_WCE

	return TRUE;
}

BOOL CRFIDRadioManager::SetControlState(int nSelectPin, BOOL bState)
{
	return ::SetControlState(nSelectPin, bState);
}

BOOL CRFIDRadioManager::GetControlState(int nSelectPin)
{
	return ::GetControlState(nSelectPin);
}

RFID_STATUS CRFIDRadioManager::RadioFirmwareUpdate(int nModule, LPCTSTR filename, BOOL skipTestMode, BOOL testModeOnly, CWnd* pParent)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
		{
			CFirmwareUpdate *pUpdate = new CFirmwareUpdate( pRadio->GetRadioHandle(), filename, skipTestMode, testModeOnly, pParent);

			pUpdate->FirmwareUpate();
		}
	}

	return status;
}

RFID_STATUS CRFIDRadioManager::RadioFirmwareUpdate(int nModule, LPCTSTR filename, RFID_RADIO_FIRMWARE_MODE mode, CWnd* pParent)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
		{
			CFirmwareUpdate* pUpdate = new CFirmwareUpdate(pRadio->GetRadioHandle(), filename, mode, pParent);
			pUpdate->FirmwareUpate();
		}
	}

	return status;
}


void CRFIDRadioManager::SetWaveBox(LPCTSTR strPath)
{
	AfxGetApp()->WriteProfileString(TEXT("WaveBox"), TEXT("Path"), strPath);

	if(m_waveBox)
	{
		delete m_waveBox;

		m_waveBox = new CWaveBox();
		m_waveBox->Load((LPTSTR)strPath);
	}
}

RFID_STATUS CRFIDRadioManager::GetFrequencyBand(int nModule, CFrequencyBandList* band)
{
	RFID_STATUS status = RFID_STATUS_OK;

	if( m_pRadioEnum != NULL && m_pRadioEnum->countRadios != 0)
	{
		POSITION pos = m_listRadio.FindIndex(nModule);
		CRFIDRadio* pRadio = (CRFIDRadio*)m_listRadio.GetAt(pos);

		if( pRadio != NULL )
			if(RFID_STATUS_OK != 
				(status = pRadio->GetFrequencyBandList(band)))
			{
				TRACE1("GetFrequencyBandList failed:  RC = %d\n", status);
				return status;
			}
	}

	return status;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -