atten_ctrl(7258).h 25 KB

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