📄 dcf_api.c
字号:
/****************************************************************************/
/* CONEXANT PROPRIETARY AND CONFIDENTIAL */
/* Conexant Systems Inc. (c) 2007 - 2012 */
/* Shanghai, CHINA */
/* All Rights Reserved */
/****************************************************************************/
/*
* Filename: DCF_API.C
*
* Description: The file defines API to CABLE HAL
*
* Author: Gavin Zhang
*
****************************************************************************/
/* $Header: dcf_api.c, 1, 2007-10-8 13:36:53, Yong Huang$
* $Id: dcf_api.c,v 1.0, 2007-10-08 05:36:53Z, Yong Huang$
****************************************************************************/
/***************************/
/* Header Files */
/***************************/
#define DCFEXT
#include "dcf.h"
/* Variables for C/N estimation */
signed long gn32ST0CN[5][40];
extern DCF_REGISTER gDemReg[DCF_REG_NUM];
#if(DCF_INCLUDE_UART_DEBUG)
extern long n32sweep_rate;
extern long n32freq_offset;
#endif
const unsigned char gu8QAM16[] =
{
ST0_RID_EQU_0, 0x08,
ST0_RID_EQU_1, 0x58,
ST0_RID_CTRL_8, 0x08,
ST0_RID_DEINT_SYNC_0, 0x00,
ST0_RID_BERT_0, 0x84,
0x00
};
const unsigned char gu8QAM32[] =
{
ST0_RID_EQU_0, 0x18,
ST0_RID_EQU_1, 0x58,
ST0_RID_CTRL_8, 0x00,
ST0_RID_DEINT_SYNC_0, 0x02,
ST0_RID_BERT_0, 0x85,
0x00
};
const unsigned char gu8QAM64[] =
{
ST0_RID_EQU_0, 0x48,
ST0_RID_EQU_1, 0x58,
ST0_RID_CTRL_8, 0x00,
ST0_RID_DEINT_SYNC_0, 0x02,
ST0_RID_BERT_0, 0x85,
0x00
};
const unsigned char gu8QAM128[] =
{
ST0_RID_EQU_0, 0x29,
ST0_RID_EQU_1, 0x89,
ST0_RID_CTRL_8, 0x00,
ST0_RID_DEINT_SYNC_0, 0x00,
ST0_RID_BERT_0, 0x84,
0x00
};
const unsigned char gu8QAM256[] =
{
ST0_RID_EQU_0, 0x39,
ST0_RID_EQU_1, 0x69,
ST0_RID_CTRL_8, 0x08,
ST0_RID_DEINT_SYNC_0, 0x00,
ST0_RID_BERT_0, 0x85,
0x00
};
const unsigned char gu8QAMAUTO[] =
{
ST0_RID_EQU_0, 0x48,
ST0_RID_EQU_1, 0x58,
ST0_RID_CTRL_8, 0x00,
ST0_RID_DEINT_SYNC_0, 0x02,
ST0_RID_BERT_0, 0x85,
0x00
};
/* Initialization of DCF8720 */
/* ========================= */
const unsigned char gu8QAM16_DCF8720[] =
{
ST0_RID_DELAGC_0, 0xFF,
ST0_RID_DELAGC_1, 0x5c,
ST0_RID_DELAGC_2, 0xff,
ST0_RID_DELAGC_3, 0x0,
ST0_RID_DELAGC_4, 0x32,
ST0_RID_DELAGC_5, 0x5c,
ST0_RID_DELAGC_6, 0x80,
ST0_RID_DELAGC_7, 0x30,
ST0_RID_DELAGC_8, 0x0,
ST0_RID_WBAGC_0, 0x1b,
ST0_RID_WBAGC_1, 0x9d,
ST0_RID_WBAGC_2, 0x30,
ST0_RID_WBAGC_3, 0x18,
ST0_RID_WBAGC_4, 0x58,
ST0_RID_WBAGC_5, 0x00,
ST0_RID_WBAGC_6, 0x00,
ST0_RID_WBAGC_9, 0x02,
ST0_RID_WBAGC_10, 0x33,
ST0_RID_WBAGC_11, 0xFF,
ST0_RID_STLOOP_3, 0x08,
ST0_RID_STLOOP_5, 0x44,
ST0_RID_STLOOP_6, 0xdf,
ST0_RID_STLOOP_7, 0x18,
ST0_RID_STLOOP_8, 0x3d,
ST0_RID_STLOOP_9, 0x08,
ST0_RID_STLOOP_10, 0x1E,
ST0_RID_CRL_0, 0x13,
ST0_RID_CRL_1, 0x39,
ST0_RID_CRL_6, 0x7b,
ST0_RID_CRL_7, 0x1e,
ST0_RID_CRL_8, 0x01,
ST0_RID_CRL_11, 0xd0,
ST0_RID_CTRL_0, 0x20,
ST0_RID_CTRL_2, 0x0f,
ST0_RID_CTRL_4, 0x2a,
ST0_RID_CTRL_5, 0x00,
ST0_RID_CTRL_6, 0xc0,
ST0_RID_CTRL_8, 0x00,
0x00
};
const unsigned char gu8QAM32_DCF8720[] =
{
ST0_RID_DELAGC_0, 0xFF,
ST0_RID_DELAGC_1, 0x5c,
ST0_RID_DELAGC_2, 0xff,
ST0_RID_DELAGC_3, 0x0,
ST0_RID_DELAGC_4, 0x32,
ST0_RID_DELAGC_5, 0x5c,
ST0_RID_DELAGC_6, 0x80,
ST0_RID_DELAGC_7, 0x30,
ST0_RID_DELAGC_8, 0x0,
ST0_RID_WBAGC_0, 0x1b,
ST0_RID_WBAGC_1, 0x9d,
ST0_RID_WBAGC_2, 0x30,
ST0_RID_WBAGC_3, 0x18,
ST0_RID_WBAGC_4, 0x58,
ST0_RID_WBAGC_5, 0x00,
ST0_RID_WBAGC_6, 0x00,
ST0_RID_WBAGC_9, 0x02,
ST0_RID_WBAGC_10, 0x33,
ST0_RID_WBAGC_11, 0xFF,
ST0_RID_STLOOP_3, 0x08,
ST0_RID_STLOOP_5, 0x44,
ST0_RID_STLOOP_6, 0xdf,
ST0_RID_STLOOP_7, 0x18,
ST0_RID_STLOOP_8, 0x3d,
ST0_RID_STLOOP_9, 0x08,
ST0_RID_STLOOP_10, 0x1E,
ST0_RID_CRL_0, 0x13,
ST0_RID_CRL_1, 0x39,
ST0_RID_CRL_6, 0x7b,
ST0_RID_CRL_7, 0x1e,
ST0_RID_CRL_8, 0x01,
ST0_RID_CRL_11, 0xd0,
ST0_RID_CTRL_0, 0x20,
ST0_RID_CTRL_2, 0x0f,
ST0_RID_CTRL_4, 0x2a,
ST0_RID_CTRL_5, 0x00,
ST0_RID_CTRL_6, 0xc0,
ST0_RID_CTRL_8, 0x00,
0x00
};
const unsigned char gu8QAM64_DCF8720[] =
{
ST0_RID_DELAGC_0, 0xFF,
ST0_RID_DELAGC_1, 0x5c,
ST0_RID_DELAGC_2, 0xff,
ST0_RID_DELAGC_3, 0x0,
ST0_RID_DELAGC_4, 0x32,
ST0_RID_DELAGC_5, 0x5c,
ST0_RID_DELAGC_6, 0x80,
ST0_RID_DELAGC_7, 0x30,
ST0_RID_DELAGC_8, 0x0,
ST0_RID_WBAGC_0, 0x1b,
ST0_RID_WBAGC_1, 0x9d,
ST0_RID_WBAGC_2, 0x30,
ST0_RID_WBAGC_3, 0x18,
ST0_RID_WBAGC_4, 0x58,
ST0_RID_WBAGC_5, 0x00,
ST0_RID_WBAGC_6, 0x00,
ST0_RID_WBAGC_9, 0x02,
ST0_RID_WBAGC_10, 0x33,
ST0_RID_WBAGC_11, 0xFF,
ST0_RID_STLOOP_3, 0x08,
ST0_RID_STLOOP_5, 0x44,
ST0_RID_STLOOP_6, 0xdf,
ST0_RID_STLOOP_7, 0x18,
ST0_RID_STLOOP_8, 0x3d,
ST0_RID_STLOOP_9, 0x08,
ST0_RID_STLOOP_10, 0x1E,
ST0_RID_CRL_0, 0x13,
ST0_RID_CRL_1, 0x39,
ST0_RID_CRL_6, 0x7b,
ST0_RID_CRL_7, 0x1e,
ST0_RID_CRL_8, 0x01,
ST0_RID_CRL_11, 0xd0,
ST0_RID_CTRL_0, 0x20,
ST0_RID_CTRL_2, 0x0f,
ST0_RID_CTRL_4, 0x2a,
ST0_RID_CTRL_5, 0x00,
ST0_RID_CTRL_6, 0xc0,
ST0_RID_CTRL_8, 0x00,
0x00
};
const unsigned char gu8QAM128_DCF8720[] =
{
ST0_RID_DELAGC_0, 0xff,
ST0_RID_DELAGC_1, 0x5c,
ST0_RID_DELAGC_2, 0xff,
ST0_RID_DELAGC_3, 0x0,
ST0_RID_DELAGC_4, 0x32,
ST0_RID_DELAGC_5, 0x5c,
ST0_RID_DELAGC_6, 0x80,
ST0_RID_DELAGC_7, 0x00,
ST0_RID_DELAGC_8, 0x0,
ST0_RID_WBAGC_0, 0x1b,
ST0_RID_WBAGC_1, 0xba,
ST0_RID_WBAGC_2, 0x30,
ST0_RID_WBAGC_3, 0x18,
ST0_RID_WBAGC_4, 0x58,
ST0_RID_WBAGC_5, 0x00,
ST0_RID_WBAGC_6, 0x00,
ST0_RID_WBAGC_9, 0x02,
ST0_RID_WBAGC_10, 0xff,
ST0_RID_WBAGC_11, 0xff,
ST0_RID_STLOOP_3, 0x08,
ST0_RID_STLOOP_5, 0x04,
ST0_RID_STLOOP_6, 0xdf,
ST0_RID_STLOOP_7, 0x18,
ST0_RID_STLOOP_8, 0x3d,
ST0_RID_STLOOP_9, 0x08,
ST0_RID_STLOOP_10, 0x1E,
ST0_RID_CRL_0, 0x13,
ST0_RID_CRL_1, 0x39,
ST0_RID_CRL_6, 0xb0,
ST0_RID_CRL_7, 0x0f,
ST0_RID_CRL_8, 0x01,
ST0_RID_CRL_11, 0x1e,
ST0_RID_CTRL_0, 0x20,
ST0_RID_CTRL_2, 0x1f,
ST0_RID_CTRL_4, 0x2a,
ST0_RID_CTRL_5, 0x00,
ST0_RID_CTRL_6, 0xc0,
ST0_RID_CTRL_8, 0x00,
0x00
};
const unsigned char gu8QAM256_DCF8720[] =
{
ST0_RID_DELAGC_0, 0xff,
ST0_RID_DELAGC_1, 0x5c,
ST0_RID_DELAGC_2, 0xff,
ST0_RID_DELAGC_3, 0x0,
ST0_RID_DELAGC_4, 0x32,
ST0_RID_DELAGC_5, 0x5c,
ST0_RID_DELAGC_6, 0x80,
ST0_RID_DELAGC_7, 0x00,
ST0_RID_DELAGC_8, 0x0,
ST0_RID_WBAGC_0, 0x1b,
ST0_RID_WBAGC_1, 0xba,
ST0_RID_WBAGC_2, 0x30,
ST0_RID_WBAGC_3, 0x18,
ST0_RID_WBAGC_4, 0x58,
ST0_RID_WBAGC_5, 0x00,
ST0_RID_WBAGC_6, 0x00,
ST0_RID_WBAGC_9, 0x02,
ST0_RID_WBAGC_10, 0xff,
ST0_RID_WBAGC_11, 0xff,
ST0_RID_STLOOP_3, 0x08,
ST0_RID_STLOOP_5, 0x04,
ST0_RID_STLOOP_6, 0xdf,
ST0_RID_STLOOP_7, 0x18,
ST0_RID_STLOOP_8, 0x3d,
ST0_RID_STLOOP_9, 0x08,
ST0_RID_STLOOP_10, 0x1E,
ST0_RID_CRL_0, 0x13,
ST0_RID_CRL_1, 0x39,
ST0_RID_CRL_6, 0xb0,
ST0_RID_CRL_7, 0x0f,
ST0_RID_CRL_8, 0x01,
ST0_RID_CRL_11, 0x1e,
ST0_RID_CTRL_0, 0x20,
ST0_RID_CTRL_2, 0x1f,
ST0_RID_CTRL_4, 0x2a,
ST0_RID_CTRL_5, 0x00,
ST0_RID_CTRL_6, 0xc0,
ST0_RID_CTRL_8, 0x00,
0x00
};
const unsigned char gu8QAMAUTO_DCF8720[] =
{
ST0_RID_DELAGC_0, 0xFF,
ST0_RID_DELAGC_1, 0x5c,
ST0_RID_DELAGC_2, 0xff,
ST0_RID_DELAGC_3, 0x0,
ST0_RID_DELAGC_4, 0x32,
ST0_RID_DELAGC_5, 0x5c,
ST0_RID_DELAGC_6, 0x80,
ST0_RID_DELAGC_7, 0x30,
ST0_RID_DELAGC_8, 0x0,
ST0_RID_WBAGC_0, 0x1b,
ST0_RID_WBAGC_1, 0x9d,
ST0_RID_WBAGC_2, 0x30,
ST0_RID_WBAGC_3, 0x18,
ST0_RID_WBAGC_4, 0x58,
ST0_RID_WBAGC_5, 0x00,
ST0_RID_WBAGC_6, 0x00,
ST0_RID_WBAGC_9, 0x02,
ST0_RID_WBAGC_10, 0x33,
ST0_RID_WBAGC_11, 0xFF,
ST0_RID_STLOOP_3, 0x08,
ST0_RID_STLOOP_5, 0x44,
ST0_RID_STLOOP_6, 0xdf,
ST0_RID_STLOOP_7, 0x18,
ST0_RID_STLOOP_8, 0x3d,
ST0_RID_STLOOP_9, 0x08,
ST0_RID_STLOOP_10, 0x1E,
ST0_RID_CRL_0, 0x13,
ST0_RID_CRL_1, 0x39,
ST0_RID_CRL_6, 0x7b,
ST0_RID_CRL_7, 0x1e,
ST0_RID_CRL_8, 0x01,
ST0_RID_CRL_11, 0xd0,
ST0_RID_CTRL_0, 0x20,
ST0_RID_CTRL_2, 0x0f,
ST0_RID_CTRL_4, 0x2a,
ST0_RID_CTRL_5, 0x00,
ST0_RID_CTRL_6, 0xc0,
ST0_RID_CTRL_8, 0x00,
0x00
};
/*****************************************************************************/
/* FUNCTION: dcf_init_environment */
/* */
/* PARAMETERS: pNim - pointer to DCF_NIM struct */
/* u32DemodHandle - slave address of demodulator */
/* BusWrite - pointer to user-supplied low-level bus read */
/* function */
/* BusRead - pointer to user-supplied low-level bus write */
/* function */
/* DCF_TUNER_Install - function that will install a specific */
/* tuner */
/* u32DemodCrystalFreq - crystal frequency of demod */
/* pTsOutFormat - out format of mpeg interface */
/* waitfunct - function that delays mscount milliseconds */
/* */
/* DESCRIPTION: The function initializes THOMSON Cable Front-End DCF8722 */
/* */
/* RETURNS: True if successful, False if unsuccessful. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -