瀏覽代碼

Shutdown On 타이밍 변경 신호 5초에서 -> 15초로 변경
SelfTest 일 때 LED 동작 안하도록 수정
MBIC (DL UL) Det Level 보낼 때 *10 을 함수에서 직접 * 10 하도록 수정
DetLevel 측정 함수 에서 반올림 해주는 함수 제거
Det 측정 시 Level 소수점 1자리까지 출력하도록 수정

PYJ 4 年之前
父節點
當前提交
7e6f83d3d7
共有 2 個文件被更改,包括 63 次插入16 次删除
  1. 62 15
      Bluecell_Src/Bluecell_operate.c
  2. 1 1
      Inc/main.h

+ 62 - 15
Bluecell_Src/Bluecell_operate.c

@@ -318,11 +318,16 @@ void Booting_LedInit(void){
318 318
 
319 319
 
320 320
 void Boot_LED_Toggle(void){
321
+
321 322
   if(bluecell_Currdatastatus.LED_TEST == false){
322 323
       if(LedTimerCnt > 500){
323 324
         HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,BOOT_LED_Pin);
324 325
         HAL_GPIO_TogglePin(LED_ACT_GPIO_Port,LED_ACT_Pin);
325 326
     //    if(AlarmTimerOnCnt > 3000){
327
+        if(bluecell_Currdatastatus.SelfTest == true){
328
+            Alarm_LED_OnSet = false;
329
+        }
330
+
326 331
         if(Alarm_LED_OnSet == true){
327 332
             HAL_GPIO_WritePin(LED_FAIL_GPIO_Port,LED_FAIL_Pin,GPIO_PIN_SET);
328 333
         }else{
@@ -346,6 +351,7 @@ void Boot_LED_Toggle(void){
346 351
             }
347 352
             LED_TestCnt++;
348 353
             LedTimerCnt = 0;
354
+            
349 355
           /*Set LED TEST variable False after 12 flashes*/
350 356
           if(LED_TestCnt >= Led_ToggleCntSet){
351 357
             bluecell_Currdatastatus.LED_TEST = false;
@@ -3126,7 +3132,14 @@ uint32_t MBIC_DataSend(uint8_t* data){
3126 3132
     data[MBIC_PAYLOADSTART + i++] = 0xFF;
3127 3133
     data[MBIC_PAYLOADSTART + i++] = 0x0F;
3128 3134
     data[MBIC_PAYLOADSTART + i++] = 0xFF;
3129
-     if(bluecell_Currdatastatus.Carrier_ON_OFF == false 
3135
+    if(bluecell_Currdatastatus.SelfTest == true){
3136
+        data[MBIC_PAYLOADSTART + i++] = 0;
3137
+        data[MBIC_PAYLOADSTART + i++] = 0;
3138
+        data[MBIC_PAYLOADSTART + i++] = 0;
3139
+        data[MBIC_PAYLOADSTART + i++] = 0;
3140
+        data[MBIC_PAYLOADSTART + i++] = 0;
3141
+    }
3142
+    else if(bluecell_Currdatastatus.Carrier_ON_OFF == false 
3130 3143
      || bluecell_Currdatastatus.ALARM_TESTMODE == true){/*Carrier OFF -> Alarm OFF*/
3131 3144
 
3132 3145
         if(bluecell_Currdatastatus.ALARM_TESTMODE == false){
@@ -3821,22 +3834,22 @@ uint32_t MBIC_DataSend(uint8_t* data){
3821 3834
     data[MBIC_PAYLOADSTART + i++] = 8; // LENGTH
3822 3835
     Length += 8     ;HeaderLength++;
3823 3836
     tmpdata = bluecell_Currdatastatus.DLI_Level1_H << 8 | bluecell_Currdatastatus.DLI_Level1_L;
3824
-    tmpdata *= 10;
3837
+//    tmpdata *= 10;
3825 3838
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3826 3839
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3827 3840
 
3828 3841
     tmpdata = bluecell_Currdatastatus.DLI_Level2_H << 8 | bluecell_Currdatastatus.DLI_Level2_L;
3829
-    tmpdata *= 10;    
3842
+//    tmpdata *= 10;    
3830 3843
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3831 3844
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3832 3845
 
3833 3846
     tmpdata = bluecell_Currdatastatus.DLI_Level3_H << 8 | bluecell_Currdatastatus.DLI_Level3_L;
3834
-    tmpdata *= 10;
3847
+//    tmpdata *= 10;
3835 3848
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3836 3849
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3837 3850
 
3838 3851
     tmpdata = bluecell_Currdatastatus.DLI_Level4_H << 8 | bluecell_Currdatastatus.DLI_Level4_L;
3839
-    tmpdata *= 10;
3852
+//    tmpdata *= 10;
3840 3853
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3841 3854
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3842 3855
 
@@ -4046,21 +4059,21 @@ uint32_t MBIC_DataSend(uint8_t* data){
4046 4059
     data[MBIC_PAYLOADSTART + i++] = 8; // LENGTH
4047 4060
     Length += 8           ;HeaderLength++;
4048 4061
     tmpdata = bluecell_Currdatastatus.ULO_Level1_H << 8 | bluecell_Currdatastatus.ULO_Level1_L;
4049
-    tmpdata *= 10;
4062
+//    tmpdata *= 10;
4050 4063
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
4051 4064
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
4052 4065
     tmpdata = bluecell_Currdatastatus.ULO_Level2_H << 8 | bluecell_Currdatastatus.ULO_Level2_L;
4053
-    tmpdata *= 10;
4066
+//    tmpdata *= 10;
4054 4067
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
4055 4068
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
4056 4069
 
4057 4070
     tmpdata = bluecell_Currdatastatus.ULO_Level3_H << 8 | bluecell_Currdatastatus.ULO_Level3_L;
4058
-    tmpdata *= 10;
4071
+//    tmpdata *= 10;
4059 4072
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
4060 4073
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
4061 4074
 
4062 4075
     tmpdata = bluecell_Currdatastatus.ULO_Level4_H << 8 | bluecell_Currdatastatus.ULO_Level4_L;
4063
-    tmpdata *= 10;
4076
+//    tmpdata *= 10;
4064 4077
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
4065 4078
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
4066 4079
 
@@ -7481,6 +7494,7 @@ double Bluecell_TestPro(double value )
7481 7494
 double Bluecell_TestPro(double value ){
7482 7495
     bool minusset = false;
7483 7496
     uint8_t temp = 0;
7497
+//    printf("DL1 : %f \r\n", value);
7484 7498
     if(value < 0){
7485 7499
         value *= -1;
7486 7500
         minusset = true;
@@ -8072,16 +8086,30 @@ int16_t ResultData = 0;
8072 8086
     ResdBm = AutoControl_ADC_Compare(ret,&UL_Table->Table_Det_15_dBm_H,UL_Table->Table_Length * 2,&UL_DET_Table_ref[TableIndex][TABLE_MAX_VALUE]);
8073 8087
     //ret 현재 Voltage 값 출력
8074 8088
     //ret 에 따른 현재 DBM 구현
8075
-    ResdBm = HFR_CntUpCalc(ResdBm);
8089
+//    ResdBm = HFR_CntUpCalc(ResdBm);
8076 8090
     ResdBm += Temperature_Offset_Get(&Temp_UL1.Table_1_Temp,bluecell_Currdatastatus.DET_TEMP);
8077 8091
     ResultData = ResdBm;
8092
+    
8093
+#if 0 // PYJ.2020.09.10_BEGIN -- 
8078 8094
     if(ResultData < -60)
8079 8095
         ResultData = -60;
8080 8096
     else if(ResultData > -15)
8081
-        ResultData = -15;    
8082
-//    printf("HFR CALC RET : %d \r\n",ResultData);
8097
+        ResultData = -15;  
8083 8098
     ULO_Level[ULO_ALC_H] = (ResultData & 0xFF00) >> 8;
8084
-    ULO_Level[ULO_ALC_L] = (ResultData & 0x00FF);  
8099
+    ULO_Level[ULO_ALC_L] = (ResultData & 0x00FF);      
8100
+#else
8101
+    if(ResdBm < -60)
8102
+        ResdBm = -60;
8103
+    else if(ResdBm > -15)
8104
+        ResdBm = -15; 
8105
+    ResultData = ResdBm * 10;
8106
+    ULO_Level[ULO_ALC_H] = (ResultData & 0xFF00) >> 8;
8107
+    ULO_Level[ULO_ALC_L] = (ResultData & 0x00FF);      
8108
+
8109
+#endif // PYJ.2020.09.10_END -- 
8110
+    
8111
+//    printf("HFR CALC RET : %d \r\n",ResultData);
8112
+
8085 8113
 
8086 8114
 
8087 8115
 //    
@@ -8369,9 +8397,10 @@ void DL_Det_Function(uint8_t Table_Num,uint8_t* CurrADC_Level,DET_TABLEDL_st* DL
8369 8397
     int16_t Levelret = 0;    
8370 8398
     AGC_Table = &DL_DET_Table_ref[Table_Num][TABLE_MAX_VALUE];
8371 8399
     ret = (((CurrADC_Level[DL_Level_H] << 8) | CurrADC_Level[DL_Level_L]) * 0.001);
8372
-//    printf("DL_Table->Table_Length : %d \r\n",DL_Table->Table_Length);                
8400
+//    printf("DL_Table->Table_Length : %d \r\n",DL_Table->Table_Length);  
8401
+    
8402
+#if 0 // PYJ.2020.09.10_BEGIN -- 
8373 8403
     Levelret = (int16_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&DL_Table->Table_Det5_dBm_H,DL_Table->Table_Length,AGC_Table));
8374
-
8375 8404
     Levelret += Temperature_Offset_Get(&Temp_DL1.Table_1_Temp,bluecell_Currdatastatus.DET_TEMP);
8376 8405
     if(Levelret < -25)
8377 8406
         Levelret = -25;
@@ -8381,6 +8410,24 @@ void DL_Det_Function(uint8_t Table_Num,uint8_t* CurrADC_Level,DET_TABLEDL_st* DL
8381 8410
 
8382 8411
     Level[DL_Level_H] = (Levelret & 0xFF00) >> 8;
8383 8412
     Level[DL_Level_L] = (Levelret & 0x00FF);
8413
+#else
8414
+    ret = AGC_AutoControl_ADC_Compare(ret,&DL_Table->Table_Det5_dBm_H,DL_Table->Table_Length,AGC_Table);
8415
+
8416
+    ret += Temperature_Offset_Get(&Temp_DL1.Table_1_Temp,bluecell_Currdatastatus.DET_TEMP);
8417
+    if(ret < -25)
8418
+        ret = -25;
8419
+    else if(ret > 7)
8420
+        ret = 7;
8421
+//    printf("Levelret %d : %d \r\n",Table_Num + 1,Levelret);
8422
+//    printf("ret : %f \r\n",ret);
8423
+    ret *= 10;
8424
+    Levelret = ret;
8425
+//    printf("Levelret : %d \r\n",Levelret);
8426
+    Level[DL_Level_H] = (Levelret & 0xFF00) >> 8;
8427
+    Level[DL_Level_L] = (Levelret & 0x00FF);
8428
+
8429
+#endif // PYJ.2020.09.10_END -- 
8430
+
8384 8431
     
8385 8432
 }
8386 8433
 void AGC_Function(){//DL

+ 1 - 1
Inc/main.h

@@ -183,7 +183,7 @@ extern I2C_HandleTypeDef hi2c2;
183 183
 #define ATT_EN_DL1_GPIO_Port GPIOB
184 184
 /* USER CODE BEGIN Private defines */
185 185
 #define MBIC_ON_MAINTAIN_SEC 3000
186
-#define MBIC_ON_SHUTDOWN_MAINTAIN_SEC 5000//5
186
+#define MBIC_ON_SHUTDOWN_MAINTAIN_SEC 15000//5
187 187
 #define MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC 30000//30
188 188
 #define MBIC_RECOVERY_LAST_SHUTDOWN_MAINTAIN_SEC 60000 * 5 //5min
189 189
 #define MBIC_RECOVERY_SELFTEST_TIMER_SEC (60000 * 30) //30min