mid_sat_antenna.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535
  1. /******************************************************************************/
  2. /**
  3. *
  4. * \file mid_sat_antenna.h
  5. *
  6. * \brief DVB satellie antenna controler
  7. *
  8. * \note Copyright (c) 2014 Sunplus Technology Co., Ltd. \n
  9. * All rights reserved.
  10. *
  11. * \author
  12. *
  13. ******************************************************************************/
  14. #ifndef _MID_SAT_ANTENNA_H
  15. #define _MID_SAT_ANTENNA_H
  16. #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
  17. /********************************************************************
  18. Including Files
  19. ********************************************************************/
  20. #include <string.h>
  21. #include "drv_types.h"
  22. #include "cdbi.h"
  23. #include "mid_common.h"
  24. /********************************************************************
  25. Macros
  26. ********************************************************************/
  27. /********************************************************************
  28. Type definitions
  29. ********************************************************************/
  30. // DUAL LNB FREQUENCY
  31. #define LNB1_9750 (9750) /**< 9750 MHz */
  32. #define LNB1_10600 (10600) /**< 10600 MHz */
  33. #define LNB1_9750_HIGH_FREQ (11700) /**< Low band: 11700 MHz */
  34. #define LNB2_9750 (9750) /**< 9750 MHz */
  35. #define LNB2_10750 (10750) /**< 10750 MHz */
  36. #define LNB2_9750_HIGH_FREQ (11800) /**< High band: 11800 MHz */
  37. #define LNB3_5150 (5150) /**< 5150 MHz */
  38. #define LNB3_5750 (5750) /**< 5750 MHz */
  39. #define LNB3_5150_HIGH_IF_FREQ (1550) /**< IF High band: 1550 MHz */
  40. #define LNB_C_Ku_DEVIDING_LINE (6400)
  41. #ifdef CONFIG_DVB_SYSTEM_DVBS_UNICABLE_SUPPORT
  42. #define UnicableCMDDelay 270
  43. #define UniCableShiftConstant 350
  44. #define UnicableStepFreqMHz 4
  45. #endif
  46. /********************************************************************
  47. Enumeration
  48. ********************************************************************/
  49. typedef enum
  50. {
  51. HW_RESET = 0, /**< DiSEqC reset type HW Reset */
  52. SW_RESET, /**< DiSEqC reset type SW Reset */
  53. ALL_RESET /**< DiSEqC reset type Both HW and SW Reset */
  54. } Ant_DiSEqC_ResetType_e;
  55. typedef enum
  56. {
  57. DISEQC_NONE = 0, /**< Without any DiSEqC device */
  58. DISEQC_10, /**< DiSEqC 1.0 switch */
  59. DISEQC_11, /**< DiSEqC 1.1 switch */
  60. DISEQC_10_11, /**< DiSEqC 1.0 switch with DiSEqC 1.1. switch */
  61. DISEQC_Type_Max, /**< The max index of DiSEqC type */
  62. }Ant_DisEqc_Type_e;
  63. typedef enum
  64. {
  65. DISEQC10_A = 0, /**< DiSEqC 1.0 port A */
  66. DISEQC10_B, /**< DiSEqC 1.0 port B */
  67. DISEQC10_C, /**< DiSEqC 1.0 port C */
  68. DISEQC10_D, /**< DiSEqC 1.0 port D */
  69. DISEQC10_NONE, /**< DiSEqC 1.0 disable */
  70. DISEQC10_Switch_Max, /**< The max index of DiSEqC 1.0 port */
  71. }Ant_DisEqc10_SwitchNum_e;
  72. typedef enum
  73. {
  74. DISEQC11_1 = 0, /**< DiSEqC 1.1 port 1 */
  75. DISEQC11_2, /**< DiSEqC 1.1 port 2 */
  76. DISEQC11_3, /**< DiSEqC 1.1 port 3 */
  77. DISEQC11_4, /**< DiSEqC 1.1 port 4 */
  78. DISEQC11_5, /**< DiSEqC 1.1 port 5 */
  79. DISEQC11_6, /**< DiSEqC 1.1 port 6 */
  80. DISEQC11_7, /**< DiSEqC 1.1 port 7 */
  81. DISEQC11_8, /**< DiSEqC 1.1 port 8 */
  82. DISEQC11_9, /**< DiSEqC 1.1 port 9 */
  83. DISEQC11_10, /**< DiSEqC 1.1 port 10 */
  84. DISEQC11_11, /**< DiSEqC 1.1 port 11 */
  85. DISEQC11_12, /**< DiSEqC 1.1 port 12 */
  86. DISEQC11_13, /**< DiSEqC 1.1 port 13 */
  87. DISEQC11_14, /**< DiSEqC 1.1 port 14 */
  88. DISEQC11_15, /**< DiSEqC 1.1 port 15 */
  89. DISEQC11_16, /**< DiSEqC 1.1 port 16 */
  90. DISEQC11_NONE, /**< DiSEqC 1.1 disable */
  91. DISEQC11_Switch_Max, /**< The max index of DiSEqC 1.1 port */
  92. }Ant_DisEqc11_SwitchNum_e;
  93. typedef enum
  94. {
  95. DISEQC12_DISABLE = 0, /**< Disable DiSEqC 1.2 option */
  96. DISEQC12_ENABLE, /**< Enable DiSEqC 1.2 option */
  97. DISEQC12_ENABLE_MAX, /**< The max index of DiSEqC 1.2 state */
  98. }Ant_DISEQC12_SWITCH_e;
  99. typedef enum
  100. {
  101. DISEQC_CMD_RESET = 0, /**< when standby for loop_through facility */
  102. DISEQC_CMD_DISEQCAUTO, /**< auto set diseqc and toneburst */
  103. DISEQC_CMD_DISEQC10,
  104. DISEQC_CMD_DISEQC11,
  105. DISEQC_CMD_TONEBURST,
  106. DISEQC_CMD_LOWLNB, /**< select the low oscillator frequence */
  107. DISEQC_CMD_HIGHLNB, /**< Select the High Local Oscillator frequency */
  108. DISEQC_CMD_VR, /**< Select Vertical Polarisation (or Right circular) */
  109. DISEQC_CMD_HL, /**< Select Horizontal Polarisation (or Left circular) */
  110. DISEQC_CMD_POSA, /**< Select Satellite position A (or position C) */
  111. DISEQC_CMD_POSB, /**< Select Satellite position B (or position D) */
  112. DISEQC_CMD_S0A, /**< Select Switch Option A (e.g. positions A/B) */
  113. DISEQC_CMD_S0B, /**< Select Switch Option A (e.g. positions A/B) */
  114. DISEQC_CMD_MAX,
  115. } Ant_DiseqcCmdType_e;
  116. typedef enum
  117. {
  118. MOTOR_DISABLE = 0, /**< Disable motor option */
  119. DISEQC12_ON, /**< DiSEqC 1.2 mode */
  120. USALS_ON, /**< USALS mode */
  121. MOTOR_MODE_MAX, /**< The max index of motor mode */
  122. }Ant_MOTOR_MODE_e;
  123. typedef enum
  124. {
  125. TONE22K_ON = 0, /**< Enable 22KHz tone */
  126. TONE22K_OFF, /**< Disable 22KHz tone */
  127. TONE22K_AUTO /**< The max index of 22KHz tone state */
  128. }Ant_TONE22K_TYPE_e;
  129. typedef enum
  130. {
  131. TONE_BURST_A = 0, /**< Tone burst A */
  132. TONE_BURST_B, /**< Tone burst B */
  133. TONE_BURST_OFF /**< Tone burst off */
  134. }Ant_TONEBurst_TYPE_e;
  135. typedef enum
  136. {
  137. TONEVolt12_OFF = 0, /**< Disable 12V */
  138. TONEVolt12_ON /**< Enable 12V */
  139. }Ant_TONEVolt12_TYPE_e;
  140. typedef enum
  141. {
  142. LNBPOWER_OFF = 0, /**< Disable LNB power */
  143. LNBPOWER_ON, /**< Enable LNB power */
  144. LNBPOWER_MAX,
  145. }Ant_LNBPOWER_TYPE_e;
  146. typedef enum
  147. {
  148. LNB_POWER_LEVEL_OFF = 0, /**< Disable LNB power */
  149. LNB_POWER_LEVEL_LOW,
  150. LNB_POWER_LEVEL_HIGH,
  151. LNB_POWER_LEVEL_MAX,
  152. }Ant_LNB_POWER_LEVEL_e;
  153. typedef enum
  154. {
  155. LNB_TYPE_CBAND = 0, /**< C band LNB */
  156. LNB_TYPE_KUBAND, /**< Ku band LNB */
  157. LNB_TYPE_USER, /**< User defined LNB */
  158. LNB_TYPE_NONE, /**<None LNB */
  159. }Ant_LNB_TYPE_e;
  160. typedef enum
  161. {
  162. DRIVE_WEST=0,
  163. DRIVE_EAST=1,
  164. ElevationWestMove=2,
  165. ElevationEastMove=3,
  166. STORE_NN=4,
  167. GOTO_NN=5,
  168. LIMIT_WEST=6,
  169. LIMIT_EAST=7,
  170. LIMIT_OFF=8,
  171. STOP=9,
  172. RECALCULATE=10,
  173. GOTO_XX = 11,
  174. WRITE_N0 = 12,
  175. WRITE_N1 = 13,
  176. WRITE_N2 = 14,
  177. WRITE_N3 = 15,
  178. DISEQC_RESET = 16,
  179. STANDBY = 17,
  180. POWERON = 18
  181. }Ant_DiSEqC1_2_Cmd_e;
  182. typedef enum
  183. {
  184. FAST = 1,
  185. SLOW,
  186. CONTINUOUS
  187. }Ant_SPEED_e;
  188. typedef enum
  189. {
  190. SEC_VOLTAGE_13,
  191. SEC_VOLTAGE_18,
  192. SEC_VOLTAGE_OFF
  193. } Ant_Voltage_e;
  194. typedef enum
  195. {
  196. TUNER_ID_MAIN = 0,
  197. TUNER_ID_SUB,
  198. }Ant_TunerID_e;
  199. typedef enum
  200. {
  201. SATINFO_LNBPOWER,
  202. SATINFO_12V,
  203. SATINFO_22KHZ,
  204. SATINFO_TONEBURSTMODE,
  205. SATINFO_DISEQC10PORT,
  206. SATINFO_DISEQC11PORT,
  207. SATINFO_MOTORMODE,
  208. SATINFO_POSITION,
  209. SATINFO_UNICABLE,
  210. SATINFO_UNICABLEIDX,
  211. SATINFO_UNICABLEPOS,
  212. SATINFO_ALL,
  213. }Ant_SatInfo_e;
  214. typedef enum
  215. {
  216. TPINFO_FREQ,
  217. TPINFO_SYMBOLRATE,
  218. TPINFO_POLARIZATION,
  219. TPINFO_ALL,
  220. }Ant_TpInfo_e;
  221. typedef enum
  222. {
  223. MOTORSEL_USER = 1 << 0,
  224. MOTORSEL_SAT = 1 << 1,
  225. MOTORSEL_ALL = MOTORSEL_USER | MOTORSEL_SAT,
  226. }Ant_MotorSel_e;
  227. typedef enum
  228. {
  229. UNICABLE_OFF = 0, /**< Unicable Off */
  230. UNICABLE_ON /**< Unicable On */
  231. }Ant_UnicableState_e;
  232. typedef enum
  233. {
  234. UNICABLE_INDEX1 = 0, /**< Unicable Idx1.1210 */
  235. UNICABLE_INDEX2, /**< Unicable Idx2.1420 */
  236. UNICABLE_INDEX3, /**< Unicable Idx3.1680 */
  237. UNICABLE_INDEX4, /**< Unicable Idx4.2040 */
  238. UNICABLE_INDEX5, /**< Unicable Idx5.1284 */
  239. UNICABLE_INDEX6, /**< Unicable Idx6.1516 */
  240. UNICABLE_INDEX7, /**< Unicable Idx7.1632 */
  241. UNICABLE_INDEX8, /**< Unicable Idx8.1748 */
  242. }Ant_UnicableIdx_e;
  243. typedef enum
  244. {
  245. UNICABLE_SATA = 0, /**< Unicable Sat A */
  246. UNICABLE_SATB /**< Unicable Sat B */
  247. }Ant_UnicableSatPos_e;
  248. typedef enum
  249. {
  250. STATIC_MODE = 0,
  251. STATIC_MODE_MDU = 1,
  252. SPECIAL_MODE = 2,
  253. SPECIAL_MODE_MDU = 3
  254. } Ant_UniDiSEqCMode_e;
  255. typedef enum
  256. {
  257. STATIC_CHANGE_CHANNEL = 0,
  258. STATIC_POWER_OFF = 1,
  259. SPECIAL_UBXSIGNAL_ON = 2
  260. } Ant_UniDiSEqCStaticCmd_e;
  261. typedef enum
  262. {
  263. POLARITY_V,
  264. POLARITY_H,
  265. #ifdef DVBS_SUPPORT_RL_POLARITY
  266. POLARITY_L,
  267. POLARITY_R,
  268. #endif
  269. POLARITY_AUTO,
  270. }Polarity;
  271. /********************************************************************
  272. Type definitions of satellie connection control
  273. ********************************************************************/
  274. typedef struct
  275. {
  276. UINT16 usLowFreq; /**< LNB low frequency */
  277. UINT16 usHighFreq; /**< LNB high frequency */
  278. } Ant_LNB_CONTROL_st, *Ant_LP_LNB_CONTROL_st; /**< Long pointer of Ant_LNB_CONTROL_st */
  279. typedef struct
  280. {
  281. UINT32 usFreq; /**< Transponder frequency */
  282. UINT16 usSymRate; /**< Transponder symbol rate */
  283. UINT8 u8Polar; /**< Transponder polarzation */
  284. UINT8 u8TpType; /**< Transponder type S or S2 */
  285. UINT8 modulation; /**<Modulation type>*/
  286. UINT8 ucCode_rate; /**<Code rate>*/
  287. UINT8 ucSpec_inver; /**<Spectral inversion>*/
  288. } Ant_TRANSPONDER_st, *Ant_LP_TRANSPONDER_st; /**< Long pointer of Ant_TRANSPONDER_st */
  289. typedef struct
  290. {
  291. UINT8 u8IsUniEnable; /**< Unicable enable or not */
  292. UINT8 u8UniSatPos; /**< Unicable Sat Postion */
  293. UINT8 u8UniIfIdx; /**< Unicable User Band If Index */
  294. UINT16 usUniIfFreq; /**< Unicable User Band If Freq */
  295. } Ant_UNICABLE_st, *Ant_LP_UNICABLE_st; /**< Long pointer of Ant_UNICABLE_st */
  296. typedef struct
  297. {
  298. UINT8 u8msg [6]; /**< { framing, address, command, data [3] } */
  299. UINT8 u8msg_len; /**< valid values are 3...6 */
  300. }Ant_DiseqcMasterCmd;
  301. typedef struct
  302. {
  303. UINT8 u8ToneBurstPort;
  304. UINT8 u8DiSEqCMode;
  305. UINT8 u8DiSEqCPort10;
  306. UINT8 u8DiSEqCPort11;
  307. } Ant_DiseqcSwitchPara_st;
  308. typedef struct
  309. {
  310. Ant_DiseqcCmdType_e emCmdType;
  311. void *pPara1;
  312. void *pPara2;
  313. } Ant_DiseqcCmdPara_st;
  314. typedef struct
  315. {
  316. UINT8 u8LatitudeDirection;
  317. UINT8 u8LongitudeDirection;
  318. UINT16 u16Latitude;
  319. UINT16 u16Longitude;
  320. } Ant_UsalsSetting_UserLocation_st;
  321. typedef struct
  322. {
  323. UINT32 u32SatLongitude;
  324. UINT32 u32SatLongitudeDirection;
  325. } Ant_UsalsSetting_SatLocation_st;
  326. typedef struct
  327. {
  328. Ant_UsalsSetting_UserLocation_st UserLocation;
  329. Ant_UsalsSetting_SatLocation_st SatLocation;
  330. } Ant_UsalsSetting_st;
  331. typedef struct
  332. {
  333. Ant_DiSEqC1_2_Cmd_e enMode;
  334. Ant_SPEED_e enSpeed;
  335. int iSatNum;
  336. }Ant_DISEQC_1_2_st;
  337. typedef struct
  338. {
  339. Ant_UniDiSEqCStaticCmd_e command;
  340. UINT8 UserBand;
  341. UINT8 SatBank;
  342. UINT32 TPFreq;
  343. UINT8 Polar;
  344. UINT32 OFreq;
  345. UINT32 CurLnbFreq;
  346. UINT32 UBFreq;
  347. UINT32 StepValue;
  348. UINT32 ShiftConstant;
  349. } Ant_UnicableDiSEqCCmd_st;
  350. typedef struct
  351. {
  352. Ant_UniDiSEqCMode_e enMode;
  353. Ant_UnicableDiSEqCCmd_st enCmd;
  354. } Ant_UnicableDiSEqC_st;
  355. typedef struct _Ant_satellite_control
  356. {
  357. // modification flag
  358. Boolean bHasInit; /**< has init or not */
  359. // common switch control parameters
  360. UINT8 u8LNBPower; /**< LNB power state */
  361. UINT8 u812V; /**< 12V state */
  362. UINT8 u822KHz; /**< 22KHz state */
  363. // Basic DiSEqC control parameters
  364. UINT8 u8ToneBurstMode; /**< ToneBurst mode */
  365. UINT8 u8DiSEqCMode; /**< DiSEqC mode */
  366. UINT8 u8DiSEqC10Port; /**< DiSEqC 1.0 port */
  367. UINT8 u8DiSEqC11Port; /**< DiSEqC 1.1 port */
  368. UINT8 u8MotorMode; /**< DiSEqC 1.2/1.3 motor mode */
  369. UINT8 u8Position; /**< DiSEqC 1.2 position */
  370. // DiSEqC 1.2 & USALS control parameters
  371. Ant_TRANSPONDER_st stCurrentTp; /**< Current transponder */
  372. Ant_LNB_CONTROL_st stLNBCtrl; /**< LNB controller */
  373. Ant_UNICABLE_st stUnicableCtrl; /**< Unicable controller */
  374. } Ant_SATELLITE_CONTROL_st, *Ant_LP_SATELLITE_CONTROL_st; /**< Long pointer of Ant_SATELLITE_CONTROL_st */
  375. #ifdef CONFIG_DVB_SYSTEM_DVBS_UNICABLE_SUPPORT
  376. typedef int (*UniQueryBankFunPtr)(void);
  377. #endif
  378. /********************************************************************
  379. Function prototypes
  380. ********************************************************************/
  381. /****************************************************************************
  382. ** Function: MID_SatCtrl_GetLnbFreqFromDualLNB
  383. **
  384. ** Inputs: : UINT32 uiTuningFreqMHz
  385. **
  386. ** UINT32 uiLnbFreq: Dobule LNB Frequency
  387. **
  388. ** Outputs: NONE
  389. **
  390. ** Returns:
  391. ** Current LNB Frequency
  392. **
  393. ** Description:
  394. **
  395. ******************************************************************************/
  396. UINT32 MID_SatCtrl_GetLnbFreqFromDualLNB(UINT32 uiTuningFreqMHz, UINT32 uiLnbFreq);
  397. /**
  398. * @fn UINT32 MID_SatCtrl_GetIfFrequency(UINT32 TpFreqMHz);
  399. * @brief get the intermediate frequency of assigned transponder.
  400. * @param TpFreqMHz: Tp frequency (MHz)
  401. * @return u32Freq: intermediate frequency
  402. */
  403. UINT32 MID_SatCtrl_GetIfFrequency(UINT32 TpFreqMHz);
  404. UINT32 MID_SatCtrl_GetTpFrequency(UINT32 u32TLNBFrequency, UINT32 u32Freq_IF_Mhz);
  405. /**
  406. * @fn int MID_SatCtrl_SetUsalsLocation(UINT8 Mode,UsalsSetting_UserLocation_t *UserLocal, UsalsSetting_SatLocation_t *SatLocal);
  407. * @brief Set User Location and Satellite Location for Usals
  408. * @param Mode: USER: Set User Location; SAT: Set Satellite Location
  409. * @param UserLocal: User Location param
  410. * @param SatLocal: Satellite Location param
  411. * @return void
  412. */
  413. void MID_SatCtrl_SetUsalsLocation(Ant_MotorSel_e Mode,Ant_UsalsSetting_UserLocation_st *UserLocal, Ant_UsalsSetting_SatLocation_st *SatLocal);
  414. int MID_SatCtrl_SetCurrentSatelliteInfo(Ant_SatInfo_e Cmd, UINT8 value, SDBNetworkInfo_t *pstSat);
  415. int MID_SatCtrl_GetCurrentSatelliteInfo(Ant_SatInfo_e Cmd, UINT8 *value,Ant_LP_SATELLITE_CONTROL_st pstSat);
  416. /**
  417. * @fn int MID_SatCtrl_ConnectCurrentSatellite(void);
  418. * @brief Connect Satellite
  419. * @param ForceMotor
  420. * @return void
  421. */
  422. int MID_SatCtrl_ConnectCurrentSatellite(UINT8 ForceMotor);
  423. void MID_SatCtrl_LNBPowerOff(void);
  424. /**
  425. * @fn int MID_SatCtrl_SetCurrentTpInfo(Ant_TpInfo_e Cmd, UINT16 value,Ant_LP_TRANSPONDER_st pstTp)
  426. * @brief Set current TP param, TP frequency only is RF Freq
  427. * @param Cmd: change one TP param or change all
  428. * @param value: if change one TP param, use this
  429. * @param pstTp: if change all TP param, use this
  430. * @return 0
  431. */
  432. int MID_SatCtrl_SetCurrentTpInfo(Ant_TpInfo_e Cmd, UINT32 value,Ant_LP_TRANSPONDER_st pstTp);
  433. void MID_SatCtrl_GetCurrentTpInfo( Ant_LP_TRANSPONDER_st pTp);
  434. void MID_SatCtrl_LNBCtrlSetFreq( UINT32 uwFreq );
  435. UINT32 MID_SatCtrl_LNBCtrlGetFreq(void);
  436. UINT16 MID_SatCtrl_LNBCtrlGetHighFreq(void);
  437. UINT16 MID_SatCtrl_LNBCtrlGetLowFreq(void);
  438. void MID_SatCtrl_CBand_DualLNBSetType(UINT16 Freq);
  439. UINT16 MID_SatCtrl_CBand_DualLNBGetType(void);
  440. void MID_SatCtrl_Init(Ant_TunerID_e TunerId);
  441. void MID_SatCtrl_ChangeTuner(Ant_TunerID_e TunerId);
  442. int MID_SatCtrl_SetPolarPositioner(Ant_DiSEqC1_2_Cmd_e enMode, Ant_SPEED_e enSpeed, int iSatNum );
  443. int MID_SatCtrl_GotoReference(void);
  444. int MID_SatCtrl_GotoXX(void);
  445. void MID_SatCtrl_SetPosition(INT32 i32Position);
  446. int MID_SatCtrl_SetMotorMode(Ant_MOTOR_MODE_e u8MotorMode,UINT8 u8MotorPosition);
  447. MID_Status_t MID_Playback_DVBSConnectCurrentTp(void);
  448. void MID_SatCtrl_LNBSetPowerLevel(void);
  449. #ifdef CONFIG_DVB_SYSTEM_DVBS_UNICABLE_SUPPORT
  450. void MID_SatCtrl_Unicable_LFSRPreSet(UINT16 userBand);
  451. UINT16 MID_SatCtrl_Unicable_GetDelayTime(void);
  452. UINT8 MID_SatCtrl_Unicable_IsUnicableOff(void);
  453. UINT16 MID_SatCtrl_Unicable_GetFreqbyIndex(UINT8 index);
  454. void MID_SatCtrl_Unicable_SetIfFreq(UINT16 Freq);
  455. void MID_SatCtrl_Unicable_GetIfFreq(UINT16 *Freq);
  456. /**
  457. * @fn UINT16 MID_SatCtrl_Unicable_Connect(UINT16 Freq, UINT8 Polar)
  458. * @brief Connect to Unicable equipment
  459. * @param Freq: IF Freq of normal tuning TP Param
  460. * @param Polar: Polarization of normal tuning TP Param
  461. * @return Unicable User band IF Freq, if return 0 , something error occur
  462. */
  463. UINT16 MID_SatCtrl_Unicable_Connect(UINT16 Freq, UINT8 Polar);
  464. #endif
  465. int MID_SatCtrl_ReLoad_22KHz(void);
  466. void MID_SatCtrl_FrontendCtrl(UINT32 dCmd, void *pdPara);
  467. #endif //#if defined(CONFIG_DVB_SYSTEM_DVBS_SUPPORT)
  468. #endif //#ifndef _MID_SAT_ANTENNA_H