コード例 #1
0
ファイル: dvbt_nim_base.c プロジェクト: ldy972/Drone
/**

@see   DVBT_NIM_FP_IS_SIGNAL_PRESENT

*/
s32
dvbt_nim_default_IsSignalPresent(
	DVBT_NIM_MODULE *pNim,
	s32 *pAnswer
	)
{
	BASE_INTERFACE_MODULE *pBaseInterface;
	DVBT_DEMOD_MODULE *pDemod;
	s32 i;


	// Get base interface and demod module.
	pBaseInterface = pNim->pBaseInterface;
	pDemod         = pNim->pDemod;


	// Wait for signal present check.
	for(i = 0; i < DVBT_NIM_SINGAL_PRESENT_CHECK_TIMES_MAX_DEFAULT; i++)
	{
		// Wait 20 ms.
		pBaseInterface->WaitMs(pBaseInterface, 20);

		// Check TPS present status on demod.
		// Note: If TPS is locked, stop signal present check.
		if(pDemod->IsTpsLocked(pDemod, pAnswer) != FUNCTION_SUCCESS)
			goto error_status_execute_function;

		if(*pAnswer == YES)
			break;
	}


	return FUNCTION_SUCCESS;


error_status_execute_function:
	return FUNCTION_ERROR;
}