/* * $Id: Cas2BGeneralDefinitions.h,v 1.1 2011/07/08 03:43:59 megakiss Exp $ * $Revision: 1.1 $ * $DateTime: 2005/10/04 18:44:05 $ * $Change: 31292 $ * $Author: megakiss $ */ #ifndef CAS_2B_GENERAL_DEFINITIONS_H #define CAS_2B_GENERAL_DEFINITIONS_H /////////////////////////////////////////////////////////////////////////////////////// //definitions /////////////////////////////////////////////////////////////////////////////////////// /* typedef enum EN_BOOLEAN{ FALSE = 0, TRUE }BOOLEAN; */ #include "dsthalcommon.h" #define BOOLEAN unsigned char #define EN_BOOLEAN BOOLEAN #define __stdcall #define _stdcall #define VSB_8_TR_MODE_NUMBER 0x6 #define ITUB_QAM_64_MODE_NUMBER 0x23 #define ITUB_QAM_256_MODE_NUMBER 0x25 #define BTSC_MODE_NUMBER 0x30 #define VSB_SYMBOL_RATE 10.7622 #define ITUB_QAM_64_SYMBOL_RATE 5.0569 #define ITUB_QAM_256_SYMBOL_RATE 5.3605 //definitions for carrier offset calculation //MULTIPLIER = floor(1/32768)*(symbol rate * pow(10,6)/2) //FLOATING POINT NUMBER = (1/32768)*(symbol rate * pow(10,6)/2) - MULTIPLIER //FLOATING_POINT_MULTIPLIER = numerator of the FLOATING POINT NUMBER //FLOATING_POINT_DIVIDER = denominator of the FLOATING POINT NUMBER //VSB - 164.21811 //0.21 ~= 7/32 #define VSB_CARRIER_OFFSET_MULTIPLIER 164 #define VSB_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 7 #define VSB_CARRIER_OFFSET_FLOATING_POINT_DIVIDER 32 //ITUB_QAM_64 - 77.1621 //0.16 ~= 10/64 #define ITUB_QAM_64_CARRIER_OFFSET_MULTIPLIER 77 #define ITUB_QAM_64_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 10 #define ITUB_QAM_64_CARRIER_FLOATING_POINT_DIVIDER 64 //ITUB_QAM_64 - 81.79473 //0.79 ~= 51/64 #define ITUB_QAM_256_CARRIER_OFFSET_MULTIPLIER 81 #define ITUB_QAM_256_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 51 #define ITUB_QAM_256_CARRIER_FLOATING_POINT_DIVIDER 64 //OOB 3.088 - 22.95 //0.95 = 95/100 #define OOB_3_088_CARRIER_OFFSET_MULTIPLIER 22 #define OOB_3_088_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 95 #define OOB_3_088_CARRIER_FLOATING_POINT_DIVIDER 100 //OOB 1.544 - 11.47 //0.47 = 47/100 #define OOB_1_544_CARRIER_OFFSET_MULTIPLIER 11 #define OOB_1_544_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 47 #define OOB_1_544_CARRIER_FLOATING_POINT_DIVIDER 100 //OOB 2.048 - 15.625 //0.625 = 5/8 #define OOB_2_048_CARRIER_OFFSET_MULTIPLIER 15 #define OOB_2_048_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 5 #define OOB_2_048_CARRIER_FLOATING_POINT_DIVIDER 8 //OOB 25MHZ - 381.45 //0.45 = 45/100 #define OOB_25_CARRIER_OFFSET_MULTIPLIER 381 #define OOB_25_CARRIER_OFFSET_FLOATING_POINT_MULTIPLIER 45 #define OOB_25_CARRIER_FLOATING_POINT_DIVIDER 100 //for SNR calculations #define VSB_ADD_TO_LOG 90 #define ITUB_QAM_64_ADD_TO_LOG 90 #define ITUB_QAM_256_ADD_TO_LOG 90 #define ITUB_NTSC_ADD_TO_LOG 91 #define OOB_ADD_TO_LOG 56 //for PER calculation #define VSB_PACKETS_PER_SEC 12935 #define ITUB_64_PACKETS_PER_SEC 33863 #define ITUB_256_PACKETS_PER_SEC 47861 /////////////////////////////////////////////////////////////////////////////////////// //enums /////////////////////////////////////////////////////////////////////////////////////// //Error constant definitions typedef enum EN_ERROR_TYPE{ CAS_2B_API_SUCCESS = 0, UNDEFINED_RECEIVER_MODE, UNDEFINED_CARRIER_ACQUISITION_TYPE, UNDEFINED_INVERSE_SPECTRUM_TYPE, SNR_IS_CALCULATED_ONLY_FOR_VSB_AND_ITUB, CAS_2B_UNDEFINED_TUNER_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_REF_DIVIDER_RATIO_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_AGC_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_CHRGE_PUMP_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_AGC_TIME_CONSTANT_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_AGC_MODE_TYPE, CAS_2B_UNDEFINED_TUNER_DTT761X_SET_OPTION_TYPE, CASCADE_UNDEFINED_TUNER_DTT760xATSC_REF_DIVIDER_RATIO_TYPE, CASCADE_UNDEFINED_TUNER_DTT760xATSC_AGC_TYPE, CASCADE_UNDEFINED_TUNER_DTT760xATSC_CHRGE_PUMP_TYPE, CASCADE_UNDEFINED_TUNER_DTT760xATSC_AGC_TIME_CONSTANT_TYPE, CASCADE_UNDEFINED_TUNER_DTT760xATSC_SET_OPTION_TYPE, CASCADE_TUNER_DTT760xATSC_CHANNEL_OUT_OF_RANGE, CASCADE_TUNER_DTT760xATSC_N_VALUE_OUT_OF_RANGE, CASCADE_TUNER_DTT760xATSC_SEND_CONTROL_DATA_FAILED, CASCADE_UNDEFINED_TUNER_DTT7610_SET_OPTION_TYPE, CASCADE_TUNER_DTT760xATSC_FREQUENCY_VALUE_OUT_OF_RANGE, CASCADE_TUNER_DTT760xATSC_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CASCADE_TUNER_DTT760xATSC_GENERAL_FAILIUR, CAS_2B_TUNER_DTT761X_CHANNEL_OUT_OF_RANGE, CAS_2B_TUNER_DTT761X_N_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTT761X_SEND_CONTROL_DATA_FAILED, CAS_2B_TUNER_DTT761X_FREQUENCY_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_DTT761X_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CAS_2B_TUNER_DTT761X_GENERAL_FAILIUR, TUNER_THOMSON_T2000_UNDEFINED_SET_OPTION_TYPE, TUNER_THOMSON_T2000_SEND_CONTROL_DATA_FAILED, TUNER_THOMSON_T2000_UNDEFINED_AGC_SELECTION, TUNER_THOMSON_T2000_UNDEFINED_INPUT, TUNER_THOMSON_T2000_UNDEFINED_MODE, TUNER_THOMSON_T2000_UNDEFINED_REF_DIVIDER_RATIO, CAS_2B_UNDEFINED_TUNER_TD6650T_REF_DIVIDER_RATIO_TYPE, CAS_2B_UNDEFINED_TUNER_TD6650T_AGC_TYPE, CAS_2B_UNDEFINED_TUNER_TD6650T_AGC_TIME_CONSTANT_TYPE, CAS_2B_UNDEFINED_TUNER_TD6650T_SET_OPTION_TYPE, CAS_2B_TUNER_TD6650T_FREQUENCY_VALUE_OUT_OF_RANGE, CAS_2B_TUNER_TD6650T_BEFORE_SEND_BYTES_FAILED, CAS_2B_TUNER_TD6650T_AFTER_SEND_BYTES_FAILED, CAS_2B_TUNER_TD6650T_SEND_CONTROL_DATA_FAILED, CAS_2B_TUNER_TD6650T_GENERAL_FAILIUR, CAS_2B_UNDEFINED_TUNER_XC3028_SET_OPTION_TYPE, CAS_2B_TUNER_XC3028_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CAS_2B_TUNER_XC3028_FIRMWARE_MODE_NOT_DEFINED, CAS_2B_TUNER_XC3028_COMMUNICATION_ERROR, CAS_2B_TUNER_XC3028_DSP_MODE_NOT_DEFINED, CAS_2B_TUNER_XC3028_GENERAL_FAILIUR, CAS_2B_UNDEFINED_TUNER_MT2121_SET_OPTION_TYPE, CAS_2B_TUNER_MT2121_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY, CAS_2B_TUNER_MT2121_COMMUNICATION_ERROR, CAS_2B_TUNER_MT2121_GENERAL_FAILIUR, CAS_2B_TUNER_TDQU_COMMUNICATION_ERROR, CAS_2B_TUNER_TDQU_PARAMETER_ERROR, CAS_2B_TUNER_TDQU_GENERAL_FAILIUR, CAS_2B_TUNER_SN761662_COMMUNICATION_ERROR, CAS_2B_TUNER_SN761662_PARAMETER_ERROR, CAS_2B_TUNER_SN761662_GENERAL_FAILIUR, CAS_2B_TUNER_VP13HR_COMMUNICATION_ERROR, CAS_2B_TUNER_VP13HR_PARAMETER_ERROR, CAS_2B_TUNER_VP13HR_GENERAL_FAILIUR, CAS_2B_UNDEFINED_TUNER_SET_OPTION_TYPE, FUNCTION_RECEIVED_NULL_PARAMETER, FILE_SIZE_CAN_NOT_BE_DIVIDED_BY_DATA_SIZE, CAS_2B_API_SEND_CODE_AND_DATA_FUNCTION_FAILED, CAS_2B_SEND_RUN_FLAG_FUNCTION_FAILED, CAS_2B_ILLIGAL_RECEIVE_REGISTER_NUMBER, CAS_2B_SET_RECEIVE_REGISTER_FUNCTION_FAILED, UNDEFINED_CHANNEL_CONDITION, NDEFINED_NTSC_REJECTION_FILTER, UNDEFINED_MPEG_SERIAL_OUTPUT_MODE, UNDEFINED_TUNER_PHASE_NOISE, UNDEFINED_NTSC_REJECTION_FILTER, UNDEFINED_ITUB_DE_INTERLEAVER_MODE, RESET_CHECKSUM_FUNCTION_FAILED, CHECKSUM_IS_INCORRECT, ILLIGAL_FIRST_MODE_PRIORITY_MODE, ILLIGAL_SECOND_MODE_PRIORITY_MODE, ILLIGAL_THIRD_MODE_PRIORITY_MODE, TWO_PRIORITIES_HAVE_THE_SAME_RECEIVER_MODE, UNDEFINED_CHANNEL_TABLE_TYPE, START_FREQUENCY_IS_BIGGER_THAN_END_FREQUENCY, ILLIGAL_FREQUENCY, ILLIGAL_STEP_SIZE, RESULT_BUFFER_SIZE_IS_NOT_BIG_ENOUGH, SEND_TUNER_FREQUENCY_FAILED, UNDEFINED_NTSC_SIGNAL_DETECTION, OOB_FREQ_OUT_OF_RANGE, RECEIVED_UNDEFINED_AUDIO_CHANNEL_STATE, RECEIVED_UNDEFINED_AUDIO_DEVIATION_SENSITIVITY_MODE, RECEIVED_UNDEFINED_AUDIO_STANDARD, RECEIVE_REGISTER_NUMBER_OUT_OF_RANGE }ERROR_TYPE; //For ChannelChange operation typedef enum EN_CAS_2B_TYPE_RECEIVER_MODE{ CAS_2B_RECEIVER_MODE_VSB_8_TR = 0, CAS_2B_RECEIVER_MODE_ITUB_64, CAS_2B_RECEIVER_MODE_ITUB_256, CAS_2B_RECEIVER_MODE_ITUB_AUTO_DETECT, CAS_2B_RECEIVER_MODE_AUDIO_US_BTSC, CAS_2B_RECEIVER_MODE_AUDIO_A2_KOREA, CAS_2B_RECEIVER_MODE_AUDIO_RADIO_FM, CAS_2B_RECEIVER_MODE_POWER_DOWN }CAS_2B_TYPE_RECEIVER_MODE; typedef enum EN_TYPE_CARRIER_ACQUISITION{ CARRIER_ACQUISITION_NORMAL = 0, CARRIER_ACQUISITION_WIDE }TYPE_CARRIER_ACQUISITION; typedef enum EN_TYPE_INVERSE_SPECTRUM{ INVERSE_SPECTRUM_ON = 0, INVERSE_SPECTRUM_OFF }TYPE_INVERSE_SPECTRUM; typedef enum EN_TYPE_NTSC_SIGNAL_DETECTION{ NORMAL_VSB = 0, NTSC_SIGNAL_DETECTION }TYPE_NTSC_SIGNAL_DETECTION; //For IsLocked typedef enum EN_LOCK_STATUS{ UNDEFINED_LOCK_STATUS = -1, UNLOCKED, LOCKED }LOCK_STATUS; //For IsLocked typedef enum EN_LOCK_TYPE{ LOCK_TYPE_UNLOCKED = 0, LOCK_TYPE_ANALOG, LOCK_TYPE_DIGITAL, LOCK_TYPE_DIGITAL_AND_ANALOG }LOCK_TYPE; //For GetSNR typedef enum EN_SNR_TYPE{ SNR_BEFORE_EQ = 0, SNR_AFTER_EQ }SNR_TYPE; typedef enum EN_CHECKSUM_STATUS{ CHECKSUM_STATUS_INCORRECT = 0, CHECKSUM_STATUS_CORRECT }CHECKSUM_STATUS; //For SetChannel typedef enum EN_TUNER_TYPE{ TUNER_DTT7611 = 0, TUNER_DTT7612, TUNER_THOMSON_T_2000, TUNER_PHILIPS_TD6650T, TUNER_XCEIVE_XC3028, TUNER_DTT760x, TUNER_MT2121, TUNER_TDQU, TUNER_SN761662, TUNER_FQD1236, TUNER_VP13HR, Not_Defined_Tuner = 100 //kiki }TUNER_TYPE; typedef enum EN_TYPE_TUNER_SET_OPTION { TUNER_SET_CHANNEL = 0, TUNER_SET_PIC_CARRIER_KHZ, TUNER_SET_CENTER_FREQUENCY_KHZ, }TYPE_TUNER_SET_OPTION; typedef enum EN_CHANNEL_TABLE_TYPE{ NA_TERRESTRIAL = 0, NA_CATV, IRC, HRC }CHANNEL_TABLE_TYPE; typedef enum EN_TYPE_TUNER_FIRMAWARE_MODE{ TUNER_FIRMAWARE_MODE_DIGITAL = 0, TUNER_FIRMAWARE_MODE_ANALOG }TYPE_TUNER_FIRMAWARE_MODE; typedef enum EN_TYPE_TUNER_AGC_MODE{ TUNER_AGC_MODE_INTERNAL_DIGITAL = 0, TUNER_AGC_MODE_INTERNAL_ANALOG }TYPE_TUNER_AGC_MODE; typedef enum EN_TYPE_TUNER_INPUT_SELECTION{ TUNER_INPUT_SELECTION_TERRESTRIAL = 0, TUNER_INPUT_SELECTION_CABLE }TYPE_TUNER_INPUT_SELECTION; typedef enum EN_TYPE_TUNER_AFT_SELECTION{ TUNER_AFT_NOT_REQUIRED = 0, TUNER_AFT_IS_REQUIRED }TYPE_TYPE_TUNER_AFT_SELECTION; typedef enum EN_REF_DIVIDER_RATIO { REF_DIVIDER_RATIO_50 = 0, REF_DIVIDER_RATIO_31_25, REF_DIVIDER_RATIO_166_7, REF_DIVIDER_RATIO_62_5 }REF_DIVIDER_RATIO; typedef enum EN_CHARGE_PUMP{ CHARGE_PUMP_60 = 0, CHARGE_PUMP_280 }CHARGE_PUMP; //for sending messages typedef enum EN_TYPE_TUNER_PHASE_NOISE{ TUNER_PHASE_NOISE_NORMAL = 0, TUNER_PHASE_NOISE_HIGH }TYPE_TUNER_PHASE_NOISE; typedef enum EN_TYPE_MPEG_OUTPUT_MODE{ MPEG_OUTPUT_MODE_CONTROLED_BY_PRM_PINS = 0, MPEG_OUTPUT_MODE_PARALLEL, MPEG_OUTPUT_MODE_SERIAL }TYPE_MPEG_OUTPUT_MODE; typedef enum EN_TYPE_VSB_CHANNEL_CONDITION{ VSB_CHANNEL_CONDITION_AUTO = 0, VSB_CHANNEL_CONDITION_STATIC, VSB_CHANNEL_CONDITION_DYNAMIC, VSB_CHANNEL_CONDITION_FAST_DYNAMIC }TYPE_VSB_CHANNEL_CONDITION; typedef enum EN_TYPE_VSB_NTSC_REJECTION_FILTER{ VSB_NTSC_REJECTION_FILTER_AUTO, VSB_NTSC_REJECTION_FILTER_OFF, VSB_NTSC_REJECTION_FILTER_ON, }TYPE_VSB_NTSC_REJECTION_FILTER; typedef enum EN_TYPE_ITUB_DE_INTERLEAVER_MODE{ ITUB_DE_INTERLEAVER_MODE_AUTOMATIC = 0, ITUB_DE_INTERLEAVER_MODE_128_1, ITUB_DE_INTERLEAVER_MODE_128_2, ITUB_DE_INTERLEAVER_MODE_64_2, ITUB_DE_INTERLEAVER_MODE_128_3, ITUB_DE_INTERLEAVER_MODE_32_4, ITUB_DE_INTERLEAVER_MODE_128_4, ITUB_DE_INTERLEAVER_MODE_16_8, ITUB_DE_INTERLEAVER_MODE_8_16 }TYPE_ITUB_DE_INTERLEAVER_MODE; //for channel scan typedef enum EN_TYPE_CHANNEL_SCAN_FREQUENCY_OPTION{ SCAN_ACCORDING_TO_TABLE = 0, SCAN_ACCORDING_TO_FREQUENCY, SCAN_ACCORDING_TO_INPUT_TABLE }TYPE_CHANNEL_SCAN_FREQUENCY_OPTION; typedef enum EN_TYPE_CHANNEL_SCAN_RECEIVER_MODE_PRIORITY{ CHANNEL_SCAN_RECEIVER_MODE_PRIORITY_NONE = 0, CHANNEL_SCAN_RECEIVER_MODE_PRIORITY_VSB, CHANNEL_SCAN_RECEIVER_MODE_PRIORITY_ITUB, }TYPE_CHANNEL_SCAN_RECEIVER_MODE_PRIORITY; typedef enum EN_TYPE_CHANNEL_SCAN_RECEIVER_MODE_LOCK{ CHANNEL_SCAN_RECEIVER_MODE_UNLOCKED = 0, CHANNEL_SCAN_RECEIVER_MODE_LOCK_VIDEO_AUDIO , CHANNEL_SCAN_RECEIVER_MODE_LOCK_VIDEO, CHANNEL_SCAN_RECEIVER_MODE_LOCK_AUDIO, CHANNEL_SCAN_RECEIVER_MODE_LOCK_VSB_8_TR, CHANNEL_SCAN_RECEIVER_MODE_LOCK_VSB_16, CHANNEL_SCAN_RECEIVER_MODE_LOCK_ITUB_64, CHANNEL_SCAN_RECEIVER_MODE_LOCK_ITUB_256, CHANNEL_SCAN_RECEIVER_MODE_LOCK_NTSC }TYPE_CHANNEL_SCAN_RECEIVER_MODE_LOCK; typedef enum EN_TYPE_FDC_MODE{ OOB_FDC_MODE_3_088 = 0, OOB_FDC_MODE_1_544, OOB_FDC_MODE_2_048, OOB_FDC_MODE_AUTO }TYPE_FDC_MODE; typedef enum EN_TYPE_AUDIO_CHANNEL{ AUDIO_CHANNEL_LEFT = 0, AUDIO_CHANNEL_RIGHT }TYPE_AUDIO_CHANNEL; typedef enum EN_TYPE_AUDIO_CHANNEL_STATE{ AUDIO_CHANNEL_STATE_MONO=0, AUDIO_CHANNEL_STATE_LEFT, AUDIO_CHANNEL_STATE_RIGHT, AUDIO_CHANNEL_STATE_MONO_2, AUDIO_CHANNEL_STATE_MUTE, AUDIO_CHANNEL_STATE_UNDEFINED }TYPE_AUDIO_CHANNEL_STATE; typedef enum EN_TYPE_AUDIO_DEVIATION_MODE{ AUDIO_DEVIATION_NORMAL = 0, AUDIO_DEVIATION_HIGH_DEVIATION, AUDIO_DEVIATION_LOW_DEVIATION, AUDIO_DEVIATION_UNDEFINED }TYPE_AUDIO_DEVIATION_MODE; typedef enum EN_TYPE_AUDIO_STANDARD{ AUDIO_STANDARD_BTSC = 0, AUDIO_STANDARD_KOREA, AUDIO_STANDARD_RADIO_FM, AUDIO_STANDARD_UNDEFINED }TYPE_AUDIO_STANDARD; typedef enum EN_TYPE_AUDIO_NR_SWITCH{ AUDIO_NR_SWITCH_STEREO=0, AUDIO_NR_SWITCH_SAP }TYPE_AUDIO_NR_SWITCH; typedef enum EN_TYPE_AUDIO_STEREO_MODE{ AUDIO_STEREO_MODE_LEFT_RIGHT = 0, AUDIO_STEREO_MODE_RIGHT_LEFT, AUDIO_STEREO_MODE_LEFT_LEFT, AUDIO_STEREO_MODE_RIGHT_RIGHT }TYPE_AUDIO_STEREO_MODE; typedef enum EN_TYPE_AUDIO_BILINGUAL_MODE{ AUDIO_BILINGUAL_MODE_MONO1_MONO2=0, AUDIO_BILINGUAL_MODE_MONO2_MONO2 }TYPE_AUDIO_BILINGUAL_MODE; typedef enum EN_TYPE_AUDIO_SCL_TO_WS_DIVISION_FACTOR{ AUDIO_SCL_TO_WS_DIVISION_FACTOR_32=0, AUDIO_SCL_TO_WS_DIVISION_FACTOR_48, AUDIO_SCL_TO_WS_DIVISION_FACTOR_64 }TYPE_AUDIO_SCL_TO_WS_DIVISION_FACTOR; typedef enum EN_TYPE_AUDIO_IIC_OUT_RATE{ AUDIO_IIS_OUT_RATE_48_KHZ=0, AUDIO_IIS_OUT_RATE_96_KHZ, AUDIO_IIS_OUT_RATE_44_1_KHZ, AUDIO_IIS_OUT_RATE_88_2_KHZ, AUDIO_IIS_OUT_RATE_32_KHZ }TYPE_AUDIO_IIS_OUT_RATE; typedef enum EN_TYPE_AUDIO_IIC_MODE{ AUDIO_IIS_MODE_IIS = 0, AUDIO_IIS_MODE_LJ, AUDIO_IIS_MODE_RJ }TYPE_AUDIO_IIS_MODE; typedef enum EN_TYPE_AUDIO_MASTER_SLAVE_MODE{ TYPE_AUDIO_SLAVE_MODE = 0, TYPE_AUDIO_MASTER_MODE, TYPE_AUDIO_UNDEFINED_MASTER_SLAVE_MODE }TYPE_AUDIO_MASTER_SLAVE_MODE; typedef enum EN_TYPE_SCL_TO_WS_RATIO{ TYPE_SCL_TO_WS_RATIO_32 = 0, TYPE_SCL_TO_WS_RATIO_48, TYPE_SCL_TO_WS_RATIO_64, TYPE_SCL_TO_WS_RATIO_UNDEFINED }TYPE_SCL_TO_WS_RATIO; typedef enum EN_TYPE_IIS_OUT_RATE{ TYPE_IIS_OUT_RATE_48 = 0, TYPE_IIS_OUT_RATE_96, TYPE_IIS_OUT_RATE_44_1, TYPE_IIS_OUT_RATE_88_2, TYPE_IIS_OUT_RATE_32, TYPE_IIS_OUT_RATE_UNDEFINED }TYPE_IIS_OUT_RATE; typedef enum EN_TYPE_IIS_MODE{ TYPE_IIS_MODE_IIS = 0, TYPE_IIS_MODE_LJ, TYPE_IIS_MODE_RJ, TYPE_IIS_MODE_UNDEFINED }TYPE_IIS_MODE; typedef enum EN_TYPE_AGC_AMPLIFIER{ TYPE_AGC_AMPLIFIER_UPC3217 = 0, TYPE_AGC_AMPLIFIER_UPC3219, TYPE_AGC_AMPLIFIER_UPC3221, TYPE_AGC_AMPLIFIER_L06, TYPE_AGC_AMPLIFIER_DDM40, TYPE_AGC_AMPLIFIER_UNDEFINED }TYPE_AGC_AMPLIFIER; /////////////////////////////////////////////////////////////////////////////////////// //structs /////////////////////////////////////////////////////////////////////////////////////// typedef struct ST_CAS_2B_CHANNEL_CHANGE_PARAMETERS{ TYPE_CARRIER_ACQUISITION iCarrierAcquisition ; TYPE_INVERSE_SPECTRUM iInverseSpectrum ; CAS_2B_TYPE_RECEIVER_MODE iReceiverMode; TYPE_NTSC_SIGNAL_DETECTION iNtscSignalDetection ; }CAS_2B_CHANNEL_CHANGE_PARAMETERS; typedef struct ST_CAS_2B_OOB_CHANNEL_CHANGE_PARAMETERS{ TYPE_FDC_MODE iFDCMode; BOOLEAN bIsPowerDown; unsigned long ulSetValue; }CAS_2B_OOB_CHANNEL_CHANGE_PARAMETERS; typedef struct ST_NUMERATOR_DENOMINATOR{ union{ short sNumerator; long lNumerator; unsigned long ulNumerator; unsigned short usNumerator; }Numerator; union{ short sDenominator; long lDenominator; unsigned long ulDenominator; unsigned short usDenominator; }Denominator; }NUMERATOR_DENOMINATOR; typedef struct ST_CAS_2B_CODE_VERSION{ unsigned short usaVector[6]; }CAS_2B_CODE_VERSION; typedef struct ST_CAS_2B_TUNER_PARAMETERS{ TUNER_TYPE iTunerType; TYPE_TUNER_SET_OPTION iTunerSet; unsigned long ulSetValue; CHANNEL_TABLE_TYPE iChannelTableType; TYPE_TUNER_AGC_MODE iAgcMode; TYPE_TUNER_INPUT_SELECTION iInputSelection; BOOLEAN bLoadFirmware; TYPE_TUNER_FIRMAWARE_MODE iFirmwareMode; BOOLEAN bIsFMTrapOn; BOOLEAN bIsAFTReq; }CAS_2B_TUNER_PARAMETERS; typedef struct ST_CAS_2B_CHANNEL_SCAN_PARAMETERS{ //Receiver Modes Priority TYPE_CHANNEL_SCAN_RECEIVER_MODE_PRIORITY iReceiverModeFirstPriority; TYPE_CHANNEL_SCAN_RECEIVER_MODE_PRIORITY iReceiverModeSecondPriority; BOOLEAN bNtscCheck; //Frequncy Options TYPE_CHANNEL_SCAN_FREQUENCY_OPTION iChannelScanFrequencyOption; CHANNEL_TABLE_TYPE iChannelTableType; unsigned long ulStartFrequency; unsigned long ulEndFrequency; unsigned long ulStepSize; unsigned short usInputFrequencyTableSize; //Channel Change Options BOOLEAN bPerformCascadeChannelChange; unsigned long ulDelay; TYPE_CARRIER_ACQUISITION iCarrierAcquisition; //tuner TUNER_TYPE iTunerType; //general unsigned long ulNumberOfTries; unsigned short usResultsBufferSize; }CAS_2B_CHANNEL_SCAN_PARAMETERS; typedef struct ST_CAS_2B_CHANNEL_SCAN_RESULT{ unsigned long ulFrequency;//KHz long lCarrierOffset;//KHz long lNtscCarrierOffset;//KHz unsigned short usSnr;//db NUMERATOR_DENOMINATOR stAgcIfCommand; BOOLEAN bRfInverseSpectrum; NUMERATOR_DENOMINATOR stSymbolRateoffset;//ppm TYPE_ITUB_DE_INTERLEAVER_MODE iDiMode; TYPE_CHANNEL_SCAN_RECEIVER_MODE_LOCK iReceiverModeLock; BOOLEAN bNtscSignalDetected; }CAS_2B_CHANNEL_SCAN_RESULT; typedef struct ST_CAS_2B_AUDIO_MESSAGE_PARAMETERS{ //for receive 1 BOOLEAN bAudioLeftChannelMute; BOOLEAN bAudioRightChannelMute; BOOLEAN bAudioForcedMonoMode; TYPE_AUDIO_NR_SWITCH iNRSwithch; TYPE_AUDIO_STEREO_MODE iStereoMode; TYPE_AUDIO_BILINGUAL_MODE iBilingualMode; BOOLEAN bDeEmphasisOn; BOOLEAN bDbxOn; TYPE_AUDIO_DEVIATION_MODE iHighDeviationMode; BOOLEAN bCh1PllPiIntegratorReset; BOOLEAN bCh2PllPiIntegratorReset; //for receive 2 unsigned short usLeftOutputGain; unsigned short usRightOutputGain; //for receieve 3 TYPE_SCL_TO_WS_RATIO iSclToWsDivisionFactor; TYPE_IIS_OUT_RATE iIisOutRate; TYPE_IIS_MODE iIisMode; TYPE_AUDIO_MASTER_SLAVE_MODE iMasterSlaveMode; //for receive 4 BOOLEAN bUseManualDbxGain; unsigned short usManualDbxGainVAlue; }CAS_2B_AUDIO_MESSAGE_PARAMETERS; #endif