소스 검색

SelfTest 동작 오류 수정

PYJ 5 년 전
부모
커밋
f12cbdc8ad
4개의 변경된 파일16개의 추가작업 그리고 19개의 파일을 삭제
  1. 5 11
      Bluecell_Src/Bluecell_operate.c
  2. 1 1
      Bluecell_Src/uart.c
  3. 2 0
      Inc/main.h
  4. 8 7
      Src/main.c

+ 5 - 11
Bluecell_Src/Bluecell_operate.c

@@ -154,7 +154,7 @@ bool Initialize;
154 154
 bool AGC_AlarmSet[AGC_Alarm_DL_Index_MAX];
155 155
 uint8_t FRBT_Day_Inc;
156 156
 uint16_t ADC3Ret[5];
157
-uint8_t LED_TestCnt;
157
+volatile uint8_t LED_TestCnt = 0;
158 158
 uint8_t TxData[2048];
159 159
 
160 160
 
@@ -275,7 +275,7 @@ void Booting_LedInit(void){
275 275
 
276 276
 void Boot_LED_Toggle(void){
277 277
   if(bluecell_Currdatastatus.LED_TEST == false){
278
-      if(LedTimerCnt > 1000){
278
+      if(LedTimerCnt > 500){
279 279
         HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,BOOT_LED_Pin);
280 280
         HAL_GPIO_TogglePin(LED_ACT_GPIO_Port,LED_ACT_Pin);
281 281
     //    if(AlarmTimerOnCnt > 3000){
@@ -2402,10 +2402,7 @@ bool Bluecell_Operate(uint8_t* data){
2402 2402
             Bluecell_DataInit();
2403 2403
             HAL_Delay(10);
2404 2404
             Bluecell_AttenInitialize();
2405
-              if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
2406
-              {
2407
-                Error_Handler();
2408
-              }            
2405
+
2409 2406
             Initialize = true;
2410 2407
         }
2411 2408
         DataStatusSet();
@@ -4575,10 +4572,7 @@ bool MBIC_Operate(uint8_t* data){
4575 4572
             Bluecell_DataInit();
4576 4573
             Bluecell_AttenInitialize();
4577 4574
             Initialize = true;
4578
-          if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
4579
-          {
4580
-            Error_Handler();
4581
-          }
4575
+
4582 4576
         }
4583 4577
         HFR_TypeInit();        
4584 4578
         data[MBIC_CMD_0] = 0x80;//MBIC_ERRRESPONSE;
@@ -7419,7 +7413,7 @@ void SelfTest_TimerOff(uint8_t num,uint8_t* selftest){
7419 7413
     uint16_t Pin = 0;
7420 7414
     GPIO_TypeDef *_Port = 0;
7421 7415
     uint16_t _Pin = 0;   
7422
-    if((*selftest) == false && SelfTestLifeCnt[num] < MBIC_RECOVERY_LAST_SHUTDOWN_MAINTAIN_SEC){
7416
+    if((*selftest) == false || SelfTestLifeCnt[num] < MBIC_RECOVERY_SELFTEST_TIMER_SEC){
7423 7417
         return;
7424 7418
     }
7425 7419
     switch(num){

+ 1 - 1
Bluecell_Src/uart.c

@@ -98,7 +98,7 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
98 98
     pQueue->data--;
99 99
     
100 100
     if(pQueue->data == 0){
101
-	HAL_IWDG_Refresh(&hiwdg);
101
+
102 102
 //        printf("data cnt zero !!!  \r\n");
103 103
         //RF_Ctrl_Main(&uart_buf[Header]);
104 104
 //        HAL_UART_Transmit(dst, &temp_buf[BLUECELL_HEADER00], 11, 3000);

+ 2 - 0
Inc/main.h

@@ -186,6 +186,8 @@ extern I2C_HandleTypeDef hi2c2;
186 186
 #define MBIC_ON_SHUTDOWN_MAINTAIN_SEC 5000//5
187 187
 #define MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC 30000//30
188 188
 #define MBIC_RECOVERY_LAST_SHUTDOWN_MAINTAIN_SEC 60000 * 5 //5min
189
+#define MBIC_RECOVERY_SELFTEST_TIMER_SEC (60000 * 30) //30min
190
+
189 191
 
190 192
 
191 193
 #define MBIC_OFF_MAINTAIN_SEC 10000

+ 8 - 7
Src/main.c

@@ -290,7 +290,7 @@ int main(void)
290 290
   Flash_InitRead();
291 291
   Booting_LedInit();
292 292
   InitUartQueue(&TerminalQueue);
293
-
293
+  bluecell_Currdatastatus.LED_TEST = true;
294 294
 
295 295
 
296 296
 #if 1 // PYJ.2020.05.06_BEGIN --
@@ -320,6 +320,7 @@ int main(void)
320 320
     Alarm_Check();     /*Function to check all alarm status variables*/
321 321
     FRBT_Operate();
322 322
     SelfTestTimer_Operate();
323
+    HAL_IWDG_Refresh(&hiwdg);
323 324
     /* USER CODE END WHILE */
324 325
 
325 326
     /* USER CODE BEGIN 3 */
@@ -604,13 +605,13 @@ static void MX_IWDG_Init(void)
604 605
   hiwdg.Instance = IWDG;
605 606
   hiwdg.Init.Prescaler = IWDG_PRESCALER_128;
606 607
   hiwdg.Init.Reload = 4095;
607
-#if 1  
608
-//  if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
609
-//  {
610
-//    Error_Handler();
611
-//  }
608
+
609
+  if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
610
+  {
611
+    Error_Handler();
612
+  }
612 613
   /* USER CODE BEGIN IWDG_Init 2 */
613
-#endif
614
+
614 615
   /* USER CODE END IWDG_Init 2 */
615 616
 
616 617
 }