summaryrefslogtreecommitdiff
path: root/src/tuner_fc0013.h
diff options
context:
space:
mode:
authorSteve Markgraf <steve@steve-m.de>2012-03-12 00:30:54 +0100
committerSteve Markgraf <steve@steve-m.de>2012-03-12 00:30:54 +0100
commit5a4fd14581e9da5418a7d9e42c32ff00cafa222e (patch)
treef0698f49893a2d51d43ba2faa140f1432cd4432c /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.h155
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