Procházet zdrojové kódy

HFR Download Test 후 수정 사항
- 알람 테스트 모드 구현
- 알람 더미 실제로 사용 할 수 있도로 변경
- 알람마스크 기능 구현

PYJ před 5 roky
rodič
revize
3ef6e32881
1 změnil soubory, kde provedl 91 přidání a 39 odebrání
  1. 91 39
      Bluecell_Src/Bluecell_operate.c

+ 91 - 39
Bluecell_Src/Bluecell_operate.c

@@ -3101,26 +3101,52 @@ uint32_t MBIC_DataSend(uint8_t* data){
3101 3101
     data[MBIC_PAYLOADSTART + i++] = 10; // LENGTH
3102 3102
     
3103 3103
 
3104
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK1 = 0x80;
3105
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK2 = 0xFF;
3106
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK3 = 0xFF;
3107
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK4 = 0x0F;
3108
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK5 = 0xFF;
3109
-     if(bluecell_Currdatastatus.Carrier_ON_OFF == false){/*Carrier OFF -> Alarm OFF*/
3110
-        data[MBIC_PAYLOADSTART + i++] = 0;
3111
-        data[MBIC_PAYLOADSTART + i++] = 0;
3112
-        data[MBIC_PAYLOADSTART + i++] = 0;
3113
-        data[MBIC_PAYLOADSTART + i++] = 0;
3114
-        data[MBIC_PAYLOADSTART + i++] = 0;
3104
+    data[MBIC_PAYLOADSTART + i++] = 0x80;
3105
+    data[MBIC_PAYLOADSTART + i++] = 0xFF;
3106
+    data[MBIC_PAYLOADSTART + i++] = 0xFF;
3107
+    data[MBIC_PAYLOADSTART + i++] = 0x0F;
3108
+    data[MBIC_PAYLOADSTART + i++] = 0xFF;
3109
+     if(bluecell_Currdatastatus.Carrier_ON_OFF == false || bluecell_Currdatastatus.ALARM_TESTMODE == true){/*Carrier OFF -> Alarm OFF*/
3110
+        if(bluecell_Currdatastatus.ALARM_TESTMODE == false){
3111
+            data[MBIC_PAYLOADSTART + i++] = 0;
3112
+            data[MBIC_PAYLOADSTART + i++] = 0;
3113
+            data[MBIC_PAYLOADSTART + i++] = 0;
3114
+            data[MBIC_PAYLOADSTART + i++] = 0;
3115
+            data[MBIC_PAYLOADSTART + i++] = 0;
3116
+        }else{
3117
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_Test_Dummy1;
3118
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_Test_Dummy2;
3119
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_Test_Dummy3;
3120
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_Test_Dummy4;
3121
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_Test_Dummy5;
3122
+
3123
+        }
3115 3124
      }else{
3116
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_TEMP_HIGH;
3117
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_DLI_Level;
3118
-        data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm & 0xF0 )
3119
-                                      | (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN & 0x0F);
3125
+        if(bluecell_Currdatastatus.ALARM_MASK1 == true)
3126
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_TEMP_HIGH;
3127
+        else
3128
+            data[MBIC_PAYLOADSTART + i++] = 0;
3120 3129
         
3121
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_Level;
3122
-        data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm & 0xF0)
3130
+        if(bluecell_Currdatastatus.ALARM_MASK2 == true)
3131
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_DLI_Level;
3132
+        else
3133
+            data[MBIC_PAYLOADSTART + i++] = 0;
3134
+
3135
+        if(bluecell_Currdatastatus.ALARM_MASK3 == true)
3136
+            data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm & 0xF0 )
3137
+                                       | (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN & 0x0F);
3138
+        else
3139
+            data[MBIC_PAYLOADSTART + i++] = 0;    
3140
+        if(bluecell_Currdatastatus.ALARM_MASK4 == true)                                      
3141
+            data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_Level;
3142
+        else
3143
+        data[MBIC_PAYLOADSTART + i++] = 0;
3144
+
3145
+        if(bluecell_Currdatastatus.ALARM_MASK5 == true)
3146
+            data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm & 0xF0)
3123 3147
                                         |(bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & 0x0F);
3148
+        else
3149
+            data[MBIC_PAYLOADSTART + i++] = 0;            
3124 3150
     }
3125 3151
     /*ALARM BIT MASK*/
3126 3152
     data[MBIC_PAYLOADSTART + i++] = MBIC_AID;
