Bluecell_operate.c 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. #include <stdio.h>
  2. #include "main.h"
  3. #include "Bluecell_operate.h"
  4. #include "PE43711.h"
  5. extern volatile uint32_t LedTimerCnt;
  6. uint8_t Alarm_Status[MAX_ALARM_Len] = {0,};
  7. //uint8_t data123[10000];
  8. DET_UL DET_UL1;
  9. DET_UL DET_UL2;
  10. DET_UL DET_UL3;
  11. DET_UL DET_UL4;
  12. DET_DL DET_DL1;
  13. DET_DL DET_DL2;
  14. DET_DL DET_DL3;
  15. DET_DL DET_DL4;
  16. uint8_t ResultData[1024] = {0,};
  17. void Boot_LED_Toggle(void){
  18. if(LedTimerCnt > 500){
  19. HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
  20. LedTimerCnt = 0;
  21. // printf("LED OF OFF\r\n");
  22. }
  23. }
  24. uint8_t* MBIC_HeaderDataSetting(uint8_t* data){
  25. ResultData[MBIC_PREAMBLE_0] = MBIC_PREAMBLE0;
  26. ResultData[MBIC_PREAMBLE_1] = MBIC_PREAMBLE1;
  27. ResultData[MBIC_PREAMBLE_2] = MBIC_PREAMBLE2;
  28. ResultData[MBIC_PREAMBLE_3] = MBIC_PREAMBLE3;
  29. ResultData[MBIC_SUBUID_0] = MBIC_SUBUID0;
  30. ResultData[MBIC_SUBUID_1] = MBIC_SUBUID1;
  31. ResultData[MBIC_RCODE_0] = data[MBIC_RCODE_0];
  32. ResultData[MBIC_TRID_0] = data[MBIC_TRID_0];
  33. ResultData[MBIC_TRID_1] = data[MBIC_TRID_1];
  34. ResultData[MBIC_SEQSUM_0] = data[MBIC_SEQSUM_0];
  35. ResultData[MBIC_TTL_0] = data[MBIC_TTL_0];
  36. ResultData[MBIC_TIME_0] = data[MBIC_TIME_0];
  37. ResultData[MBIC_TIME_1] = data[MBIC_TIME_1];
  38. ResultData[MBIC_TIME_2] = data[MBIC_TIME_2];
  39. ResultData[MBIC_TIME_3] = data[MBIC_TIME_3];
  40. ResultData[MBIC_TIME_4] = data[MBIC_TIME_4];
  41. ResultData[MBIC_TIME_5] = data[MBIC_TIME_5];
  42. return ResultData;
  43. }
  44. typedef enum{
  45. BLUECELL_DL_PATH1 = 0x01,
  46. BLUECELL_UL_PATH1,
  47. BLUECELL_DL_PATH2,
  48. BLUECELL_UL_PATH2,
  49. BLUECELL_DL_PATH3,
  50. BLUECELL_UL_PATH3,
  51. BLUECELL_DL_PATH4,
  52. BLUECELL_UL_PATH4,
  53. };
  54. typedef enum{
  55. BLUECELL_HEADER,
  56. BLUECELL_TYPE,
  57. BLUECELL_LENGTH,
  58. BLUECELL_CRCINDEX,
  59. BLUECELL_DATA,
  60. };
  61. extern ALL_PE43711_st ALL_ATT;
  62. bool Bluecell_Operate(uint8_t* data){
  63. uint8_t datatype = data[BLUECELL_TYPE];
  64. uint16_t tmp_h = 0,tmp_l = 0;
  65. double ret = 0 ,tmp = 0.1;
  66. uint8_t val = 0;
  67. switch(datatype){
  68. case ATTDL1 :
  69. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  70. tmp_h = data[BLUECELL_DATA];
  71. tmp_l = data[BLUECELL_DATA + 1];
  72. ret += ((tmp_h << 8) & 0xFF00);
  73. ret += (tmp_l & 0x00FF);
  74. ret /= 100;
  75. val = PE43711_DataToHexConvert(ret);
  76. PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
  77. printf("ret : %f ,tmp %f \r\n",ret,tmp );
  78. break;
  79. case ATT_DL1_PATH_OFF :
  80. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  81. break;
  82. case ATT_DL1_PATH_ON :
  83. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  84. break;
  85. case ATTUL1 :
  86. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  87. tmp_h = data[BLUECELL_DATA];
  88. tmp_l = data[BLUECELL_DATA + 1];
  89. ret += ((tmp_h << 8) & 0xFF00);
  90. ret += (tmp_l & 0x00FF);
  91. ret /= 100;
  92. val = PE43711_DataToHexConvert(ret);
  93. PE43711_atten_ctrl(ALL_ATT.ATT_UL1,val);
  94. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  95. break;
  96. case ATT_UL1_PATH_OFF :
  97. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  98. break;
  99. case ATT_UL1_PATH_ON :
  100. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  101. break;
  102. case ATT_SelfTest1_OFF :
  103. HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
  104. HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
  105. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  106. break;
  107. case ATT_SelfTest1_ON :
  108. HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
  109. HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
  110. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  111. break;
  112. case ATTDL2 :
  113. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  114. tmp_h = data[BLUECELL_DATA];
  115. tmp_l = data[BLUECELL_DATA + 1];
  116. ret += ((tmp_h << 8) & 0xFF00);
  117. ret += (tmp_l & 0x00FF);
  118. ret /= 100;
  119. val = PE43711_DataToHexConvert(ret);
  120. PE43711_atten_ctrl(ALL_ATT.ATT_DL2,val);
  121. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  122. break;
  123. case ATT_DL2_PATH_OFF :
  124. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  125. break;
  126. case ATT_DL2_PATH_ON :
  127. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  128. break;
  129. case ATTUL2 :
  130. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  131. tmp_h = data[BLUECELL_DATA];
  132. tmp_l = data[BLUECELL_DATA + 1];
  133. ret += ((tmp_h << 8) & 0xFF00);
  134. ret += (tmp_l & 0x00FF);
  135. ret /= 100;
  136. val = PE43711_DataToHexConvert(ret);
  137. PE43711_atten_ctrl(ALL_ATT.ATT_UL2,val);
  138. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  139. break;
  140. case ATT_UL2_PATH_OFF :
  141. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  142. break;
  143. case ATT_UL2_PATH_ON :
  144. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  145. break;
  146. case ATT_SelfTest2_OFF :
  147. HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
  148. HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
  149. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  150. break;
  151. case ATT_SelfTest2_ON :
  152. HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
  153. HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
  154. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  155. break;
  156. case ATTDL3 :
  157. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  158. tmp_h = data[BLUECELL_DATA];
  159. tmp_l = data[BLUECELL_DATA + 1];
  160. ret += ((tmp_h << 8) & 0xFF00);
  161. ret += (tmp_l & 0x00FF);
  162. ret /= 100;
  163. val = PE43711_DataToHexConvert(ret);
  164. PE43711_atten_ctrl(ALL_ATT.ATT_DL3,val);
  165. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  166. break;
  167. case ATT_DL3_PATH_OFF :
  168. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  169. break;
  170. case ATT_DL3_PATH_ON :
  171. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  172. break;
  173. case ATTUL3 :
  174. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  175. tmp_h = data[BLUECELL_DATA];
  176. tmp_l = data[BLUECELL_DATA + 1];
  177. ret += ((tmp_h << 8) & 0xFF00);
  178. ret += (tmp_l & 0x00FF);
  179. ret /= 100;
  180. val = PE43711_DataToHexConvert(ret);
  181. PE43711_atten_ctrl(ALL_ATT.ATT_UL3,val);
  182. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  183. break;
  184. case ATT_UL3_PATH_OFF :
  185. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  186. break;
  187. case ATT_UL3_PATH_ON :
  188. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  189. break;
  190. case ATT_SelfTest3_OFF :
  191. HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
  192. HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
  193. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  194. break;
  195. case ATT_SelfTest3_ON :
  196. HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
  197. HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
  198. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  199. break;
  200. case ATTDL4 :
  201. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  202. tmp_h = data[BLUECELL_DATA];
  203. tmp_l = data[BLUECELL_DATA + 1];
  204. ret += ((tmp_h << 8) & 0xFF00);
  205. ret += (tmp_l & 0x00FF);
  206. ret /= 100;
  207. val = PE43711_DataToHexConvert(ret);
  208. PE43711_atten_ctrl(ALL_ATT.ATT_DL4,val);
  209. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  210. break;
  211. case ATT_DL4_PATH_OFF :
  212. HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
  213. HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
  214. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  215. break;
  216. case ATT_DL4_PATH_ON :
  217. HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
  218. HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
  219. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  220. break;
  221. case ATTUL4 :
  222. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  223. tmp_h = data[BLUECELL_DATA];
  224. tmp_l = data[BLUECELL_DATA + 1];
  225. ret += ((tmp_h << 8) & 0xFF00);
  226. ret += (tmp_l & 0x00FF);
  227. ret /= 100;
  228. val = PE43711_DataToHexConvert(ret);
  229. PE43711_atten_ctrl(ALL_ATT.ATT_UL4,val);
  230. printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
  231. break;
  232. case ATT_UL4_PATH_OFF:
  233. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  234. break;
  235. case ATT_UL4_PATH_ON :
  236. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  237. break;
  238. case ATT_SelfTest4_OFF :
  239. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  240. break;
  241. case ATT_SelfTest4_ON :
  242. printf("Function : %s Line %d \r\n",__func__,__LINE__);
  243. break;
  244. }
  245. return true;
  246. }
  247. bool MBIC_Operate(uint8_t* data){
  248. uint16_t datatype = 0;
  249. switch(datatype){
  250. case Alarm_Bit_List:
  251. // �븣由� 鍮꾪듃
  252. Uart1_Data_Send(&Alarm_Status[0],MAX_ALARM_Len);
  253. break;
  254. case Alarm_Mask:
  255. break;
  256. case Alarm_Test_Mode:
  257. break;
  258. case Alarm_Test_Dummy:
  259. break;
  260. case CPU_Version:
  261. break;
  262. case ModuleINFORMATION_null1:
  263. break;
  264. case CPU_Current_Bank:
  265. break;
  266. case CPU_Bank_Select_Reboot_by:
  267. break;
  268. case CPU_Bank1_Image_Version:
  269. break;
  270. case CPU_Bank1_Image_BuildTime:
  271. break;
  272. case CPU_Bank1_Image_Name:
  273. break;
  274. case CPU_Bank2_Image_Version:
  275. break;
  276. case CPU_Bank2_Image_BuildTime:
  277. break;
  278. case CPU_Bank2_Image_Name:
  279. break;
  280. case SW_Reset:
  281. break;
  282. case Factory_Set_Initialization:
  283. break;
  284. case Temperature:
  285. break;
  286. case Temperature_Offset:
  287. break;
  288. case Temp_High_Threshold:
  289. break;
  290. case Temp_High_Threshold_Default:
  291. break;
  292. case Temp_High_Alarm:
  293. break;
  294. case LED_TEST:
  295. break;
  296. case Node:
  297. break;
  298. case Type:
  299. break;
  300. case PCB_Version:
  301. break;
  302. case Serial_Number:
  303. break;
  304. case Manufacture:
  305. break;
  306. case Manufacture_Date:
  307. break;
  308. case ENVIRONMENT_INVENTORY_null1:
  309. printf("Function : %s .... Line : %d\r\n",__func__,__LINE__);
  310. break;
  311. case Freq_ID:
  312. break;
  313. case Carrier_ID:
  314. break;
  315. case Carrier_ON_OFF:
  316. break;
  317. }
  318. return true;
  319. }