tuner_fc0013.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. #ifndef __TUNER_FC0013_H
  2. #define __TUNER_FC0013_H
  3. /**
  4. @file
  5. @brief FC0013 tuner module declaration
  6. One can manipulate FC0013 tuner through FC0013 module.
  7. FC0013 module is derived from tuner module.
  8. // The following context is implemented for FC0013 source code.
  9. **/
  10. // Definitions
  11. enum FC0013_TRUE_FALSE_STATUS
  12. {
  13. FC0013_FALSE,
  14. FC0013_TRUE,
  15. };
  16. enum FC0013_I2C_STATUS
  17. {
  18. FC0013_I2C_SUCCESS,
  19. FC0013_I2C_ERROR,
  20. };
  21. enum FC0013_FUNCTION_STATUS
  22. {
  23. FC0013_FUNCTION_SUCCESS,
  24. FC0013_FUNCTION_ERROR,
  25. };
  26. // Functions
  27. int FC0013_Read(void *pTuner, unsigned char RegAddr, unsigned char *pByte);
  28. int FC0013_Write(void *pTuner, unsigned char RegAddr, unsigned char Byte);
  29. int
  30. fc0013_SetRegMaskBits(
  31. void *pTuner,
  32. unsigned char RegAddr,
  33. unsigned char Msb,
  34. unsigned char Lsb,
  35. const unsigned char WritingValue
  36. );
  37. int
  38. fc0013_GetRegMaskBits(
  39. void *pTuner,
  40. unsigned char RegAddr,
  41. unsigned char Msb,
  42. unsigned char Lsb,
  43. unsigned char *pReadingValue
  44. );
  45. int FC0013_Open(void *pTuner);
  46. int FC0013_SetFrequency(void *pTuner, unsigned long Frequency, unsigned short Bandwidth);
  47. // Set VHF Track depends on input frequency
  48. int FC0013_SetVhfTrack(void *pTuner, unsigned long Frequency);
  49. // The following context is FC0013 tuner API source code
  50. // Definitions
  51. // Bandwidth mode
  52. enum FC0013_BANDWIDTH_MODE
  53. {
  54. FC0013_BANDWIDTH_6000000HZ = 6,
  55. FC0013_BANDWIDTH_7000000HZ = 7,
  56. FC0013_BANDWIDTH_8000000HZ = 8,
  57. };
  58. // Default for initialing
  59. #define FC0013_RF_FREQ_HZ_DEFAULT 50000000
  60. #define FC0013_BANDWIDTH_MODE_DEFAULT FC0013_BANDWIDTH_8000000HZ
  61. // Tuner LNA
  62. enum FC0013_LNA_GAIN_VALUE
  63. {
  64. FC0013_LNA_GAIN_LOW = 0x00, // -6.3dB
  65. FC0013_LNA_GAIN_MIDDLE = 0x08, // 7.1dB
  66. FC0013_LNA_GAIN_HIGH_17 = 0x11, // 19.1dB
  67. FC0013_LNA_GAIN_HIGH_19 = 0x10, // 19.7dB
  68. };
  69. // Manipulaing functions
  70. void
  71. fc0013_GetTunerType(
  72. void *pTuner,
  73. int *pTunerType
  74. );
  75. void
  76. fc0013_GetDeviceAddr(
  77. void *pTuner,
  78. unsigned char *pDeviceAddr
  79. );
  80. int
  81. fc0013_Initialize(
  82. void *pTuner
  83. );
  84. int
  85. fc0013_SetRfFreqHz(
  86. void *pTuner,
  87. unsigned long RfFreqHz
  88. );
  89. int
  90. fc0013_GetRfFreqHz(
  91. void *pTuner,
  92. unsigned long *pRfFreqHz
  93. );
  94. // Extra manipulaing functions
  95. int
  96. fc0013_SetBandwidthMode(
  97. void *pTuner,
  98. int BandwidthMode
  99. );
  100. int
  101. fc0013_GetBandwidthMode(
  102. void *pTuner,
  103. int *pBandwidthMode
  104. );
  105. int
  106. fc0013_RcCalReset(
  107. void *pTuner
  108. );
  109. int
  110. fc0013_RcCalAdd(
  111. void *pTuner,
  112. int RcValue
  113. );
  114. #endif