@@ -4481,6 +4507,7 @@ bool MBIC_Operate(uint8_t* data){
4481 4507
                 bluecell_Currdatastatus.ALARM_MASK5 = data[MBIC_PAYLOADSTART + 7]; 
4482 4508
                 break;
4483 4509
             case  Alarm_Test_Mode                         :
4510
+//                printf("bluecell_Currdatastatus.ALsARM_TESTMODE : %d \r\n",bluecell_Currdatastatus.ALARM_TESTMODE);
4484 4511
                 bluecell_Currdatastatus.ALARM_TESTMODE = data[MBIC_PAYLOADSTART + 3]; 
4485 4512
                 break;
4486 4513
             case  Alarm_Test_Dummy                        :
@@ -4489,6 +4516,11 @@ bool MBIC_Operate(uint8_t* data){
4489 4516
                 bluecell_Currdatastatus.ALARM_Test_Dummy3 = data[MBIC_PAYLOADSTART + 5];
4490 4517
                 bluecell_Currdatastatus.ALARM_Test_Dummy4 = data[MBIC_PAYLOADSTART + 6];
4491 4518
                 bluecell_Currdatastatus.ALARM_Test_Dummy5 = data[MBIC_PAYLOADSTART + 7];
4519
+//                printf("Dummy 1 : %d \r\n",bluecell_Currdatastatus.ALARM_Test_Dummy1);
4520
+//                printf("Dummy 2 : %d \r\n",bluecell_Currdatastatus.ALARM_Test_Dummy2);
4521
+//                printf("Dummy 3 : %d \r\n",bluecell_Currdatastatus.ALARM_Test_Dummy3);
4522
+//                printf("Dummy 4 : %d \r\n",bluecell_Currdatastatus.ALARM_Test_Dummy4);
4523
+//                printf("Dummy 5 : %d \r\n",bluecell_Currdatastatus.ALARM_Test_Dummy5);                
4492 4524
                 break;
4493 4525
             case  CPU_Bank_Select_Reboot_by               :
4494 4526
                 bluecell_Currdatastatus.CPU_Bank_Select = data[MBIC_PAYLOADSTART + 3]; 
@@ -7428,6 +7460,46 @@ void FRBT_Operate(){
7428 7460
         FRBT_Tracking_Package(DET_Alarm_DL4_Index,&bluecell_Currdatastatus.DLI_FRBT_Atten4_H,&bluecell_Currdatastatus.ATT_DL4_H,bluecell_Currdatastatus.ATT_DL4_PATH);
7429 7461
 //        printf("Tracking ... \r\n");
7430 7462
     }
7463
+}
7464
+void LED_Alarm_Check(){
7465
+    if(bluecell_Currdatastatus.ALARM_TESTMODE == false){
7466
+      if(  (bluecell_Currdatastatus.ALARM_TEMP_HIGH      > 0 && bluecell_Currdatastatus.ALARM_MASK1 == true) 
7467
+        || (bluecell_Currdatastatus.ALARM_DLI_Level      > 0 && bluecell_Currdatastatus.ALARM_MASK2 == true)
7468
+        || (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN  > 0 && bluecell_Currdatastatus.ALARM_MASK3 == true)
7469
+        || (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm  > 0 && bluecell_Currdatastatus.ALARM_MASK3 == true)
7470
+        || (bluecell_Currdatastatus.ALARM_ULO_Level      > 0 && bluecell_Currdatastatus.ALARM_MASK4 == true)
7471
+        || (bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm  > 0 && bluecell_Currdatastatus.ALARM_MASK5 == true)
7472
+        || (bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN  > 0 && bluecell_Currdatastatus.ALARM_MASK5 == true))
7473
+        {
7474
+    //        AlarmTimerOnSet = true;
7475
+    //        AlarmTimerOffSet = false;
7476
+    //        if(AlarmTimerOnCnt > 3000){
7477
+                Alarm_LED_OnSet  = true;
7478
+    //        }
7479
+        }else{
7480
+    //        AlarmTimerOffSet = true;// False 
7481
+    //        if(AlarmTimerOffCnt > 10000){
7482
+    //            AlarmTimerOnSet = false;
7483
+                Alarm_LED_OnSet = false;
7484
+    //            printf("=================AlarmTimerOffCnt=================\r\n");
7485
+    //        }
7486
+        }
7487
+    }
7488
+    else{
7489
+        if(bluecell_Currdatastatus.ALARM_Test_Dummy1         > 0 
7490
+        || bluecell_Currdatastatus.ALARM_Test_Dummy2         > 0
7491
+        || bluecell_Currdatastatus.ALARM_Test_Dummy3         > 0
7492
+        || bluecell_Currdatastatus.ALARM_Test_Dummy4         > 0
7493
+        || bluecell_Currdatastatus.ALARM_Test_Dummy5         > 0)
7494
+        {
7495
+            Alarm_LED_OnSet  = true;
7496
+        }
7497
+        else{
7498
+            Alarm_LED_OnSet = false;
7499
+        }
7500
+
7501
+}
7502
+
7431 7503
 }
7432 7504
 void Alarm_Check(){
7433 7505
    // double temp = 0;
@@ -7435,28 +7507,8 @@ void Alarm_Check(){
7435 7507
    // int8_t ResdBm[4] = {0,};
7436 7508
 
7437 7509
 
7438
-    if(bluecell_Currdatastatus.ALARM_TEMP_HIGH             > 0 
7439
-    || bluecell_Currdatastatus.ALARM_DLI_Level             > 0
7440
-    || bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN         > 0
7441
-    || bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm         > 0
7442
-    || bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm         > 0
7443
-    || bluecell_Currdatastatus.ALARM_ULO_Level             > 0
7444
-    || bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN         > 0)
7445
-    {
7446
-//        AlarmTimerOnSet = true;
7447
-//        AlarmTimerOffSet = false;
7448
-//        if(AlarmTimerOnCnt > 3000){
7449
-            Alarm_LED_OnSet  = true;
7450
-//        }
7451
-    }else{
7452
-//        AlarmTimerOffSet = true;// False 
7453
-//        if(AlarmTimerOffCnt > 10000){
7454
-//            AlarmTimerOnSet = false;
7455
-            Alarm_LED_OnSet = false;
7456
-//            printf("=================AlarmTimerOffCnt=================\r\n");
7457
-//        }
7458
-    }
7459
-
7510
+  
7511
+    LED_Alarm_Check();
7460 7512
     Temp_HighAlarmCheck();
7461 7513
     DLI_AGCAlarmCheck();
7462 7514
     ULO_ALCAlarmCheck();