📄 phantom_defs.h
字号:
#ifndef PHANTOM_DEFS_H_DEFINED
#define PHANTOM_DEFS_H_DEFINED
#include "cs_typedef.h"
/* phantom_defs.h */
/*+++ *******************************************************************\
*
* Abstract:
*
* Contains common definitions and typedefs used throughout the
* Phantom Driver software.
*
*
* Created: 3/30/2004
*
* Author: Amarnath Puttur
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* This software is provided "AS IS" without warranty of any kind,
* either expressed or implied, including but not limited to the
* implied warranties of noninfringement, merchantability and/or
* fitness for a particular purpose.
* ---------------------------------------------------------------
*
* Copyright (c) 2004 Conexant Systems, Inc.
* All rights reserved.
*
\******************************************************************* ---*/
/*******************************************************************************************************/
#ifndef TRUE
#define TRUE 1 /* from msdn: The bool type participates in integral promotions.*/
#define FALSE 0 /* ... An r-value of type bool can be converted to an r-value */
#endif /* ... of type int, with false becoming zero and true becoming one.*/
#ifndef True
#define True TRUE
#define False FALSE
#endif
/*******************************************************************************************************/
/* common-use types */
/*******************************************************************************************************/
//#ifndef BOOL
//typedef int BOOL;
//#endif /* BOOL */
/*******************************************************************************************************/
/* common-use equivs */
/*******************************************************************************************************/
typedef unsigned long PHANTOM_AGCACC;
typedef unsigned long PHANTOM_SYMBRATE;
/*******************************************************************************************************/
/* function prototypes passed by application (aka user) */
/*******************************************************************************************************/
typedef unsigned char PHANTOM_SBaddress;
typedef unsigned long *PHANTOM_SBstatus;
/* type pointer to function to read byte to ser.bus */
typedef unsigned char (*PHANTOM_READ_SB)(unsigned long, PHANTOM_SBaddress, PHANTOM_SBstatus);
/* type pointer to function to write byte to ser.bus */
typedef void (*PHANTOM_WRITE_SB)(unsigned long, PHANTOM_SBaddress,unsigned char, PHANTOM_SBstatus);
/* type pointer to function to write multiple-byte to ser.bus */
typedef void (*PHANTOM_MULTI_WRITE_SB)(unsigned long, unsigned long, PHANTOM_SBaddress, unsigned char*, PHANTOM_SBstatus);
/*******************************************************************************************************/
/* --- Demod Handle Management --- */
/*******************************************************************************************************/
#define PHANTOM_DEMOD_HANDLE_I2C_ADDR_MASK 0x000000FF
#define PHANTOM_DEMOD_HANDLE_I2C_ADDR_SHIFT 0UL
#define PHANTOM_DEMOD_HANDLE_UNIT_MASK 0x00000100
#define PHANTOM_TUNER_HANDLE_UNIT_MASK 0x00000200
#define PHANTOM_DEMOD_HANDLE_UNIT_SHIFT 8UL
#define PHANTOM_TUNER_HANDLE_UNIT_SHIFT 9UL
#define PHANTOM_DEMOD_HANDLE_CLIENT_MASK 0xFFFF0000
#define PHANTOM_DEMOD_HANDLE_CLIENT_SHIFT 16UL
#define PHANTOM_DEMOD_HANDLE_RESERVED_MASK ~(PHANTOM_DEMOD_HANDLE_I2C_ADDR_MASK | \
PHANTOM_DEMOD_HANDLE_UNIT_MASK | \
PHANTOM_DEMOD_HANDLE_CLIENT_MASK)
/* Access macros allowing position independent extraction and insertion of handle fields */
#define PHANTOM_GET_DEMOD_HANDLE_I2C_ADDR(handle) \
(((handle) & PHANTOM_DEMOD_HANDLE_I2C_ADDR_MASK) >> PHANTOM_DEMOD_HANDLE_I2C_ADDR_SHIFT)
#define PHANTOM_GET_DEMOD_HANDLE_CLIENT_INFO(handle) \
(((handle) & PHANTOM_DEMOD_HANDLE_CLIENT_MASK) >> PHANTOM_DEMOD_HANDLE_CLIENT_SHIFT)
#define PHANTOM_GET_DEMOD_HANDLE_UNIT(handle) \
(((handle) & PHANTOM_DEMOD_HANDLE_UNIT_MASK) >> PHANTOM_DEMOD_HANDLE_UNIT_SHIFT)
#define PHANTOM_GET_TUNER_HANDLE_UNIT(handle) \
(((handle) & PHANTOM_TUNER_HANDLE_UNIT_MASK) >> PHANTOM_TUNER_HANDLE_UNIT_SHIFT)
#define PHANTOM_SET_DEMOD_HANDLE_I2C_ADDR(handle, addr) \
(handle) = ((((handle) & ~PHANTOM_DEMOD_HANDLE_I2C_ADDR_MASK) | \
(((addr) << PHANTOM_DEMOD_HANDLE_I2C_ADDR_SHIFT) & PHANTOM_DEMOD_HANDLE_I2C_ADDR_MASK)) & 0xFF)
#define PHANTOM_SET_DEMOD_HANDLE_CLIENT_INFO(handle, value) \
(handle) = (((handle) & ~PHANTOM_DEMOD_HANDLE_CLIENT_MASK) | \
(((value) << PHANTOM_DEMOD_HANDLE_CLIENT_SHIFT) & PHANTOM_DEMOD_HANDLE_CLIENT_MASK))
#define PHANTOM_SET_DEMOD_HANDLE_UNIT(handle, unit) \
(handle) = (((handle) & ~PHANTOM_DEMOD_HANDLE_UNIT_MASK) | \
(((unit) << PHANTOM_DEMOD_HANDLE_UNIT_SHIFT) & PHANTOM_DEMOD_HANDLE_UNIT_MASK))
/*******************************************************************************************************/
/* --- MAX LIMITS --- */
/*******************************************************************************************************/
#define PHANTOM_MAX_BCDNO 18 /* max number of bcd digits in bcdno structure */
#define PHANTOM_MAX_DOWNLOAD_RETRY_TIMES 3 /* max number of software download retry times. */
#define PHANTOM_MAX_NIMS 5 /* max number of NIMs driver will handle (default is 2) */
#define PHANTOM_MAX_VERSION_LENGTH 25 /* max length of driver-version string */
#define PHANTOM_MAX_AGC_TABLE_LENGTH 10 /* Maximum entries in the AGC lookup table used for power estimation */
/* Command interface */
#define PHANTOM_MAX_LLF_ARG_SIZE 30
#define PHANTOM_MAX_LLF_WRITE_ARGS 30 /* Maximum number of LLF arguments */
#define PHANTOM_MAX_LLF_READ_ARGS 30 /* Maximum number of LLF result bytes */
#define PHANTOM_MAX_REGISTER_LEN 4 /* Max length of a multi-byte register field is 4 bytes */
#define PHANTOM_MAX_READ_CONTROL_BYTE_POLL 5000 /* Maximum poll count for llf read control byte */
#define PHANTOM_MAX_LNB_MSG 6 /* Maximum DiSEqC LNB messages per LLF */
#define PHANTOM_MAX_LNB_RDY_POLL 3000 /* Maximum LNB ready for new message bit poll */
#define PHANTOM_MAX_LNB_INTR_POLL 1000 /* Maximum LNB reply interrupt poll */
#define PHANTOM_MAX_LNB_REPLY_BYTE 8 /* Maximum number of LNB reply bytes */
#define PHANTOM_MAX_TUNER_HANDSHAKE_POLL 2000UL /* Maximum number of time to poll for tuner handshake bit */
#define PHANTOM_MAX_POWER_TABLE_LENGTH 10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -