| 1 | /* |
|---|
| 2 | * $Id: DTT7600Tuner.h,v 1.1 2011/07/08 03:43:59 megakiss Exp $ |
|---|
| 3 | * $Revision: 1.1 $ |
|---|
| 4 | * $DateTime: 2005/08/24 19:03:17 $ |
|---|
| 5 | * $Change: 28028 $ |
|---|
| 6 | * $Author: megakiss $ |
|---|
| 7 | */ |
|---|
| 8 | |
|---|
| 9 | #ifndef _TUNERDTT7600ATSC_H |
|---|
| 10 | #define _TUNERDTT7600ATSC_H |
|---|
| 11 | |
|---|
| 12 | #include "Cas2BGeneralDefinitions.h" |
|---|
| 13 | |
|---|
| 14 | #ifndef COMMON_TARGET_ENDIAN |
|---|
| 15 | #define COMMON_TARGET_ENDIAN_LITTLE 1 /* Target for Little Endian system */ |
|---|
| 16 | #define COMMON_TARGET_ENDIAN_BIG 2 /* Target for Big Endian system */ |
|---|
| 17 | #define COMMON_TARGET_ENDIAN COMMON_TARGET_ENDIAN_BIG |
|---|
| 18 | #endif /* COMMON_TARGET_ENDIAN */ |
|---|
| 19 | |
|---|
| 20 | //For Tuner DTT7600ATSC |
|---|
| 21 | typedef enum EN_TYPE_TUNERDTT760xATSC_SET_OPTION { |
|---|
| 22 | TUNERDTT760xATSC_SET_CHANNEL = 0, |
|---|
| 23 | TUNERDTT760xATSC_SET_PIC_CARRIER_KHZ, |
|---|
| 24 | TUNERDTT760xATSC_SET_CENTER_FREQUENCY_KHZ, |
|---|
| 25 | }TYPE_TUNERDTT760xATSC_SET_OPTION; |
|---|
| 26 | |
|---|
| 27 | typedef enum EN_TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO{ |
|---|
| 28 | TUNERDTT760xATSC_REF_DIVIDER_RATIO_31_25 = 0, |
|---|
| 29 | TUNERDTT760xATSC_REF_DIVIDER_RATIO_50, |
|---|
| 30 | TUNERDTT760xATSC_REF_DIVIDER_RATIO_62_5, |
|---|
| 31 | TUNERDTT760xATSC_REF_DIVIDER_RATIO_166_7 |
|---|
| 32 | }TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO; |
|---|
| 33 | |
|---|
| 34 | typedef enum EN_TYPE_TUNERDTT760xATSC_AGC{ |
|---|
| 35 | TUNERDTT760xATSC_AGC_91 = 0, |
|---|
| 36 | TUNERDTT760xATSC_AGC_94, |
|---|
| 37 | TUNERDTT760xATSC_AGC_97, |
|---|
| 38 | TUNERDTT760xATSC_AGC_100, |
|---|
| 39 | TUNERDTT760xATSC_AGC_103, |
|---|
| 40 | TUNERDTT760xATSC_AGC_106, |
|---|
| 41 | }TYPE_TUNERDTT760xATSC_AGC; |
|---|
| 42 | |
|---|
| 43 | typedef enum EN_TYPE_TUNERDTT760xATSC_CHARGE_PUMP{ |
|---|
| 44 | TUNERDTT760xATSC_CHARGE_PUMP_60 = 0, |
|---|
| 45 | TUNERDTT760xATSC_CHARGE_PUMP_280 |
|---|
| 46 | }TYPE_TUNERDTT760xATSC_CHARGE_PUMP; |
|---|
| 47 | |
|---|
| 48 | typedef enum EN_TYPE_TUNERDTT760xATSC_AGC_TIME_CONSTANT{ |
|---|
| 49 | TUNERDTT760xATSC_AGC_TIME_CONSTANT_50_MS = 0, |
|---|
| 50 | TUNERDTT760xATSC_AGC_TIME_CONSTANT_2_SEC |
|---|
| 51 | }TYPE_TUNERDTT760xATSC_AGC_TIME_CONSTANT; |
|---|
| 52 | |
|---|
| 53 | #define DTT760xATSC_DEVICE_ADDRESS_WRITE 0xC2 |
|---|
| 54 | |
|---|
| 55 | #define TUNER_DTT760xATSC_SUCCESS 0 |
|---|
| 56 | #define TUNER_DTT760xATSC_CHANNEL_OUT_OF_RANGE 1 |
|---|
| 57 | #define TUNER_DTT760xATSC_N_VALU_OUT_OF_RANGE 2 |
|---|
| 58 | #define TUNER_DTT760xATSC_SEND_CONTROL_DATA_FAILED 3 |
|---|
| 59 | #define TUNER_DTT760xATSC_BEFORE_SEND_BYTES_FAILED 4 |
|---|
| 60 | #define TUNER_DTT760xATSC_AFTER_SEND_BYTES_FAILED 5 |
|---|
| 61 | #define TUNER_DTT760xATSC_FREQUENCY_VALUE_OUT_OF_RANGE 6 |
|---|
| 62 | #define TUNER_DTT760xATSC_FREQUENCY_DOES_NOT_FIT_ANY_CHANNEL 7 |
|---|
| 63 | #define TUNER_DTT760xATSC_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY -1 |
|---|
| 64 | #define TUNER_DTT760xATSC_CHARGE_PUMP_VALUE_OUT_OF_RANGE 9 |
|---|
| 65 | #define TUNER_DTT760xATSC_STEP_SIZE_VALUE_OUT_OF_RANGE 10 |
|---|
| 66 | #define TUNER_DTT760xATSC_AGC_VALUE_OUT_OF_RANGE 11 |
|---|
| 67 | #define TUNER_DTT760xATSC_ATC_VALUE_OUT_OF_RANGE 12 |
|---|
| 68 | |
|---|
| 69 | #define DTT760xATSC_MIN_LOW_BAND_CH 2 |
|---|
| 70 | #define DTT760xATSC_MAX_LOW_BAND_CH 4 |
|---|
| 71 | #define DTT760xATSC_MIN_MID_BAND_CH 5 |
|---|
| 72 | #define DTT760xATSC_MAX_MID_BAND_CH 12 |
|---|
| 73 | #define DTT760xATSC_MIN_HIGH_BAND_CH 21 |
|---|
| 74 | #define DTT760xATSC_MAX_HIGH_BAND_CH 69 |
|---|
| 75 | |
|---|
| 76 | #define DTT760xATSC_LOW_BAND_MIN 54000 |
|---|
| 77 | #define DTT760xATSC_LOW_BAND_MAX 162000 |
|---|
| 78 | #define DTT760xATSC_MID_BAND_MIN 162000 |
|---|
| 79 | #define DTT760xATSC_MID_BAND_MAX 455000 |
|---|
| 80 | #define DTT760xATSC_HIGH_BAND_MIN 455000 |
|---|
| 81 | #define DTT760xATSC_HIGH_BAND_MAX 866000 |
|---|
| 82 | #define DTT760xATSC_F_IF_KHZ 44000 |
|---|
| 83 | |
|---|
| 84 | |
|---|
| 85 | #define DTT760xATSC_AIR_FREQ_CH_2 57 |
|---|
| 86 | #define DTT760xATSC_AIR_FREQ_CH_3 63 |
|---|
| 87 | #define DTT760xATSC_AIR_FREQ_CH_4 69 |
|---|
| 88 | #define DTT760xATSC_AIR_FREQ_CH_5 79 |
|---|
| 89 | #define DTT760xATSC_AIR_FREQ_CH_6 85 |
|---|
| 90 | #define DTT760xATSC_AIR_FREQ_CH_7 177 |
|---|
| 91 | #define DTT760xATSC_AIR_FREQ_CH_13 213 |
|---|
| 92 | #define DTT760xATSC_AIR_FREQ_CH_14 473 |
|---|
| 93 | #define DTT760xATSC_AIR_FREQ_CH_69 803 |
|---|
| 94 | |
|---|
| 95 | #define DTT760xATSC_N_MAX 32768 //15 bits |
|---|
| 96 | |
|---|
| 97 | int TunerDTT760xATSCSendChannel(unsigned int uiChannel,CHANNEL_TABLE_TYPE iChannelTable,TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, BOOLEAN bUseExternalAgc,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); |
|---|
| 98 | int TunerDTT760xATSCSendFreq(unsigned long ulFrequency,TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, BOOLEAN bUseExternalAgc,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); |
|---|
| 99 | int TunerDTT760xATSCSendPicCarrier(unsigned long ulFrequency,TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, BOOLEAN bUseExternalAgc,unsigned int uiChargePump,unsigned int uiAgcTimeConstant) ; |
|---|
| 100 | unsigned long TunerDTT760xATSCGetFrequency(unsigned int uiChannelNumber, CHANNEL_TABLE_TYPE iChannelTable); |
|---|
| 101 | BOOLEAN TunerDTT760xATSCSetRFFreq(unsigned long ulFrequency,BOOLEAN bUseExternalAgc,unsigned char *Bb); |
|---|
| 102 | BOOLEAN TunerDTT760xATSCSetN( unsigned long ulFrequency, TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO iRefDividerRatio,unsigned char *Divider_Byte1, unsigned char *Divider_Byte2); |
|---|
| 103 | BOOLEAN TunerDTT760xATSCSetCP(unsigned int uiChargePump,unsigned char *Control_Byte1); |
|---|
| 104 | BOOLEAN TunerDTT760xATSCSetStepSize(TYPE_TUNERDTT760xATSC_REF_DIVIDER_RATIO iRefDividerRatio ,unsigned char *Control_Byte1,unsigned char *Control_Byte2); |
|---|
| 105 | BOOLEAN TunerDTT760xATSCSetAGC(unsigned int uiAgc,unsigned char *Auxiliary_Byte); |
|---|
| 106 | BOOLEAN TunerDTT760xATSCSetATC(unsigned int uiATC,unsigned char *Auxiliary_Byte); |
|---|
| 107 | BOOLEAN TunerDTT760xATSCBeforeSendBytes(void); |
|---|
| 108 | BOOLEAN TunerDTT760xATSCAfterSendBytes(void); |
|---|
| 109 | unsigned int TunerDTT760xATSCSendControlData(unsigned char Divider_Byte1, unsigned char Divider_Byte2, unsigned char Control_Byte1 ,unsigned char Band_Switch_Byte, unsigned char Auxiliary_Byte,unsigned char Control_Byte2); |
|---|
| 110 | void TunerDTT760xATSCInitsendBytes(unsigned char *Divider_Byte1, unsigned char *Divider_Byte2, unsigned char *Control_Byte1, unsigned char *Band_Switch_Byte, unsigned char *Auxiliary_Byte,unsigned char *Control_Byte2); |
|---|
| 111 | |
|---|
| 112 | |
|---|
| 113 | |
|---|
| 114 | #endif |
|---|