gr-baz Package
rtl2832-tuner_fc0012.h
Go to the documentation of this file.
00001 #ifndef __TUNER_FC0012_H
00002 #define __TUNER_FC0012_H
00003 
00004 #include "rtl2832.h"
00005 
00006 namespace RTL2832_NAMESPACE
00007 {
00008 namespace TUNERS_NAMESPACE
00009 {
00010 
00011 class fc0012 : public RTL2832_NAMESPACE::tuner_skeleton
00012 {
00013 IMPLEMENT_INLINE_TUNER_FACTORY(fc0012)
00014 public:
00015         fc0012(demod* p);
00016 public:
00017         inline virtual const char* name() const
00018         { return "Fitipower FC0012"; }
00019 public:
00020         int initialise(tuner::PPARAMS params = NULL);
00021         int set_frequency(double freq);
00022         int set_bandwidth(double bw);
00023         int set_gain(double gain);
00024 };
00025 
00026 }
00027 }
00028 
00029 #define FC0012_OK       0
00030 #define FC0012_ERROR    1
00031 
00032 #define FC0012_I2C_ADDR         0xc6
00033 #define FC0012_CHECK_ADDR       0x00
00034 #define FC0012_CHECK_VAL        0xa1
00035 
00036 #define FC0012_BANDWIDTH_6MHZ   6
00037 #define FC0012_BANDWIDTH_7MHZ   7
00038 #define FC0012_BANDWIDTH_8MHZ   8
00039 /*
00040 #define FC0012_LNA_GAIN_LOW     0x00
00041 #define FC0012_LNA_GAIN_MID     0x08
00042 #define FC0012_LNA_GAIN_HI      0x17
00043 #define FC0012_LNA_GAIN_MAX     0x10
00044 */
00045 //int FC0012_Read(void *pTuner, unsigned char RegAddr, unsigned char *pByte);
00046 //int FC0012_Write(void *pTuner, unsigned char RegAddr, unsigned char Byte);
00047 
00048 int FC0012_Open(RTL2832_NAMESPACE::tuner* pTuner);
00049 int FC0012_SetFrequency(RTL2832_NAMESPACE::tuner* pTuner, unsigned long Frequency, unsigned short Bandwidth);
00050 
00051 // Tuner LNA
00052 enum FC0012_LNA_GAIN_VALUE
00053 {
00054         FC0012_LNA_GAIN_LOW    = 0x0,
00055         FC0012_LNA_GAIN_MIDDLE = 0x1,
00056         FC0012_LNA_GAIN_HIGH   = 0x2,
00057 };
00058 
00059 #endif