diff options
| author | Steve Markgraf <steve@steve-m.de> | 2012-03-12 00:30:54 +0100 |
|---|---|---|
| committer | Steve Markgraf <steve@steve-m.de> | 2012-03-12 00:30:54 +0100 |
| commit | 5a4fd14581e9da5418a7d9e42c32ff00cafa222e (patch) | |
| tree | f0698f49893a2d51d43ba2faa140f1432cd4432c /src/tuner_fc0013.h | |
initial commit
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Diffstat (limited to 'src/tuner_fc0013.h')
| -rw-r--r-- | src/tuner_fc0013.h | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/src/tuner_fc0013.h b/src/tuner_fc0013.h new file mode 100644 index 0000000..b04d7d1 --- /dev/null +++ b/src/tuner_fc0013.h @@ -0,0 +1,155 @@ +#ifndef __TUNER_FC0013_H +#define __TUNER_FC0013_H + +/** + +@file + +@brief FC0013 tuner module declaration + +One can manipulate FC0013 tuner through FC0013 module. +FC0013 module is derived from tuner module. + + +// The following context is implemented for FC0013 source code. + +**/ + +// Definitions +enum FC0013_TRUE_FALSE_STATUS +{ + FC0013_FALSE, + FC0013_TRUE, +}; + + +enum FC0013_I2C_STATUS +{ + FC0013_I2C_SUCCESS, + FC0013_I2C_ERROR, +}; + + +enum FC0013_FUNCTION_STATUS +{ + FC0013_FUNCTION_SUCCESS, + FC0013_FUNCTION_ERROR, +}; + + + +// Functions +int FC0013_Read(int pTuner, unsigned char RegAddr, unsigned char *pByte); +int FC0013_Write(int pTuner, unsigned char RegAddr, unsigned char Byte); + +int +fc0013_SetRegMaskBits( + int pTuner, + unsigned char RegAddr, + unsigned char Msb, + unsigned char Lsb, + const unsigned char WritingValue + ); + +int +fc0013_GetRegMaskBits( + int pTuner, + unsigned char RegAddr, + unsigned char Msb, + unsigned char Lsb, + unsigned char *pReadingValue + ); + +int FC0013_Open(); +int FC0013_SetFrequency(unsigned long Frequency, unsigned short Bandwidth); + +// Set VHF Track depends on input frequency +int FC0013_SetVhfTrack(int pTuner, unsigned long Frequency); + + +// The following context is FC0013 tuner API source code + + +// Definitions + +// Bandwidth mode +enum FC0013_BANDWIDTH_MODE +{ + FC0013_BANDWIDTH_6000000HZ = 6, + FC0013_BANDWIDTH_7000000HZ = 7, + FC0013_BANDWIDTH_8000000HZ = 8, +}; + + +// Default for initialing +#define FC0013_RF_FREQ_HZ_DEFAULT 50000000 +#define FC0013_BANDWIDTH_MODE_DEFAULT FC0013_BANDWIDTH_8000000HZ + + +// Tuner LNA +enum FC0013_LNA_GAIN_VALUE +{ + FC0013_LNA_GAIN_LOW = 0x00, // -6.3dB + FC0013_LNA_GAIN_MIDDLE = 0x08, // 7.1dB + FC0013_LNA_GAIN_HIGH_17 = 0x11, // 19.1dB + FC0013_LNA_GAIN_HIGH_19 = 0x10, // 19.7dB +}; + +// Manipulaing functions +void +fc0013_GetTunerType( + int pTuner, + int *pTunerType + ); + +void +fc0013_GetDeviceAddr( + int pTuner, + unsigned char *pDeviceAddr + ); + +int +fc0013_Initialize( + int pTuner + ); + +int +fc0013_SetRfFreqHz( + int pTuner, + unsigned long RfFreqHz + ); + +int +fc0013_GetRfFreqHz( + int pTuner, + unsigned long *pRfFreqHz + ); + +// Extra manipulaing functions +int +fc0013_SetBandwidthMode( + int pTuner, + int BandwidthMode + ); + +int +fc0013_GetBandwidthMode( + int pTuner, + int *pBandwidthMode + ); + +int +fc0013_RcCalReset( + int pTuner + ); + +int +fc0013_RcCalAdd( + int pTuner, + int RcValue + ); + + + + +#endif |
