atten_ctrl(2416).h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. #include <stdio.h>
  2. //#include "ite/itp.h" //for all ith driver (include GPIO) & MACRO
  3. #define ATTEN_0DB 0
  4. #define ATTEN_0_5DB 0.5
  5. #define ATTEN_1DB 1
  6. #define ATTEN_2DB 2
  7. #define ATTEN_4DB 4
  8. #define ATTEN_8DB 8
  9. #define ATTEN_16DB 16
  10. #define ATTEN_31DB 31
  11. #define ATTEN_31_5DB 31.5
  12. #define QPC6614_ATTEN_0DB_VAL 0x3F
  13. #define QPC6614_ATTEN_0_5DB_VAL 0x3E
  14. #define QPC6614_ATTEN_1DB_VAL 0x3D
  15. #define QPC6614_ATTEN_2DB_VAL 0x3B
  16. #define QPC6614_ATTEN_4DB_VAL 0x37
  17. #define QPC6614_ATTEN_8DB_VAL 0x2F
  18. #define QPC6614_ATTEN_16DB_VAL 0x1F
  19. #define QPC6614_ATTEN_30DB_VAL 0x03
  20. #define QPC6614_ATTEN_31_5DB_VAL 0x00
  21. #define HMC939_ATTEN_0DB_VAL 0x1F
  22. #define HMC939_ATTEN_1DB_VAL 0x1E
  23. #define HMC939_ATTEN_2DB_VAL 0x1D
  24. #define HMC939_ATTEN_4DB_VAL 0x1B
  25. #define HMC939_ATTEN_8DB_VAL 0x17
  26. #define HMC939_ATTEN_16DB_VAL 0x0F
  27. #define HMC939_ATTEN_30DB_VAL 0x01
  28. #define HMC939_ATTEN_31DB_VAL 0x00
  29. #define ADRF5720_ATTEN_31_5DB_VAL 0x3F
  30. #define ADRF5720_ATTEN_30DB_VAL 0x3E
  31. #define ADRF5720_ATTEN_16DB_VAL 0x20
  32. #define ADRF5720_ATTEN_8DB_VAL 0x10
  33. #define ADRF5720_ATTEN_4DB_VAL 0x08
  34. #define ADRF5720_ATTEN_2DB_VAL 0x04
  35. #define ADRF5720_ATTEN_1DB_VAL 0x02
  36. #define ADRF5720_ATTEN_0_5DB_VAL 0x01
  37. #define ADRF5720_ATTEN_0DB_VAL 0x00
  38. #define CHSET_UARTDATA_LENGTH 4
  39. #define CHSET_UART_LENGTH 9
  40. typedef struct{
  41. uint8_t Atten_Ach_Alarm_150M;
  42. uint8_t Atten_Ach_Alarm_WIFI;
  43. uint8_t Atten_Ach_Alarm_30G;
  44. uint8_t Atten_Bch_Alarm_150M;
  45. uint8_t Atten_Bch_Alarm_WIFI;
  46. uint8_t Atten_Bch_Alarm_30G;
  47. }Atten_Alarm_t;
  48. typedef struct {
  49. uint16_t LE_PIN;
  50. uint16_t Clock_PIN;
  51. uint16_t Data_PIN;
  52. GPIO_TypeDef * Port;
  53. }atten_ctrl;
  54. typedef struct {
  55. uint16_t ATT_P0;
  56. uint16_t ATT_P1;
  57. uint16_t ATT_P2;
  58. uint16_t ATT_P3;
  59. uint16_t ATT_P4;
  60. uint16_t ATT_P5;
  61. uint16_t ATT_ENABLE;
  62. }HMC939atten_ctrl;
  63. /*******************************************BLUECELL ENUM*******************************************/
  64. typedef enum{
  65. Bluecell_STX = 0,
  66. Bluecell_Type = 1,
  67. Bluecell_Length = 2,
  68. Bluecell_DATA = 3,
  69. }Protocol_t;
  70. typedef enum{
  71. ATT_AB_CH_Read = 0x00,
  72. ATT_A_CH_150M = 0x01,
  73. ATT_A_CH_WIFI2_4Ghz = 0x02,
  74. ATT_A_CH_WIFI5_8Ghz = 0x03,
  75. ATT_A_CH_30G_28_28_5 = 0x04,
  76. ATT_A_CH_30G_28_5_29 = 0x05,
  77. ATT_A_CH_30G_29_29_5 = 0x06,
  78. ATT_A_CH_30G_29_5_30 = 0x07,
  79. ATT_B_CH_150M = 0x08,
  80. ATT_B_CH_WIFI2_4Ghz = 0x09,
  81. ATT_B_CH_WIFI5_8Ghz = 0x0A,
  82. ATT_B_CH_30G_28_28_5 = 0x0B,
  83. ATT_B_CH_30G_28_5_29 = 0x0C,
  84. ATT_B_CH_30G_29_29_5 = 0x0D,
  85. ATT_B_CH_30G_29_5_30 = 0x0E,
  86. ATT_A_EN_150M = 0x10,
  87. ATT_A_EN_WIFI1_2_4Ghz = 0x11,
  88. ATT_A_EN_WIFI2_2_4Ghz = 0x12,
  89. ATT_A_EN_WIFI3_2_4Ghz = 0x13,
  90. ATT_A_EN_WIFI4_2_4Ghz = 0x14,
  91. ATT_A_EN_WIFI1_5_8Ghz = 0x15,
  92. ATT_A_EN_WIFI2_5_8Ghz = 0x16,
  93. ATT_A_EN_WIFI3_5_8Ghz = 0x17,
  94. ATT_A_EN_WIFI4_5_8Ghz = 0x18,
  95. ATT_A_EN_30G1_28_28_5Ghz = 0x19,
  96. ATT_A_EN_30G2_28_28_5Ghz = 0x1A,
  97. ATT_A_EN_30G3_28_28_5Ghz = 0x1E,
  98. ATT_A_EN_30G1_28_5_29Ghz = 0x1F,
  99. ATT_A_EN_30G2_28_5_29Ghz = 0x20,
  100. ATT_A_EN_30G3_28_5_29Ghz = 0x21,
  101. ATT_A_EN_30G1_29_29_5Ghz = 0x22,
  102. ATT_A_EN_30G2_29_29_5Ghz = 0x23,
  103. ATT_A_EN_30G3_29_29_5Ghz = 0x24,
  104. ATT_A_EN_30G1_29_5_30Ghz = 0x25,
  105. ATT_A_EN_30G2_29_5_30Ghz = 0x26,
  106. ATT_A_EN_30G3_29_5_30Ghz = 0x27,
  107. ATT_B_EN_150M = 0x28,
  108. ATT_B_EN_WIFI1_2_4Ghz = 0x29,
  109. ATT_B_EN_WIFI2_2_4Ghz = 0x2A,
  110. ATT_B_EN_WIFI3_2_4Ghz = 0x2B,
  111. ATT_B_EN_WIFI4_2_4Ghz = 0x2C,
  112. ATT_B_EN_WIFI1_5_8Ghz = 0x2D,
  113. ATT_B_EN_WIFI2_5_8Ghz = 0x2E,
  114. ATT_B_EN_WIFI3_5_8Ghz = 0x2F,
  115. ATT_B_EN_WIFI4_5_8Ghz = 0x30,
  116. ATT_B_EN_30G1_28_28_5Ghz = 0x31,
  117. ATT_B_EN_30G2_28_28_5Ghz = 0x32,
  118. ATT_B_EN_30G3_28_28_5Ghz = 0x33,
  119. ATT_B_EN_30G1_28_5_29Ghz = 0x34,
  120. ATT_B_EN_30G2_28_5_29Ghz = 0x35,
  121. ATT_B_EN_30G3_28_5_29Ghz = 0x36,
  122. ATT_B_EN_30G1_29_29_5Ghz = 0x37,
  123. ATT_B_EN_30G2_29_29_5Ghz = 0x38,
  124. ATT_B_EN_30G3_29_29_5Ghz = 0x39,
  125. ATT_B_EN_30G1_29_5_30Ghz = 0x3A,
  126. ATT_B_EN_30G2_29_5_30Ghz = 0x3B,
  127. ATT_B_EN_30G3_29_5_30Ghz = 0x3C,
  128. ATT_A_EN_150M_R = 0x40,
  129. ATT_A_EN_WIFI1_2_4Ghz_R = 0x41,
  130. ATT_A_EN_WIFI2_2_4Ghz_R = 0x42,
  131. ATT_A_EN_WIFI3_2_4Ghz_R = 0x43,
  132. ATT_A_EN_WIFI4_2_4Ghz_R = 0x44,
  133. ATT_A_EN_WIFI1_5_8Ghz_R = 0x45,
  134. ATT_A_EN_WIFI2_5_8Ghz_R = 0x46,
  135. ATT_A_EN_WIFI3_5_8Ghz_R = 0x47,
  136. ATT_A_EN_WIFI4_5_8Ghz_R = 0x48,
  137. ATT_A_EN_30G1_28_28_5Ghz_R = 0x49,
  138. ATT_A_EN_30G2_28_28_5Ghz_R = 0x4A,
  139. ATT_A_EN_30G3_28_28_5Ghz_R = 0x4E,
  140. ATT_A_EN_30G1_28_5_29Ghz_R = 0x4F,
  141. ATT_A_EN_30G2_28_5_29Ghz_R = 0x50,
  142. ATT_A_EN_30G3_28_5_29Ghz_R = 0x51,
  143. ATT_A_EN_30G1_29_29_5Ghz_R = 0x52,
  144. ATT_A_EN_30G2_29_29_5Ghz_R = 0x53,
  145. ATT_A_EN_30G3_29_29_5Ghz_R = 0x54,
  146. ATT_A_EN_30G1_29_5_30Ghz_R = 0x55,
  147. ATT_A_EN_30G2_29_5_30Ghz_R = 0x56,
  148. ATT_A_EN_30G3_29_5_30Ghz_R = 0x57,
  149. ATT_B_EN_150M_R = 0x58,
  150. ATT_B_EN_WIFI1_2_4Ghz_R = 0x59,
  151. ATT_B_EN_WIFI2_2_4Ghz_R = 0x5A,
  152. ATT_B_EN_WIFI3_2_4Ghz_R = 0x5B,
  153. ATT_B_EN_WIFI4_2_4Ghz_R = 0x5C,
  154. ATT_B_EN_WIFI1_5_8Ghz_R = 0x5D,
  155. ATT_B_EN_WIFI2_5_8Ghz_R = 0x5E,
  156. ATT_B_EN_WIFI3_5_8Ghz_R = 0x5F,
  157. ATT_B_EN_WIFI4_5_8Ghz_R = 0x60,
  158. ATT_B_EN_30G1_28_28_5Ghz_R = 0x61,
  159. ATT_B_EN_30G2_28_28_5Ghz_R = 0x62,
  160. ATT_B_EN_30G3_28_28_5Ghz_R = 0x63,
  161. ATT_B_EN_30G1_28_5_29Ghz_R = 0x64,
  162. ATT_B_EN_30G2_28_5_29Ghz_R = 0x65,
  163. ATT_B_EN_30G3_28_5_29Ghz_R = 0x66,
  164. ATT_B_EN_30G1_29_29_5Ghz_R = 0x67,
  165. ATT_B_EN_30G2_29_29_5Ghz_R = 0x68,
  166. ATT_B_EN_30G3_29_29_5Ghz_R = 0x69,
  167. ATT_B_EN_30G1_29_5_30Ghz_R = 0x6A,
  168. ATT_B_EN_30G2_29_5_30Ghz_R = 0x6B,
  169. ATT_B_EN_30G3_29_5_30Ghz_R = 0x6C,
  170. ATT_AB_ALARM_READ = 0x6D,
  171. }AttenType_t;
  172. typedef enum{
  173. ATT_A_150M_ALARM=3,
  174. ATT_A_WIFI_ALARM,
  175. ATT_A_30G_ALARM,
  176. ATT_B_150M_ALARM,
  177. ATT_B_WIFI_ALARM,
  178. ATT_B_30G_ALARM,
  179. ATT_A_CH_150M_NUM,
  180. ATT_A_CH_WIFI2_4Ghz_NUM,
  181. ATT_A_CH_WIFI5_8Ghz_NUM,
  182. ATT_A_CH_30G_28_28_5_NUM,
  183. ATT_A_CH_30G_28_5_29_NUM,
  184. ATT_A_CH_30G_29_29_5_NUM,
  185. ATT_A_CH_30G_29_5_30_NUM,
  186. ATT_B_CH_150M_NUM,
  187. ATT_B_CH_WIFI2_4Ghz_NUM,
  188. ATT_B_CH_WIFI5_8Ghz_NUM,
  189. ATT_B_CH_30G_28_28_5_NUM,
  190. ATT_B_CH_30G_28_5_29_NUM,
  191. ATT_B_CH_30G_29_29_5_NUM,
  192. ATT_B_CH_30G_29_5_30_NUM,//Value : 16 Cnt : 14
  193. }AttenLength_t;
  194. /*******************************************BLUECELL struct*******************************************/
  195. typedef struct {
  196. uint8_t ATT_A_150M_ALARM;
  197. uint8_t ATT_A_WIFI_ALARM;
  198. uint8_t ATT_A_30G_ALARM;
  199. uint8_t ATT_B_150M_ALARM;
  200. uint8_t ATT_B_WIFI_ALARM;
  201. uint8_t ATT_B_30G_ALARM;
  202. uint8_t ATT_A_CH_150M;
  203. uint8_t ATT_A_CH_WIFI2_4Ghz_QPC6614_1;
  204. uint8_t ATT_A_CH_WIFI2_4Ghz_QPC6614_2;
  205. uint8_t ATT_A_CH_WIFI2_4Ghz_QPC6614_3;
  206. uint8_t ATT_A_CH_WIFI2_4Ghz_QPC6614_4;
  207. uint8_t ATT_A_CH_WIFI5_8Ghz_QPC6614_1;
  208. uint8_t ATT_A_CH_WIFI5_8Ghz_QPC6614_2;
  209. uint8_t ATT_A_CH_WIFI5_8Ghz_QPC6614_3;
  210. uint8_t ATT_A_CH_WIFI5_8Ghz_QPC6614_4;
  211. uint8_t ATT_A_CH_30G_28_28_5_HMC939_1;
  212. uint8_t ATT_A_CH_30G_28_28_5_HMC939_2;
  213. uint8_t ATT_A_CH_30G_28_28_5_ADRF5720_1;
  214. uint8_t ATT_A_CH_30G_28_5_29_HMC939_1;
  215. uint8_t ATT_A_CH_30G_28_5_29_HMC939_2;
  216. uint8_t ATT_A_CH_30G_28_5_29_ADRF5720_1;
  217. uint8_t ATT_A_CH_30G_29_29_5_HMC939_1;
  218. uint8_t ATT_A_CH_30G_29_29_5_HMC939_2;
  219. uint8_t ATT_A_CH_30G_29_29_5_ADRF5720_1;
  220. uint8_t ATT_A_CH_30G_29_5_30_HMC939_1;
  221. uint8_t ATT_A_CH_30G_29_5_30_HMC939_2;
  222. uint8_t ATT_A_CH_30G_29_5_30_ADRF5720_1;
  223. uint8_t ATT_B_CH_150M;
  224. uint8_t ATT_B_CH_WIFI2_4Ghz_QPC6614_1;
  225. uint8_t ATT_B_CH_WIFI2_4Ghz_QPC6614_2;
  226. uint8_t ATT_B_CH_WIFI2_4Ghz_QPC6614_3;
  227. uint8_t ATT_B_CH_WIFI2_4Ghz_QPC6614_4;
  228. uint8_t ATT_B_CH_WIFI5_8Ghz_QPC6614_1;
  229. uint8_t ATT_B_CH_WIFI5_8Ghz_QPC6614_2;
  230. uint8_t ATT_B_CH_WIFI5_8Ghz_QPC6614_3;
  231. uint8_t ATT_B_CH_WIFI5_8Ghz_QPC6614_4;
  232. uint8_t ATT_B_CH_30G_28_28_5_HMC939_1;
  233. uint8_t ATT_B_CH_30G_28_28_5_HMC939_2;
  234. uint8_t ATT_B_CH_30G_28_28_5_ADRF5720_1;
  235. uint8_t ATT_B_CH_30G_28_5_29_HMC939_1;
  236. uint8_t ATT_B_CH_30G_28_5_29_HMC939_2;
  237. uint8_t ATT_B_CH_30G_28_5_29_ADRF5720_1;
  238. uint8_t ATT_B_CH_30G_29_29_5_HMC939_1;
  239. uint8_t ATT_B_CH_30G_29_29_5_HMC939_2;
  240. uint8_t ATT_B_CH_30G_29_29_5_ADRF5720_1;
  241. uint8_t ATT_B_CH_30G_29_5_30_HMC939_1;
  242. uint8_t ATT_B_CH_30G_29_5_30_HMC939_2;
  243. uint8_t ATT_B_CH_30G_29_5_30_ADRF5720_1;
  244. }Atten_AB_Val_t;
  245. typedef struct{
  246. uint8_t ATT_A_CH_CURR_150M;
  247. uint8_t ATT_A_CH_CURR_WIFI_1;
  248. uint8_t ATT_A_CH_CURR_WIFI_2;
  249. uint8_t ATT_A_CH_CURR_WIFI_3;
  250. uint8_t ATT_A_CH_CURR_WIFI_4;
  251. uint8_t ATT_A_CH_CURR_30G_1;
  252. uint8_t ATT_A_CH_CURR_30G_2;
  253. uint8_t ATT_A_CH_CURR_30G_3;
  254. uint8_t ATT_B_CH_CURR_150M;
  255. uint8_t ATT_B_CH_CURR_WIFI_1;
  256. uint8_t ATT_B_CH_CURR_WIFI_2;
  257. uint8_t ATT_B_CH_CURR_WIFI_3;
  258. uint8_t ATT_B_CH_CURR_WIFI_4;
  259. uint8_t ATT_B_CH_CURR_30G_1;
  260. uint8_t ATT_B_CH_CURR_30G_2;
  261. uint8_t ATT_B_CH_CURR_30G_3;
  262. }Atten_Curr_Val_t;
  263. typedef struct{
  264. uint8_t Atten_Table_31_5dB_Value;
  265. uint8_t Atten_Table_31dB_Value;
  266. uint8_t Atten_Table_30_5dB_Value;
  267. uint8_t Atten_Table_30dB_Value;
  268. uint8_t Atten_Table_29_5dB_Value;
  269. uint8_t Atten_Table_29dB_Value;
  270. uint8_t Atten_Table_28_5dB_Value;
  271. uint8_t Atten_Table_28dB_Value;
  272. uint8_t Atten_Table_27_5dB_Value;
  273. uint8_t Atten_Table_27dB_Value;
  274. uint8_t Atten_Table_26_5dB_Value;
  275. uint8_t Atten_Table_26dB_Value;
  276. uint8_t Atten_Table_25_5dB_Value;
  277. uint8_t Atten_Table_25dB_Value;
  278. uint8_t Atten_Table_24_5dB_Value;
  279. uint8_t Atten_Table_24dB_Value;
  280. uint8_t Atten_Table_23_5dB_Value;
  281. uint8_t Atten_Table_23dB_Value;
  282. uint8_t Atten_Table_22_5dB_Value;
  283. uint8_t Atten_Table_22dB_Value;
  284. uint8_t Atten_Table_21_5dB_Value;
  285. uint8_t Atten_Table_21dB_Value;
  286. uint8_t Atten_Table_20_5dB_Value;
  287. uint8_t Atten_Table_20dB_Value;
  288. uint8_t Atten_Table_19_5dB_Value;
  289. uint8_t Atten_Table_19dB_Value;
  290. uint8_t Atten_Table_18_5dB_Value;
  291. uint8_t Atten_Table_18dB_Value;
  292. uint8_t Atten_Table_17_5dB_Value;
  293. uint8_t Atten_Table_17dB_Value;
  294. uint8_t Atten_Table_16_5dB_Value;
  295. uint8_t Atten_Table_16dB_Value;
  296. uint8_t Atten_Table_15_5dB_Value;
  297. uint8_t Atten_Table_15dB_Value;
  298. uint8_t Atten_Table_14_5dB_Value;
  299. uint8_t Atten_Table_14dB_Value;
  300. uint8_t Atten_Table_13_5dB_Value;
  301. uint8_t Atten_Table_13dB_Value;
  302. uint8_t Atten_Table_12_5dB_Value;
  303. uint8_t Atten_Table_12dB_Value;
  304. uint8_t Atten_Table_11_5dB_Value;
  305. uint8_t Atten_Table_11dB_Value;
  306. uint8_t Atten_Table_10_5dB_Value;
  307. uint8_t Atten_Table_10dB_Value;
  308. uint8_t Atten_Table_9_5dB_Value ;
  309. uint8_t Atten_Table_9dB_Value ;
  310. uint8_t Atten_Table_8_5dB_Value ;
  311. uint8_t Atten_Table_8dB_Value ;
  312. uint8_t Atten_Table_7_5dB_Value ;
  313. uint8_t Atten_Table_7dB_Value ;
  314. uint8_t Atten_Table_6_5dB_Value ;
  315. uint8_t Atten_Table_6dB_Value ;
  316. uint8_t Atten_Table_5_5dB_Value ;
  317. uint8_t Atten_Table_5dB_Value ;
  318. uint8_t Atten_Table_4_5dB_Value ;
  319. uint8_t Atten_Table_4dB_Value ;
  320. uint8_t Atten_Table_3_5dB_Value ;
  321. uint8_t Atten_Table_3dB_Value ;
  322. uint8_t Atten_Table_2_5dB_Value ;
  323. uint8_t Atten_Table_2dB_Value ;
  324. uint8_t Atten_Table_1_5dB_Value ;
  325. uint8_t Atten_Table_1dB_Value;
  326. uint8_t Atten_Table_0_5dB_Value;
  327. uint8_t Atten_Table_0dB_Value;
  328. }Atten_Table_Value_t;//64
  329. typedef enum{
  330. QPC6614_Atten_31_5dB_num = 0x00 ,
  331. QPC6614_Atten_31dB_num = 0x01 ,
  332. QPC6614_Atten_30_5dB_num = 0x02 ,
  333. QPC6614_Atten_30dB_num = 0x03 ,
  334. QPC6614_Atten_29_5dB_num = 0x04 ,
  335. QPC6614_Atten_29dB_num = 0x05 ,
  336. QPC6614_Atten_28_5dB_num = 0x06 ,
  337. QPC6614_Atten_28dB_num = 0x07 ,
  338. QPC6614_Atten_27_5dB_num = 0x08 ,
  339. QPC6614_Atten_27dB_num = 0x09 ,
  340. QPC6614_Atten_26_5dB_num = 0x0a ,
  341. QPC6614_Atten_26dB_num = 0x0b ,
  342. QPC6614_Atten_25_5dB_num = 0x0c ,
  343. QPC6614_Atten_25dB_num = 0x0d ,
  344. QPC6614_Atten_24_5dB_num = 0x0e ,
  345. QPC6614_Atten_24dB_num = 0x0f ,
  346. QPC6614_Atten_23_5dB_num = 0x10 ,
  347. QPC6614_Atten_23dB_num = 0x11 ,
  348. QPC6614_Atten_22_5dB_num = 0x12 ,
  349. QPC6614_Atten_22dB_num = 0x13 ,
  350. QPC6614_Atten_21_5dB_num = 0x14 ,
  351. QPC6614_Atten_21dB_num = 0x15 ,
  352. QPC6614_Atten_20_5dB_num = 0x16 ,
  353. QPC6614_Atten_20dB_num = 0x17 ,
  354. QPC6614_Atten_19_5dB_num = 0x18 ,
  355. QPC6614_Atten_19dB_num = 0x19 ,
  356. QPC6614_Atten_18_5dB_num = 0x1a ,
  357. QPC6614_Atten_18dB_num = 0x1b ,
  358. QPC6614_Atten_17_5dB_num = 0x1c ,
  359. QPC6614_Atten_17dB_num = 0x1d ,
  360. QPC6614_Atten_16_5dB_num = 0x1e ,
  361. QPC6614_Atten_16dB_num = 0x1f ,
  362. QPC6614_Atten_15_5dB_num = 0x20 ,
  363. QPC6614_Atten_15dB_num = 0x21 ,
  364. QPC6614_Atten_14_5dB_num = 0x22 ,
  365. QPC6614_Atten_14dB_num = 0x23 ,
  366. QPC6614_Atten_13_5dB_num = 0x24 ,
  367. QPC6614_Atten_13dB_num = 0x25 ,
  368. QPC6614_Atten_12_5dB_num = 0x26 ,
  369. QPC6614_Atten_12dB_num = 0x27 ,
  370. QPC6614_Atten_11_5dB_num = 0x28 ,
  371. QPC6614_Atten_11dB_num = 0x29 ,
  372. QPC6614_Atten_10_5dB_num = 0x2a ,
  373. QPC6614_Atten_10dB_num = 0x2b ,
  374. QPC6614_Atten_9_5dB_num = 0x2c ,
  375. QPC6614_Atten_9dB_num = 0x2d ,
  376. QPC6614_Atten_8_5dB_num = 0x2e ,
  377. QPC6614_Atten_8dB_num = 0x2f ,
  378. QPC6614_Atten_7_5dB_num = 0x30 ,
  379. QPC6614_Atten_7dB_num = 0x31 ,
  380. QPC6614_Atten_6_5dB_num = 0x32 ,
  381. QPC6614_Atten_6dB_num = 0x33 ,
  382. QPC6614_Atten_5_5dB_num = 0x34 ,
  383. QPC6614_Atten_5dB_num = 0x35 ,
  384. QPC6614_Atten_4_5dB_num = 0x36 ,
  385. QPC6614_Atten_4dB_num = 0x37 ,
  386. QPC6614_Atten_3_5dB_num = 0x38 ,
  387. QPC6614_Atten_3dB_num = 0x39 ,
  388. QPC6614_Atten_2_5dB_num = 0x3a ,
  389. QPC6614_Atten_2dB_num = 0x3b ,
  390. QPC6614_Atten_1_5dB_num = 0x3c ,
  391. QPC6614_Atten_1dB_num = 0x3d ,
  392. QPC6614_Atten_0_5dB_num = 0x3e ,
  393. QPC6614_Atten_0dB_num = 0x3f ,
  394. }QPC6614_Atten_Table_num_t;
  395. typedef enum{
  396. ADRF5720_Atten_31_5dB_num = 0x3f ,
  397. ADRF5720_Atten_31dB_num = 0x3e ,
  398. ADRF5720_Atten_30_5dB_num = 0x3d ,
  399. ADRF5720_Atten_30dB_num = 0x3c ,
  400. ADRF5720_Atten_29_5dB_num = 0x3b ,
  401. ADRF5720_Atten_29dB_num = 0x3a ,
  402. ADRF5720_Atten_28_5dB_num = 0x39 ,
  403. ADRF5720_Atten_28dB_num = 0x38 ,
  404. ADRF5720_Atten_27_5dB_num = 0x37 ,
  405. ADRF5720_Atten_27dB_num = 0x36 ,
  406. ADRF5720_Atten_26_5dB_num = 0x35 ,
  407. ADRF5720_Atten_26dB_num = 0x34 ,
  408. ADRF5720_Atten_25_5dB_num = 0x33 ,
  409. ADRF5720_Atten_25dB_num = 0x32 ,
  410. ADRF5720_Atten_24_5dB_num = 0x31 ,
  411. ADRF5720_Atten_24dB_num = 0x30 ,
  412. ADRF5720_Atten_23_5dB_num = 0x2f ,
  413. ADRF5720_Atten_23dB_num = 0x2e ,
  414. ADRF5720_Atten_22_5dB_num = 0x2d ,
  415. ADRF5720_Atten_22dB_num = 0x2c ,
  416. ADRF5720_Atten_21_5dB_num = 0x2b ,
  417. ADRF5720_Atten_21dB_num = 0x2a ,
  418. ADRF5720_Atten_20_5dB_num = 0x29 ,
  419. ADRF5720_Atten_20dB_num = 0x28 ,
  420. ADRF5720_Atten_19_5dB_num = 0x27 ,
  421. ADRF5720_Atten_19dB_num = 0x26 ,
  422. ADRF5720_Atten_18_5dB_num = 0x25 ,
  423. ADRF5720_Atten_18dB_num = 0x24 ,
  424. ADRF5720_Atten_17_5dB_num = 0x23 ,
  425. ADRF5720_Atten_17dB_num = 0x22 ,
  426. ADRF5720_Atten_16_5dB_num = 0x21 ,
  427. ADRF5720_Atten_16dB_num = 0x20 ,
  428. ADRF5720_Atten_15_5dB_num = 0x1f ,
  429. ADRF5720_Atten_15dB_num = 0x1e ,
  430. ADRF5720_Atten_14_5dB_num = 0x1d ,
  431. ADRF5720_Atten_14dB_num = 0x1c ,
  432. ADRF5720_Atten_13_5dB_num = 0x1b ,
  433. ADRF5720_Atten_13dB_num = 0x1a ,
  434. ADRF5720_Atten_12_5dB_num = 0x19 ,
  435. ADRF5720_Atten_12dB_num = 0x18 ,
  436. ADRF5720_Atten_11_5dB_num = 0x17 ,
  437. ADRF5720_Atten_11dB_num = 0x16 ,
  438. ADRF5720_Atten_10_5dB_num = 0x15 ,
  439. ADRF5720_Atten_10dB_num = 0x14 ,
  440. ADRF5720_Atten_9_5dB_num = 0x13 ,
  441. ADRF5720_Atten_9dB_num = 0x12 ,
  442. ADRF5720_Atten_8_5dB_num = 0x11 ,
  443. ADRF5720_Atten_8dB_num = 0x10 ,
  444. ADRF5720_Atten_7_5dB_num = 0x0f ,
  445. ADRF5720_Atten_7dB_num = 0x0e ,
  446. ADRF5720_Atten_6_5dB_num = 0x0d ,
  447. ADRF5720_Atten_6dB_num = 0x0c ,
  448. ADRF5720_Atten_5_5dB_num = 0x0b ,
  449. ADRF5720_Atten_5dB_num = 0x0a ,
  450. ADRF5720_Atten_4_5dB_num = 0x09 ,
  451. ADRF5720_Atten_4dB_num = 0x08 ,
  452. ADRF5720_Atten_3_5dB_num = 0x07 ,
  453. ADRF5720_Atten_3dB_num = 0x06 ,
  454. ADRF5720_Atten_2_5dB_num = 0x05 ,
  455. ADRF5720_Atten_2dB_num = 0x04 ,
  456. ADRF5720_Atten_1_5dB_num = 0x03 ,
  457. ADRF5720_Atten_1dB_num = 0x02 ,
  458. ADRF5720_Atten_0_5dB_num = 0x01 ,
  459. ADRF5720_Atten_0dB_num = 0x00 ,
  460. }ADRF5720_Atten_Table_num_t;
  461. typedef enum{
  462. HMC939_Atten_31_5dB_num = 0xFF ,
  463. HMC939_Atten_31dB_num = 0x00 ,
  464. HMC939_Atten_30_5dB_num = 0xFF ,
  465. HMC939_Atten_30dB_num = 0x01 ,
  466. HMC939_Atten_29_5dB_num = 0xFF ,
  467. HMC939_Atten_29dB_num = 0x02 ,
  468. HMC939_Atten_28_5dB_num = 0xFF ,
  469. HMC939_Atten_28dB_num = 0x03 ,
  470. HMC939_Atten_27_5dB_num = 0xFF ,
  471. HMC939_Atten_27dB_num = 0x04 ,
  472. HMC939_Atten_26_5dB_num = 0xFF ,
  473. HMC939_Atten_26dB_num = 0x05 ,
  474. HMC939_Atten_25_5dB_num = 0xFF ,
  475. HMC939_Atten_25dB_num = 0x06 ,
  476. HMC939_Atten_24_5dB_num = 0xFF ,
  477. HMC939_Atten_24dB_num = 0x07 ,
  478. HMC939_Atten_23_5dB_num = 0xFF ,
  479. HMC939_Atten_23dB_num = 0x08 ,
  480. HMC939_Atten_22_5dB_num = 0xFF ,
  481. HMC939_Atten_22dB_num = 0x09 ,
  482. HMC939_Atten_21_5dB_num = 0xFF ,
  483. HMC939_Atten_21dB_num = 0x0A ,
  484. HMC939_Atten_20_5dB_num = 0xFF ,
  485. HMC939_Atten_20dB_num = 0x0B ,
  486. HMC939_Atten_19_5dB_num = 0xFF ,
  487. HMC939_Atten_19dB_num = 0x0C ,
  488. HMC939_Atten_18_5dB_num = 0xFF ,
  489. HMC939_Atten_18dB_num = 0x0D ,
  490. HMC939_Atten_17_5dB_num = 0xFF ,
  491. HMC939_Atten_17dB_num = 0x0E ,
  492. HMC939_Atten_16_5dB_num = 0xFF ,
  493. HMC939_Atten_16dB_num = 0x0F ,
  494. HMC939_Atten_15_5dB_num = 0xFF ,
  495. HMC939_Atten_15dB_num = 0x10 ,
  496. HMC939_Atten_14_5dB_num = 0xFF ,
  497. HMC939_Atten_14dB_num = 0x11 ,
  498. HMC939_Atten_13_5dB_num = 0xFF ,
  499. HMC939_Atten_13dB_num = 0x12 ,
  500. HMC939_Atten_12_5dB_num = 0xFF ,
  501. HMC939_Atten_12dB_num = 0x13 ,
  502. HMC939_Atten_11_5dB_num = 0xFF ,
  503. HMC939_Atten_11dB_num = 0x14 ,
  504. HMC939_Atten_10_5dB_num = 0xFF ,
  505. HMC939_Atten_10dB_num = 0x15 ,
  506. HMC939_Atten_9_5dB_num = 0xFF ,
  507. HMC939_Atten_9dB_num = 0x16 ,
  508. HMC939_Atten_8_5dB_num = 0xFF ,
  509. HMC939_Atten_8dB_num = 0x17 ,
  510. HMC939_Atten_7_5dB_num = 0xFF ,
  511. HMC939_Atten_7dB_num = 0x18 ,
  512. HMC939_Atten_6_5dB_num = 0xFF ,
  513. HMC939_Atten_6dB_num = 0x19 ,
  514. HMC939_Atten_5_5dB_num = 0xFF ,
  515. HMC939_Atten_5dB_num = 0x1A ,
  516. HMC939_Atten_4_5dB_num = 0xFF ,
  517. HMC939_Atten_4dB_num = 0x1B ,
  518. HMC939_Atten_3_5dB_num = 0xFF ,
  519. HMC939_Atten_3dB_num = 0x1C ,
  520. HMC939_Atten_2_5dB_num = 0xFF ,
  521. HMC939_Atten_2dB_num = 0x1D ,
  522. HMC939_Atten_1_5dB_num = 0xFF ,
  523. HMC939_Atten_1dB_num = 0x1E ,
  524. HMC939_Atten_0_5dB_num = 0xFF ,
  525. HMC939_Atten_0dB_num = 0x1F ,
  526. }HMC939_Atten_Table_num_t;
  527. /*******************************************BLUECELL Variable*******************************************/
  528. extern Atten_AB_Val_t Atten_ABChannel_Data;
  529. extern Atten_Table_Value_t ATT_A_EN_150M_Table;
  530. extern Atten_Table_Value_t ATT_A_EN_WIFI1_2_4Ghz_Table;
  531. extern Atten_Table_Value_t ATT_A_EN_WIFI2_2_4Ghz_Table;
  532. extern Atten_Table_Value_t ATT_A_EN_WIFI3_2_4Ghz_Table;
  533. extern Atten_Table_Value_t ATT_A_EN_WIFI4_2_4Ghz_Table;
  534. extern Atten_Table_Value_t ATT_A_EN_WIFI1_5_8Ghz_Table;
  535. extern Atten_Table_Value_t ATT_A_EN_WIFI2_5_8Ghz_Table;
  536. extern Atten_Table_Value_t ATT_A_EN_WIFI3_5_8Ghz_Table;
  537. extern Atten_Table_Value_t ATT_A_EN_WIFI4_5_8Ghz_Table;
  538. extern Atten_Table_Value_t ATT_A_EN_30G1_28_28_5Ghz_Table;
  539. extern Atten_Table_Value_t ATT_A_EN_30G2_28_28_5Ghz_Table;
  540. extern Atten_Table_Value_t ATT_A_EN_30G3_28_28_5Ghz_Table;
  541. extern Atten_Table_Value_t ATT_A_EN_30G1_28_5_29Ghz_Table;
  542. extern Atten_Table_Value_t ATT_A_EN_30G2_28_5_29Ghz_Table;
  543. extern Atten_Table_Value_t ATT_A_EN_30G3_28_5_29Ghz_Table;
  544. extern Atten_Table_Value_t ATT_A_EN_30G1_29_29_5Ghz_Table;
  545. extern Atten_Table_Value_t ATT_A_EN_30G2_29_29_5Ghz_Table;
  546. extern Atten_Table_Value_t ATT_A_EN_30G3_29_29_5Ghz_Table;
  547. extern Atten_Table_Value_t ATT_A_EN_30G1_29_5_30Ghz_Table;
  548. extern Atten_Table_Value_t ATT_A_EN_30G2_29_5_30Ghz_Table;
  549. extern Atten_Table_Value_t ATT_A_EN_30G3_29_5_30Ghz_Table;
  550. extern Atten_Table_Value_t ATT_B_EN_150M_Table;
  551. extern Atten_Table_Value_t ATT_B_EN_WIFI1_2_4Ghz_Table;
  552. extern Atten_Table_Value_t ATT_B_EN_WIFI2_2_4Ghz_Table;
  553. extern Atten_Table_Value_t ATT_B_EN_WIFI3_2_4Ghz_Table;
  554. extern Atten_Table_Value_t ATT_B_EN_WIFI4_2_4Ghz_Table;
  555. extern Atten_Table_Value_t ATT_B_EN_WIFI1_5_8Ghz_Table;
  556. extern Atten_Table_Value_t ATT_B_EN_WIFI2_5_8Ghz_Table;
  557. extern Atten_Table_Value_t ATT_B_EN_WIFI3_5_8Ghz_Table;
  558. extern Atten_Table_Value_t ATT_B_EN_WIFI4_5_8Ghz_Table;
  559. extern Atten_Table_Value_t ATT_B_EN_30G1_28_28_5Ghz_Table;
  560. extern Atten_Table_Value_t ATT_B_EN_30G2_28_28_5Ghz_Table;
  561. extern Atten_Table_Value_t ATT_B_EN_30G3_28_28_5Ghz_Table;
  562. extern Atten_Table_Value_t ATT_B_EN_30G1_28_5_29Ghz_Table;
  563. extern Atten_Table_Value_t ATT_B_EN_30G2_28_5_29Ghz_Table;
  564. extern Atten_Table_Value_t ATT_B_EN_30G3_28_5_29Ghz_Table;
  565. extern Atten_Table_Value_t ATT_B_EN_30G1_29_29_5Ghz_Table;
  566. extern Atten_Table_Value_t ATT_B_EN_30G2_29_29_5Ghz_Table;
  567. extern Atten_Table_Value_t ATT_B_EN_30G3_29_29_5Ghz_Table;
  568. extern Atten_Table_Value_t ATT_B_EN_30G1_29_5_30Ghz_Table;
  569. extern Atten_Table_Value_t ATT_B_EN_30G2_29_5_30Ghz_Table;
  570. extern Atten_Table_Value_t ATT_B_EN_30G3_29_5_30Ghz_Table;
  571. extern Atten_Curr_Val_t ATT_Curr_Value;
  572. extern Atten_AB_Val_t Atten_Setting;
  573. void gpio_output_set(uint8_t gpioPin);
  574. void Atten_GpioInit(void);
  575. void QPC6614_atten_ctrl(uint8_t data,uint8_t);
  576. void HMC939_atten_ctrl(uint8_t data,uint8_t);
  577. void ADRF5720_atten_ctrl(uint8_t data);
  578. Atten_Alarm_t Atten_Alarm_Read(void);
  579. void Uart_Data_Send(uint8_t* data,uint8_t size);
  580. void Atten_Init(void);
  581. extern void Atten_150M_DataSet(float value,uint8_t type);
  582. extern void Atten_Wifi_DataSet(float value,uint8_t type);
  583. extern void Atten_30G_DataSet(float value,uint8_t type);