led_app.c 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. #include "led_app.h"
  2. #include "tasks.h"
  3. uint8_t walk_press_flag;
  4. uint32_t GetErrorCode(void)
  5. {
  6. uint32_t ErrorCodeTemp=0;
  7. if(MC_ErrorCode.ERROR_Bit.Protect_OverCurrent == 1) {ErrorCodeTemp=10; MC_ErrorCodeBackup.ERROR_Bit.Protect_OverCurrent = 1;}
  8. else if(MC_ErrorCode.ERROR_Bit.Protect_UnderVoltage == 1) {ErrorCodeTemp=11; MC_ErrorCodeBackup.ERROR_Bit.Protect_UnderVoltage = 1;}
  9. else if(MC_ErrorCode.ERROR_Bit.Protect_OverVoltage == 1) {ErrorCodeTemp=12; MC_ErrorCodeBackup.ERROR_Bit.Protect_OverVoltage = 1;}
  10. else if(MC_ErrorCode.ERROR_Bit.Protect_LockRotor == 1) {ErrorCodeTemp=13; MC_ErrorCodeBackup.ERROR_Bit.Protect_LockRotor = 1;}
  11. else if(MC_ErrorCode.ERROR_Bit.Protect_OverTemp == 1) {ErrorCodeTemp=14; MC_ErrorCodeBackup.ERROR_Bit.Protect_OverTemp = 1;}
  12. else if(MC_ErrorCode.ERROR_Bit.Fault_NtcSensor == 1) {ErrorCodeTemp=15; MC_ErrorCodeBackup.ERROR_Bit.Fault_NtcSensor = 1;}
  13. else if(MC_ErrorCode.ERROR_Bit.Fault_SpeedSensor == 1) {ErrorCodeTemp=16; MC_ErrorCodeBackup.ERROR_Bit.Fault_SpeedSensor = 1;}
  14. else if(MC_ErrorCode.ERROR_Bit.Fault_TorqueSensor == 1) {ErrorCodeTemp=17; MC_ErrorCodeBackup.ERROR_Bit.Fault_TorqueSensor = 1;}
  15. else if(MC_ErrorCode.ERROR_Bit.Fault_HallSensor == 1) {ErrorCodeTemp=18; MC_ErrorCodeBackup.ERROR_Bit.Fault_HallSensor = 1;}
  16. else if(MC_ErrorCode.ERROR_Bit.Fault_BMS_Check == 1) {ErrorCodeTemp=19; MC_ErrorCodeBackup.ERROR_Bit.Fault_BMS_Check = 1;}
  17. else if(MC_ErrorCode.ERROR_Bit.Fault_PBU_Check == 1) {ErrorCodeTemp=20; MC_ErrorCodeBackup.ERROR_Bit.Fault_PBU_Check = 1;}
  18. else if(MC_ErrorCode.ERROR_Bit.Fault_HMI_Check == 1) {ErrorCodeTemp=21; MC_ErrorCodeBackup.ERROR_Bit.Fault_HMI_Check = 1;}
  19. else if(MC_ErrorCode.ERROR_Bit.Fault_PhaseLine == 1) {ErrorCodeTemp=22; MC_ErrorCodeBackup.ERROR_Bit.Fault_PhaseLine = 1;}
  20. else if(MC_ErrorCode.ERROR_Bit.Fault_CadenceSensor == 1) {ErrorCodeTemp=23; MC_ErrorCodeBackup.ERROR_Bit.Fault_CadenceSensor = 1;}
  21. else if(MC_ErrorCode.ERROR_Bit.Fault_GasSensor == 1) {ErrorCodeTemp=24; MC_ErrorCodeBackup.ERROR_Bit.Fault_GasSensor = 1;}
  22. else if(MC_ErrorCode.ERROR_Bit.Fault_MOS == 1) {ErrorCodeTemp=25; MC_ErrorCodeBackup.ERROR_Bit.Fault_MOS = 1;}
  23. else if(MC_ErrorCode.ERROR_Bit.Protect_VoltageChange == 1) {ErrorCodeTemp=26; MC_ErrorCodeBackup.ERROR_Bit.Protect_VoltageChange = 1;}
  24. else if(MC_ErrorCode.ERROR_Bit.Fault_MCU == 1) {ErrorCodeTemp=27; MC_ErrorCodeBackup.ERROR_Bit.Fault_MCU = 1;}
  25. else if(MC_ErrorCode.ERROR_Bit.Fault_Circuit == 1) {ErrorCodeTemp=28; MC_ErrorCodeBackup.ERROR_Bit.Fault_Circuit = 1;}
  26. else if(MC_ErrorCode.ERROR_Bit.Fault_TE_MCU == 1) {ErrorCodeTemp=29; MC_ErrorCodeBackup.ERROR_Bit.Fault_TE_MCU = 1;}
  27. else if(MC_ErrorCode.ERROR_Bit.Fault_TE_Circuit == 1) {ErrorCodeTemp=30; MC_ErrorCodeBackup.ERROR_Bit.Fault_TE_Circuit = 1;}
  28. else if(PBU_ErrorCode.ERROR_Bit.Key_Add == 1) {ErrorCodeTemp=60; PBU_ErrorCodeBackup.ERROR_Bit.Key_Add = 1;}
  29. else if(PBU_ErrorCode.ERROR_Bit.Key_Dec == 1) {ErrorCodeTemp=61; PBU_ErrorCodeBackup.ERROR_Bit.Key_Dec = 1;}
  30. else if(PBU_ErrorCode.ERROR_Bit.Key_Set == 1) {ErrorCodeTemp=62; PBU_ErrorCodeBackup.ERROR_Bit.Key_Set = 1;}
  31. else if(PBU_ErrorCode.ERROR_Bit.Key_Light == 1) {ErrorCodeTemp=63; PBU_ErrorCodeBackup.ERROR_Bit.Key_Light = 1;}
  32. else if(PBU_ErrorCode.ERROR_Bit.Key_Walk == 1) {ErrorCodeTemp=64; PBU_ErrorCodeBackup.ERROR_Bit.Key_Walk = 1;}
  33. else if(PBU_ErrorCode.ERROR_Bit.Key_Power == 1) {ErrorCodeTemp=65; PBU_ErrorCodeBackup.ERROR_Bit.Key_Power = 1;}
  34. else if(PBU_ErrorCode.ERROR_Bit.MCU_Fault == 1) {ErrorCodeTemp=66; PBU_ErrorCodeBackup.ERROR_Bit.MCU_Fault = 1;}
  35. else if(PBU_ErrorCode.ERROR_Bit.MOS_Fault == 1) {ErrorCodeTemp=67; PBU_ErrorCodeBackup.ERROR_Bit.MOS_Fault = 1;}
  36. else if(PBU_ErrorCode.ERROR_Bit.Hardware_Fault == 1) {ErrorCodeTemp=68; PBU_ErrorCodeBackup.ERROR_Bit.Hardware_Fault = 1;}
  37. else if(PBU_ErrorCode.ERROR_Bit.Communication_HMI_Fault == 1) {ErrorCodeTemp=69; PBU_ErrorCodeBackup.ERROR_Bit.Communication_HMI_Fault = 1;}
  38. else if(PBU_ErrorCode.ERROR_Bit.Communication_MC_Fault == 1) {ErrorCodeTemp=70; PBU_ErrorCodeBackup.ERROR_Bit.Communication_MC_Fault = 1;}
  39. else ErrorCodeTemp=77;
  40. return ErrorCodeTemp;
  41. }
  42. void ErrorCode_LEDDisplay( uint32_t ErrorCodeTemp ) //500ms
  43. {
  44. switch(ErrorCodeTemp)
  45. {
  46. case 10:
  47. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  48. break;
  49. case 11:
  50. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  51. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  52. break;
  53. case 12:
  54. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  55. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  56. break;
  57. case 13:
  58. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  59. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  60. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  61. break;
  62. case 14:
  63. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  64. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  65. break;
  66. case 15:
  67. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  68. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  69. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  70. break;
  71. case 16:
  72. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  73. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  74. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  75. break;
  76. case 17:
  77. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  78. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  79. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  80. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  81. break;
  82. case 18:
  83. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  84. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  85. break;
  86. case 19:
  87. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  88. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  89. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  90. break;
  91. case 20:
  92. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  93. break;
  94. case 21:
  95. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  96. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  97. break;
  98. case 22:
  99. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  100. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  101. break;
  102. case 23:
  103. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  104. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  105. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  106. break;
  107. case 24:
  108. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  109. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  110. break;
  111. case 25:
  112. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  113. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  114. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  115. break;
  116. case 26:
  117. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  118. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  119. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  120. break;
  121. case 27:
  122. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  123. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  124. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  125. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  126. break;
  127. case 28:
  128. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  129. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  130. break;
  131. case 29:
  132. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  133. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  134. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  135. break;
  136. case 30:
  137. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  138. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  139. break;
  140. case 33:
  141. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  142. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  143. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  144. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  145. break;
  146. // case 40:
  147. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  148. //
  149. // break;
  150. // case 41:
  151. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  152. //
  153. // HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  154. // break;
  155. // case 42:
  156. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  157. //
  158. // HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  159. // break;
  160. // case 43:
  161. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  162. //
  163. // HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  164. // HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  165. // break;
  166. // case 44:
  167. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  168. //
  169. // HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  170. // break;
  171. // case 45:
  172. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  173. //
  174. // HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  175. // HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  176. // break;
  177. // case 46:
  178. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  179. //
  180. // HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  181. // HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  182. // break;
  183. // case 47:
  184. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  185. //
  186. // HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  187. // HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  188. // HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  189. // break;
  190. case 48:
  191. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  192. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  193. break;
  194. // case 49:
  195. // HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  196. //
  197. // HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  198. // HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  199. // break;
  200. case 60:
  201. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  202. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  203. break;
  204. case 61:
  205. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  206. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  207. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  208. break;
  209. case 62:
  210. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  211. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  212. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  213. break;
  214. case 63:
  215. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  216. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  217. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  218. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  219. break;
  220. case 64:
  221. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  222. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  223. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  224. break;
  225. case 65:
  226. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  227. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  228. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  229. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  230. break;
  231. case 66:
  232. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  233. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  234. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  235. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  236. break;
  237. case 67:
  238. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  239. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  240. HAL_GPIO_TogglePin(SPORT_GPIO_Port, SPORT_Pin);
  241. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  242. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  243. break;
  244. case 68:
  245. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  246. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  247. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  248. break;
  249. case 69:
  250. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  251. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  252. HAL_GPIO_TogglePin(NORM_GPIO_Port, NORM_Pin);
  253. HAL_GPIO_TogglePin(SMART_GPIO_Port, SMART_Pin);
  254. break;
  255. case 70:
  256. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  257. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  258. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  259. break;
  260. case 72:
  261. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  262. HAL_GPIO_TogglePin(OFF_GPIO_Port, OFF_Pin);
  263. HAL_GPIO_TogglePin(ECO_GPIO_Port, ECO_Pin);
  264. HAL_GPIO_TogglePin(TURBO_GPIO_Port, TURBO_Pin);
  265. break;
  266. default:
  267. break;
  268. }
  269. }
  270. void Led_Process(void)
  271. {
  272. static uint32_t Delay1TimeCnt = 0;
  273. static uint8_t Flag1 = 0, ErrorFirstFlag=0;
  274. static uint32_t Error_TimeCnt =0;
  275. if((PBU_hardwareErrorCode.Code!=0) || (PBU_commErrorCode.Code!=0) || (MC_ErrorCode.Code!=0))
  276. {
  277. if(ErrorFirstFlag == 0) //获取第一个故障码,故障码指示灯清零
  278. {
  279. ErrorFirstFlag = 1;
  280. ErrorCodeFinal = GetErrorCode();
  281. Error_TimeCnt = SysTime_5ms;
  282. LED_INIT();
  283. }
  284. if( MC_ErrorCodeBackup.Code != 0) //第一个故障是否恢复
  285. {
  286. if( (MC_ErrorCodeBackup.Code&&MC_ErrorCode.Code) == 0) {ErrorFirstFlag = 0; MC_ErrorCodeBackup.Code = 0;}
  287. }
  288. else
  289. {
  290. if( (PBU_ErrorCodeBackup.Code&&PBU_ErrorCode.Code) == 0) {ErrorFirstFlag = 0; PBU_ErrorCodeBackup.Code = 0;}
  291. }
  292. if(TimeCntDiff_5ms(Error_TimeCnt) >= 100) //根据故障码显示故障
  293. {
  294. Error_TimeCnt = SysTime_5ms;
  295. ErrorCode_LEDDisplay(ErrorCodeFinal);
  296. }
  297. }
  298. else
  299. {
  300. ErrorFirstFlag=0;
  301. if( BMS_ChargingFlag == TRUE )
  302. {
  303. LED_INIT();
  304. }
  305. else if(PBU_AssitMode_Status.PBU_AssistMode_Flag == PBU_AssistMode_Flag_WalkSby)
  306. {
  307. LED_INIT_GearSt();
  308. if(Flag1 == 0)
  309. {
  310. Delay1TimeCnt = SysTime_5ms;
  311. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_SET);
  312. Flag1 = 1;
  313. }
  314. if(TimeCntDiff_5ms(Delay1TimeCnt) >= 100)
  315. {
  316. HAL_GPIO_TogglePin(WALK_GPIO_Port, WALK_Pin);
  317. Delay1TimeCnt = SysTime_5ms;
  318. }
  319. }
  320. else
  321. {
  322. Flag1 = 0;
  323. if(PBU_RunMode!=PBU_RunMode_PowerOff)
  324. {
  325. switch(ControlCode.GearSt)
  326. {
  327. case 0x00:
  328. LED_INIT();
  329. HAL_GPIO_WritePin(OFF_GPIO_Port, OFF_Pin, GPIO_PIN_RESET);
  330. break;
  331. case 0x01:
  332. LED_INIT();
  333. HAL_GPIO_WritePin(ECO_GPIO_Port, ECO_Pin, GPIO_PIN_RESET);
  334. break;
  335. case 0x02:
  336. LED_INIT();
  337. HAL_GPIO_WritePin(NORM_GPIO_Port, NORM_Pin, GPIO_PIN_RESET);
  338. break;
  339. case 0x03:
  340. LED_INIT();
  341. HAL_GPIO_WritePin(SPORT_GPIO_Port, SPORT_Pin, GPIO_PIN_RESET);
  342. break;
  343. case 0x04:
  344. LED_INIT();
  345. HAL_GPIO_WritePin(TURBO_GPIO_Port, TURBO_Pin, GPIO_PIN_RESET);
  346. break;
  347. case 0x22:
  348. LED_INIT();
  349. HAL_GPIO_WritePin(WALK_GPIO_Port, WALK_Pin, GPIO_PIN_RESET);
  350. break;
  351. case 0x33:
  352. LED_INIT();
  353. HAL_GPIO_WritePin(SMART_GPIO_Port, SMART_Pin, GPIO_PIN_RESET);
  354. break;
  355. default:
  356. break;
  357. }
  358. }
  359. }
  360. }
  361. }