/*! \addtogroup MID_AFC * @{ */ /******************************************************************************/ /** * @file mid_afc.h * * @brief implementation of ATV AFC middle-ware. * * @note Copyright (c) 2011 Sunplus Technology Co., Ltd. \n * All rights reserved. * * @author * Hsunying.Huang, 2011/05/04 Create * Felix.chou, 2012/02/13 Modify * ******************************************************************************/ /******************************************************************************* * Header include ******************************************************************************/ #ifndef _MID_AFC_H_ #define _MID_AFC_H_ /******************************************************************************* * Header include ******************************************************************************/ #include "types.h" #include "drv_tuner_external.h" /******************************************************************************* * Macro ******************************************************************************/ /******************************************************************************* * Constant ******************************************************************************/ /******************************************************************************* * Structure ******************************************************************************/ /******************************************************************************* * Enumeration ******************************************************************************/ typedef enum { MID_AFC_MODE_ALWAYS = 0, MID_AFC_MODE_SOURCECHANGE_ONLY, } MID_AFC_Mode_t; typedef enum { MID_AFC_SLEEPING = 0, MID_AFC_RUNNING, } MID_AFC_Status_t; typedef enum { MID_AFC_CMD_NORMAL = 0, MID_AFC_CMD_STOP, MID_AFC_CMD_PAUSE, MID_AFC_CMD_MAX, } MID_AFC_CMD_t; typedef enum { MID_AFT_PROCESS_DONE =0, MID_AFT_ADEMOD_PQSET =1, }MID_AFC_EVENT_t; /******************************************************************************* * Structure ******************************************************************************/ typedef struct { UINT32 dFreq; UINT32 dRange; MID_AFC_Mode_t eMode; DRV_RfFrontend_Std_t eStd; } MID_AFC_InputInfo_t; /******************************************************************************* * Program ******************************************************************************/ typedef void (*AFT_Callback_t)(MID_AFC_EVENT_t eventID); void AFT_RegCallBackFunc(AFT_Callback_t pFWCallBackFunc); void AFT_ProcessIsDone(void); UINT8 Get_AFT_ProcessStatus(void); /*! * @brief Parameters update function for AL_AutoAFCHandler. * * @param Ana_AFCInputInfo_t* pParam : pointer to initial parameters. * */ void MID_AFC_UpdateData(MID_AFC_InputInfo_t *pParam); /*! * @brief Get Current AFC Task Data * */ void MID_AFC_GetData(MID_AFC_InputInfo_t *pAfcData); /*! * @brief AFC Task Init. * */ void MID_AFC_Task_Init(void); /*! * @brief Start the AFC Task. * */ void MID_AFC_Start(void); /*! * @brief Stop the AFC Task. * */ void MID_AFC_Stop(void); /*! * @brief Pause the AFC Task. * */ void MID_AFC_Pause(void); /*! * @brief Resume the AFC Task. * */ void MID_AFC_Resume(void); UINT32 MID_AFC_GetResultFreq(void); MID_AFC_Status_t MID_AFC_GetStatus(void); #endif /*! @} end of addtogroup MID_AFC */