FMSi4700.h
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:5k
源码类别:

压缩解压

开发平台:

C++ Builder

  1. #ifndef  FMSi4700_H
  2. #define  FMSi4700_H
  3. #ifdef       FMSi4700_GLOBALS
  4. #define      FMSi4700_EXT         
  5. #else       
  6. #define      FMSi4700_EXT extern      
  7. #endif 
  8. #define FMTEST 0//FOR DISPLAY FM MESSAGES
  9. #define WAITGPIO2  0 //USE GPIO2
  10. #define FMSPACE 0x0010 //0x0000: 200k
  11. //0x0010: 100k
  12. //0x0020: 50k
  13. #define FM_SPACE_VALUE 1 //2: 200k
  14. //1: 100k
  15. //1: 50k
  16. #if 0
  17. //#if((MACHINE_MODEL==5)||(MACHINE_MODEL==6)||(MACHINE_MODEL==7)||(MACHINE_MODEL==8))
  18. #define RSSI_THRESHOLD_A 24 //MD298_A,MD288_A
  19. #define RSSI_SEEKCNT_A 0 //
  20. #define RSSI_THRESHOLD_B 21 //MD298_B,MD288_B
  21. #define RSSI_SEEKSNR 15 //
  22. #define RSSI_SEEKCNT_B 15 //
  23. //#elif((MACHINE_MODEL==1)||(MACHINE_MODEL==2)||(MACHINE_MODEL==9)||(MACHINE_MODEL==10))
  24. #define RSSI_THRESHOLD_A 14 //MD299_A,MD289_A
  25. #define RSSI_SEEKCNT_A 0 //
  26. #define RSSI_THRESHOLD_B 12 //MD299_B,MD289_B
  27. #define RSSI_SEEKSNR 4 //
  28. #define RSSI_SEEKCNT_B 8 //
  29. //#elif((MACHINE_MODEL==3)||(MACHINE_MODEL==4))
  30. #else
  31. #define RSSI_THRESHOLD_A 33 //MD218_A
  32. #define RSSI_SEEKCNT_A 0 //
  33. #define RSSI_THRESHOLD_B 10//25 //MD218_B
  34. #define RSSI_SEEKSNR  4//15 //
  35. #define RSSI_SEEKCNT_B 8//15 //
  36. #endif
  37. //#define RSSI_THRESHOLD 4 //24
  38. //#define RSSI_ADD_VALUE 8 //5
  39. #define FMCHANNELSMAX FM_MAX_PRESET
  40. #if 0 //((MACHINE_MODEL==1)||(MACHINE_MODEL==2)||(MACHINE_MODEL==5)||(MACHINE_MODEL==6)||(MACHINE_MODEL==7)||(MACHINE_MODEL==8)||(MACHINE_MODEL==9)||(MACHINE_MODEL==10))
  41. #ifdef WAITGPIO2
  42. #define WAIT_FOR_GPIO2()
  43. {
  44. obGPIOCDAT |= (1<<2);
  45. obGPIOCDIR &= ~(1<<2);
  46. while(obGPIOCDAT&(1<<2));
  47. }
  48. #endif
  49. #define I2C_FM_SEN_1()
  50. {
  51. obGPIOCDAT |= (1<<3); 
  52. obGPIOCDIR |= (1<<3);
  53. }
  54. #define I2C_FM_SEN_0()
  55. {
  56. obGPIOCDAT &= ~(1<<3); 
  57. obGPIOCDIR |= (1<<3);
  58. }
  59. #define I2C_FM_RST_1()
  60. {
  61. obGPIOHDAT |= (1<<1); 
  62. obGPIOHDIR |= (1<<1);
  63. }
  64. #define I2C_FM_RST_0()
  65. {
  66. obGPIOHDAT &= ~(1<<1); 
  67. obGPIOHDIR |= (1<<1);
  68. }
  69. //#elif((MACHINE_MODEL==3)||(MACHINE_MODEL==4))
  70. #else
  71. #ifdef WAITGPIO2
  72. #define WAIT_FOR_GPIO2()
  73. {
  74. obGPIOCDAT |= (1<<1);
  75. obGPIOCDIR &= ~(1<<1);
  76. while(obGPIOCDAT&(1<<1));
  77. }
  78. #endif
  79. #if(COLOR_MODE==3) //modify by Rojam 2007-06-11 18:1
  80. #define I2C_FM_SEN_1()
  81. {
  82. obGPIOADAT |= (1<<4); 
  83. obGPIOADIR |= (1<<4);
  84. }
  85. #define I2C_FM_SEN_0()
  86. {
  87. obGPIOADAT &= ~(1<<4); 
  88. obGPIOADIR |= (1<<4);
  89. }
  90. #define I2C_FM_RST_1()
  91. {
  92. obGPIOADAT |= (1<<3); 
  93. obGPIOADIR |= (1<<3);
  94. }
  95. #define I2C_FM_RST_0()
  96. {
  97. obGPIOADAT &= ~(1<<3); 
  98. obGPIOADIR |= (1<<3);
  99. }
  100. #else
  101. #define I2C_FM_SEN_1()
  102. {
  103. obGPIOADAT |= (1<<3); 
  104. obGPIOADIR |= (1<<3);
  105. }
  106. #define I2C_FM_SEN_0()
  107. {
  108. obGPIOADAT &= ~(1<<3); 
  109. obGPIOADIR |= (1<<3);
  110. }
  111. #define I2C_FM_RST_1()
  112. {
  113. obGPIOADAT |= (1<<2); 
  114. obGPIOADIR |= (1<<2);
  115. }
  116. #define I2C_FM_RST_0()
  117. {
  118. obGPIOADAT &= ~(1<<2); 
  119. obGPIOADIR |= (1<<2);
  120. }
  121. #endif
  122. #endif
  123.  //extern XBYTE  FMShowFg[5]={0x0c,0x1C,0x3c,0x1c,0x0c};
  124. //FMSi4700_EXT BYTE FmPowerUpA(void) large;
  125. FMSi4700_EXT BYTE FmPowerUpB(void) large;
  126. //FMSi4700_EXT BYTE FmPowerDownA(void) large;
  127. FMSi4700_EXT BYTE FmPowerDownB(void) large;
  128. FMSi4700_EXT  void FmSi4700_FmInit(void) large;
  129. FMSi4700_EXT WORD FmChanToFreq(BYTE channel) large;
  130. FMSi4700_EXT WORD FmFreqToChan(WORD frequency) large;
  131. FMSi4700_EXT  BYTE FmTune(WORD channel) large;
  132. FMSi4700_EXT BYTE FmSeek(BYTE seekDirection) large;
  133. FMSi4700_EXT BYTE FmAutoSeek (BYTE *numChannels) large;
  134. FMSi4700_EXT BYTE FmWaitSTC0(void) large;
  135. FMSi4700_EXT BYTE FmWaitSTC1(void) large;
  136. FMSi4700_EXT  BYTE FmSi4700_FmSetFrequency(void);
  137. FMSi4700_EXT bit FmSetFreq(void);
  138. FMSi4700_EXT void FmSi4700_FmEnd(void);
  139. FMSi4700_EXT BYTE FmSi4700_FmSearch(BYTE fSearchUp);
  140. FMSi4700_EXT BYTE FmSi4700_FmSetMute(void);
  141. FMSi4700_EXT BYTE FmSi4700_FmMuteDisable(void);
  142. FMSi4700_EXT void FmUpdateRSSI(void);
  143. FMSi4700_EXT BYTE FmCheck(void); //MAYA FOR FM CHIP CHECK
  144. // Globals
  145. FMSi4700_EXT XWORD FMshadowReg[16];
  146. FMSi4700_EXT XWORD FMseekChannels[FMCHANNELSMAX];
  147. //FMSi4700_EXT BYTE fPreset; //xuehui 060329
  148. FMSi4700_EXT BYTE bSaveDeleteFlag;//0--no del or save;1--save;2--delete;###joey
  149. FMSi4700_EXT BYTE gxbPresetMax;
  150. FMSi4700_EXT BYTE bAutoNum; 
  151. FMSi4700_EXT BYTE bIndex;
  152. #endif