/******************************************************************** * SemcoMxL201.c * MxL201 Functions * 2012/02/27 CHOI SUK MI *********************************************************************/ #include "UserDefinedIIC.h" #include "SemcoMXL201.h" /* Soft Reset */ int SemcoMxL201_SoftReset(int nUnit, MxL201RF_TunerConfigS* myTuner) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Soft_Reset(myTuner); if(Status != MxL_OK) return 1;//fail return 0;//success } int SemcoMxL201_StandBy(int nUnit, MxL201RF_TunerConfigS* myTuner) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Stand_By(myTuner); if(Status != MxL_OK) return 1;//fail return 0;//success } int SemcoMxL201_WakeUp(int nUnit, MxL201RF_TunerConfigS* myTuner) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Wake_Up(myTuner); if(Status != MxL_OK) return 1;//fail return 0;//success } /* Initialize MxL201 */ int SemcoMxL201_Init(int nUnit, MxL201RF_TunerConfigS* myTuner) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Tuner_Init(myTuner); if(Status != MxL_OK) return 1;//fail return 0;//success } int SemcoMxL201_RFTune(int nUnit, MxL201RF_TunerConfigS* myTuner, unsigned int Freq_Hz, MxL201RF_BW_MHz BWMHz) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Tuner_RFTune(myTuner, Freq_Hz, BWMHz); if(Status != MxL_OK) return 1;//fail return 0;//success } int SemcoMxL201_EnableLT(int nUnit, MxL201RF_TunerConfigS* myTuner, unsigned char En_LT) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Enable_LT(myTuner, En_LT); if(Status != MxL_OK) return 1;//fail return 0;//success } int SemcoMxL201_GetChipInfo(int nUnit, MxL201RF_TunerConfigS* myTuner, unsigned char* Ver) { MxL_ERR_MSG Status = MxL_OK; Status = MxL_Check_ChipVersion(myTuner, Ver); if(Status != MxL_OK) return 1;//fail return 0;//success } /* Get Lock Status */ /* return : 1-lock, 0-unlock */ unsigned char SemcoMxL201_GetLock(int nUnit, MxL201RF_TunerConfigS* myTuner) { MxL_ERR_MSG Status = MxL_OK; unsigned char bLock;//Lock status unsigned char RFLock, REFLock; bLock = 0; /* Read back Tuner lock status */ Status = MxL_RFSynth_Lock_Status(myTuner, &RFLock); if(Status != MxL_OK) return 0; Status = MxL_REFSynth_Lock_Status(myTuner, &REFLock); if(Status != MxL_OK) return 0; if(RFLock == 1 && REFLock == 1) bLock = 1; return bLock; } /* Get Power Level */ float SemcoMxL201_GetPowerLevel(int nUnit, MxL201RF_TunerConfigS* myTuner) { MxL_ERR_MSG Status = MxL_OK; float nPowerLevel; Status = MxL_Check_RF_Input_Power(myTuner, &nPowerLevel); if(Status != MxL_OK) return 1; return nPowerLevel; }