Sfoglia il codice sorgente

MBIC Shutdown Index 추가 UL DL 각각 계산식 추가 , 부팅시 UL DL 저장 에러 수정 ,data Req 시 Init 하도록 수정

PYJ 5 anni fa
parent
commit
69448f78a1

+ 11 - 1
Bluecell_Inc/Bluecell_operate.h

@@ -482,7 +482,17 @@ ULO_Shutdown_Alarm4,
482 482
 
483 483
 #define MBIC_CPUVERSION 0x000000
484 484
 
485
-
485
+typedef enum{
486
+    MBIC_Shutdown_DL1 = 0,
487
+    MBIC_Shutdown_DL2,
488
+    MBIC_Shutdown_DL3,
489
+    MBIC_Shutdown_DL4,
490
+    MBIC_Shutdown_UL1,
491
+    MBIC_Shutdown_UL2,
492
+    MBIC_Shutdown_UL3,
493
+    MBIC_Shutdown_UL4,
494
+    MBIC_Shutdown_MaxIndex,        
495
+};
486 496
 enum DATATYPE
487 497
 {
488 498
     BLUECELL_SOFTWARERESET = 0,

+ 230 - 128
Bluecell_Src/Bluecell_operate.c

@@ -11,6 +11,8 @@
11 11
 /***************************************************************************************/
12 12
 /*                                  Extern Function                                    */
13 13
 /***************************************************************************************/
14
+extern uint32_t ShutdownCnt_Get(uint8_t index);
15
+extern void ShutdownCnt_Set(uint8_t index,uint8_t val);
14 16
 
15 17
 extern void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
16 18
 extern void Uart1_Data_Send(uint8_t* data,uint16_t size);
@@ -61,8 +63,6 @@ double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
61 63
 void Booting_LED_Check(void);
62 64
 double Bluecell_TestPro(double value );
63 65
 double AGC_AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size);
64
-void MBIC_Table_Load_TempValueConvert(uint8_t* data);
65
-void MBIC_Table_Save_TempValueConvert(uint8_t* data);
66 66
 
67 67
 
68 68
 
@@ -75,9 +75,9 @@ uint8_t DataWrite[sizeof(BLUESTATUS_st)] = {0,};
75 75
 uint8_t Txdata[512];
76 76
 int8_t AutoControl_Save[sizeof(ALC_dBm_t)];
77 77
 uint16_t ADC1Ret[4];
78
+bool Initialize = false;
78 79
 
79 80
 uint16_t ADC3Ret[5];
80
-uint8_t LED_TestCnt = 0;
81 81
 
82 82
 ATT_TABLE_st Att_DL1;
83 83
 ATT_TABLE_st Att_DL2;
@@ -112,7 +112,6 @@ BLUESTATUS_st bluecell_Currdatastatus;
112 112
 BLUESTATUS_st bluecell_Prevdatastatus;
113 113
 
114 114
 
115
-
116 115
 #if 0 // PYJ.2020.05.21_BEGIN -- 
117 116
 int8_t AGC_ATTEN_ref[16] = {
118 117
     15  ,
@@ -183,6 +182,7 @@ void MBIC_Table_Save_TempValueConvert(uint8_t* data){
183 182
 
184 183
 }
185 184
 
185
+uint8_t LED_TestCnt = 0;
186 186
 void Boot_LED_Toggle(void){
187 187
   if(bluecell_Currdatastatus.LED_TEST == false){
188 188
       if(LedTimerCnt > 1000){
@@ -235,20 +235,28 @@ uint8_t PE43711_Calc(uint8_t* Table,uint8_t high_bit,uint8_t low_bit,uint8_t off
235 235
     uint8_t Result = 0;
236 236
     ret = PE43711_Double(high_bit,low_bit); // Hidden Atten Calc
237 237
     ret += PE43711_Double(offset_h,offset_l);//Plus User Atten Calc
238
-    ret += PE43711_Double(0,HIDDENATTEN);//Plus Default Atten 5
238
+//    ret += PE43711_Double(0,HIDDENATTEN);//Plus Default Atten 5
239 239
 //    printf("ret1 : %f \r\n",ret); // 2
240 240
     ret = TableAtteGuarantee(Table,ret);//Table Guarantee
241 241
 //    printf("ret2 : %f \r\n",ret);
242 242
     Result = PE43711_DataToHexConvert(ret);
243 243
     return Result;
244 244
 }
245
-uint8_t MBIC_PE43711_Calc(uint8_t* Table,int16_t MBIC_Val,int16_t MBIC_UserVal){
245
+uint8_t MBIC_DL_PE43711_Calc(uint8_t* Table,int16_t MBIC_Val,int16_t MBIC_UserVal){
246 246
 
247 247
     double ret = 0;
248
+    double ret2 = 0;
248 249
     uint8_t Result = 0;
249 250
     //ret = PE43711_Double(MBIC_Val); // Hidden Atten Calc
250
-    ret = (MBIC_Val /10 )* -1;
251
-    ret += (MBIC_UserVal/10)* -1;//Plus User Atten Calc
251
+//    printf("MBIC_UserVal : %x \r\n",MBIC_UserVal); // 2
252
+    ret = MBIC_Val;
253
+    ret /= 10;
254
+    ret *= -1;
255
+    ret2 += MBIC_UserVal;
256
+    ret2 /= 10;
257
+    ret2 *= -1;
258
+    ret += ret2;
259
+    
252 260
     ret += HIDDENATTEN/10;//PE43711_Double(0,HIDDENATTEN);//Plus Default Atten 5
253 261
 //    printf("ret1 : %f \r\n",ret); // 2
254 262
     ret = TableAtteGuarantee(Table,ret);//Table Guarantee
@@ -256,6 +264,26 @@ uint8_t MBIC_PE43711_Calc(uint8_t* Table,int16_t MBIC_Val,int16_t MBIC_UserVal){
256 264
     Result = PE43711_DataToHexConvert(ret);
257 265
     return Result;
258 266
 }
267
+uint8_t MBIC_UL_PE43711_Calc(uint8_t* Table,int16_t MBIC_Val,int16_t MBIC_UserVal){
268
+
269
+    double ret = 0;
270
+    double ret2 = 0;
271
+    uint8_t Result = 0;
272
+    //ret = PE43711_Double(MBIC_Val); // Hidden Atten Calc
273
+//    printf("MBIC_UserVal : %x \r\n",MBIC_UserVal); // 2
274
+    ret = MBIC_Val;
275
+    ret /= 10;
276
+    ret *= -1;
277
+    ret2 += MBIC_UserVal;
278
+    ret2 /= 10;
279
+    ret2 *= -1;
280
+    ret += ret2;
281
+//    printf("ret1 : %f \r\n",ret); // 2
282
+    ret = TableAtteGuarantee(Table,ret);//Table Guarantee
283
+//    printf("ret2 : %f \r\n",ret);
284
+    Result = PE43711_DataToHexConvert(ret);
285
+    return Result;
286
+}
259 287
 
260 288
 uint8_t PE43711_Calc_NoTable(uint8_t high_bit,uint8_t low_bit){
261 289
 
@@ -348,7 +376,7 @@ void Bluecell_AttenInitialize(){
348 376
 
349 377
     MBIC_Val = bluecell_Currdatastatus.ATT_DL1_H << 8 | bluecell_Currdatastatus.ATT_DL1_L;
350 378
     MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_DL1_H << 8 | bluecell_Currdatastatus.bluecell_User_DL1_L;
351
-    val = MBIC_PE43711_Calc(&Att_DL1.Table_0_0_dBm, // Table Offset
379
+    val = MBIC_DL_PE43711_Calc(&Att_DL1.Table_0_0_dBm, // Table Offset
352 380
                         MBIC_Val,
353 381
                        MBIC_UserVal);// User Atten Low Bit
354 382
 
@@ -360,7 +388,7 @@ void Bluecell_AttenInitialize(){
360 388
     bluecell_Prevdatastatus.bluecell_User_DL2_L = bluecell_Currdatastatus.bluecell_User_DL2_L;
361 389
     MBIC_Val = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
362 390
     MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_DL2_H << 8 | bluecell_Currdatastatus.bluecell_User_DL2_L;
363
-    val = MBIC_PE43711_Calc(&Att_DL2.Table_0_0_dBm, // Table Offset
391
+    val = MBIC_DL_PE43711_Calc(&Att_DL2.Table_0_0_dBm, // Table Offset
364 392
                         MBIC_Val,
365 393
                        MBIC_UserVal);// User Atten Low Bit
366 394
 
@@ -370,9 +398,9 @@ void Bluecell_AttenInitialize(){
370 398
     bluecell_Prevdatastatus.ATT_DL3_L = bluecell_Currdatastatus.ATT_DL3_L;
371 399
     bluecell_Prevdatastatus.bluecell_User_DL3_H = bluecell_Currdatastatus.bluecell_User_DL3_H;
372 400
     bluecell_Prevdatastatus.bluecell_User_DL3_L = bluecell_Currdatastatus.bluecell_User_DL3_L;
373
-    MBIC_Val = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
374
-    MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_DL2_H << 8 | bluecell_Currdatastatus.bluecell_User_DL2_L;
375
-    val = MBIC_PE43711_Calc(&Att_DL2.Table_0_0_dBm, // Table Offset
401
+    MBIC_Val = bluecell_Currdatastatus.ATT_DL3_L << 8 | bluecell_Currdatastatus.ATT_DL3_L;
402
+    MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_DL3_H << 8 | bluecell_Currdatastatus.bluecell_User_DL3_L;
403
+    val = MBIC_DL_PE43711_Calc(&Att_DL3.Table_0_0_dBm, // Table Offset
376 404
                         MBIC_Val,
377 405
                        MBIC_UserVal);// User Atten Low Bit
378 406
 
@@ -382,9 +410,9 @@ void Bluecell_AttenInitialize(){
382 410
     bluecell_Prevdatastatus.ATT_DL4_L = bluecell_Currdatastatus.ATT_DL4_L;
383 411
     bluecell_Prevdatastatus.bluecell_User_DL4_H = bluecell_Currdatastatus.bluecell_User_DL4_H;
384 412
     bluecell_Prevdatastatus.bluecell_User_DL4_L = bluecell_Currdatastatus.bluecell_User_DL4_L;
385
-    MBIC_Val = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
386
-    MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_DL3_H << 8 | bluecell_Currdatastatus.bluecell_User_DL3_L;
387
-    val = MBIC_PE43711_Calc(&Att_DL3.Table_0_0_dBm, // Table Offset
413
+    MBIC_Val = bluecell_Currdatastatus.ATT_DL4_H << 8 | bluecell_Currdatastatus.ATT_DL4_H;
414
+    MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_DL4_H << 8 | bluecell_Currdatastatus.bluecell_User_DL4_L;
415
+    val = MBIC_DL_PE43711_Calc(&Att_DL4.Table_0_0_dBm, // Table Offset
388 416
                         MBIC_Val,
389 417
                        MBIC_UserVal);// User Atten Low Bit
390 418
 
@@ -398,7 +426,7 @@ void Bluecell_AttenInitialize(){
398 426
     bluecell_Prevdatastatus.bluecell_User_UL1_L = bluecell_Currdatastatus.bluecell_User_UL1_L;
399 427
     MBIC_Val = bluecell_Currdatastatus.ATT_UL1_H << 8 | bluecell_Currdatastatus.ATT_UL1_L;
400 428
     MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_UL1_H << 8 | bluecell_Currdatastatus.bluecell_User_UL1_L;
401
-    val = MBIC_PE43711_Calc(&Att_UL1.Table_0_0_dBm, // Table Offset
429
+    val = MBIC_UL_PE43711_Calc(&Att_UL1.Table_0_0_dBm, // Table Offset
402 430
                         MBIC_Val,
403 431
                        MBIC_UserVal);// User Atten Low Bit
404 432
 
@@ -411,7 +439,7 @@ void Bluecell_AttenInitialize(){
411 439
     bluecell_Prevdatastatus.bluecell_User_UL2_L = bluecell_Currdatastatus.bluecell_User_UL2_L;
412 440
     MBIC_Val = bluecell_Currdatastatus.ATT_UL2_H << 8 | bluecell_Currdatastatus.ATT_UL2_L;
413 441
     MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_UL2_H << 8 | bluecell_Currdatastatus.bluecell_User_UL2_L;
414
-    val = MBIC_PE43711_Calc(&Att_UL1.Table_0_0_dBm, // Table Offset
442
+    val = MBIC_UL_PE43711_Calc(&Att_UL1.Table_0_0_dBm, // Table Offset
415 443
                         MBIC_Val,
416 444
                        MBIC_UserVal);// User Atten Low Bit
417 445
 
@@ -425,7 +453,7 @@ void Bluecell_AttenInitialize(){
425 453
     bluecell_Prevdatastatus.bluecell_User_UL3_L = bluecell_Currdatastatus.bluecell_User_UL3_L;
426 454
     MBIC_Val = bluecell_Currdatastatus.ATT_UL3_H << 8 | bluecell_Currdatastatus.ATT_UL3_L;
427 455
     MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_UL3_H << 8 | bluecell_Currdatastatus.bluecell_User_UL3_L;
428
-    val = MBIC_PE43711_Calc(&Att_UL3.Table_0_0_dBm, // Table Offset
456
+    val = MBIC_UL_PE43711_Calc(&Att_UL3.Table_0_0_dBm, // Table Offset
429 457
                         MBIC_Val,
430 458
                        MBIC_UserVal);// User Atten Low Bit
431 459
 
@@ -433,13 +461,13 @@ void Bluecell_AttenInitialize(){
433 461
     PE43711_atten_ctrl(ALL_ATT.ATT_UL3,val);
434 462
 
435 463
 
436
-                bluecell_Prevdatastatus.ATT_UL4_H = bluecell_Currdatastatus.ATT_UL4_H;
464
+    bluecell_Prevdatastatus.ATT_UL4_H = bluecell_Currdatastatus.ATT_UL4_H;
437 465
     bluecell_Prevdatastatus.ATT_UL4_L = bluecell_Currdatastatus.ATT_UL4_L;
438 466
     bluecell_Prevdatastatus.bluecell_User_UL4_H = bluecell_Currdatastatus.bluecell_User_UL4_H;
439 467
     bluecell_Prevdatastatus.bluecell_User_UL4_L = bluecell_Currdatastatus.bluecell_User_UL4_L;
440 468
     MBIC_Val = bluecell_Currdatastatus.ATT_UL4_H << 8 | bluecell_Currdatastatus.ATT_UL4_L;
441 469
     MBIC_UserVal = bluecell_Currdatastatus.bluecell_User_UL4_H << 8 | bluecell_Currdatastatus.bluecell_User_UL4_L;
442
-    val = MBIC_PE43711_Calc(&Att_UL4.Table_0_0_dBm, // Table Offset
470
+    val = MBIC_UL_PE43711_Calc(&Att_UL4.Table_0_0_dBm, // Table Offset
443 471
                         MBIC_Val,
444 472
                        MBIC_UserVal);// User Atten Low Bit
445 473
 
@@ -449,8 +477,8 @@ void Bluecell_AttenInitialize(){
449 477
 }
450 478
 void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
451 479
      uint8_t val = 0;
452
-     int16_t MBIC_Val = 0;
453
-     int16_t MBIC_UserVal = 0;
480
+     uint16_t MBIC_Val = 0;
481
+     uint16_t MBIC_UserVal = 0;
454 482
 
455 483
     if((Curr.ATT_DL1_H != Prev.ATT_DL1_H
456 484
      ||Curr.ATT_DL1_L != Prev.ATT_DL1_L)
@@ -461,15 +489,14 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
461 489
             bluecell_Prevdatastatus.ATT_DL1_L = bluecell_Currdatastatus.ATT_DL1_L;
462 490
             bluecell_Prevdatastatus.bluecell_User_DL1_H = bluecell_Currdatastatus.bluecell_User_DL1_H;
463 491
             bluecell_Prevdatastatus.bluecell_User_DL1_L = bluecell_Currdatastatus.bluecell_User_DL1_L;
464
-            MBIC_Val = Curr.ATT_DL1_H << 8 | Curr.ATT_DL1_L;
492
+            MBIC_Val =Curr.ATT_DL1_H << 8 | Curr.ATT_DL1_L;
465 493
             MBIC_UserVal = Curr.bluecell_User_DL1_H << 8 | Curr.bluecell_User_DL1_L;
466
-            val = MBIC_PE43711_Calc(&Att_DL1.Table_0_0_dBm, // Table Offset
494
+            val = MBIC_DL_PE43711_Calc(&Att_DL1.Table_0_0_dBm, // Table Offset
467 495
                                 MBIC_Val,
468 496
                                MBIC_UserVal);// User Atten Low Bit
469 497
             printf("%s : %d \r\n",__func__,__LINE__);   
470 498
             printf("%d val = %x \r\n",__LINE__,val);
471 499
             PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
472
-     
473 500
     }
474 501
     if((Curr.ATT_DL2_H != Prev.ATT_DL2_H)
475 502
      ||(Curr.ATT_DL2_L != Prev.ATT_DL2_L)
@@ -481,7 +508,7 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
481 508
             bluecell_Prevdatastatus.bluecell_User_DL2_L = bluecell_Currdatastatus.bluecell_User_DL2_L;
482 509
             MBIC_Val = Curr.ATT_DL2_H << 8 | Curr.ATT_DL2_L;
483 510
             MBIC_UserVal = Curr.bluecell_User_DL2_H << 8 | Curr.bluecell_User_DL2_L;
484
-            val = MBIC_PE43711_Calc(&Att_DL2.Table_0_0_dBm,// Table Offset
511
+            val = MBIC_DL_PE43711_Calc(&Att_DL2.Table_0_0_dBm,// Table Offset
485 512
                                 MBIC_Val,// Hidden Atten Low bit
486 513
                                MBIC_UserVal);// User Atten Low Bit
487 514
 //            printf("%d val = %x \r\n",__LINE__,val);
@@ -500,7 +527,7 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
500 527
             MBIC_Val = Curr.ATT_DL3_H << 8 | Curr.ATT_DL3_L;
501 528
             MBIC_UserVal = Curr.bluecell_User_DL3_H << 8 | Curr.bluecell_User_DL3_L;
502 529
             
503
-            val = MBIC_PE43711_Calc(&Att_DL3.Table_0_0_dBm,// Table Offset
530
+            val = MBIC_DL_PE43711_Calc(&Att_DL3.Table_0_0_dBm,// Table Offset
504 531
                             MBIC_Val,// Hidden Atten Low bit
505 532
                            MBIC_UserVal);// User Atten Low Bit
506 533
         printf("%d val = %x \r\n",__LINE__,val);
@@ -518,9 +545,12 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
518 545
             bluecell_Prevdatastatus.ATT_DL4_L = bluecell_Currdatastatus.ATT_DL4_L;
519 546
             bluecell_Prevdatastatus.bluecell_User_DL4_H = bluecell_Currdatastatus.bluecell_User_DL4_H;
520 547
             bluecell_Prevdatastatus.bluecell_User_DL4_L = bluecell_Currdatastatus.bluecell_User_DL4_L;
521
-            MBIC_Val = Curr.ATT_DL4_H << 8 | Curr.ATT_DL4_L;
522
-            MBIC_UserVal = Curr.bluecell_User_DL4_H << 8 | Curr.bluecell_User_DL4_L;
523
-            val = MBIC_PE43711_Calc(&Att_DL4.Table_0_0_dBm,// Table Offset
548
+            MBIC_Val = (Curr.ATT_DL4_H << 8 | Curr.ATT_DL4_L);
549
+                 printf("\r\nCurr.ATT_DL4_H : %x \r\Curr.ATT_DL4_L : %x \r\n",Curr.ATT_DL4_H,Curr.ATT_DL4_L);
550
+            MBIC_UserVal = (((Curr.bluecell_User_DL4_H & 0x00FF)<< 8) | Curr.bluecell_User_DL4_L);
551
+            printf("\r\nCurr.bluecell_User_DL4_H : %x \r\Curr.bluecell_User_DL4_L : %x \r\n",Curr.bluecell_User_DL4_H,Curr.bluecell_User_DL4_L);
552
+            printf("MBIC_UserVal : %x \r\n",MBIC_UserVal); // 2
553
+            val = MBIC_DL_PE43711_Calc(&Att_DL4.Table_0_0_dBm,// Table Offset
524 554
                                 MBIC_Val,// Hidden Atten Low bit
525 555
                                MBIC_UserVal);// User Atten Low Bit
526 556
             printf("%d val = %x \r\n",__LINE__,val);
@@ -539,7 +569,7 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
539 569
             bluecell_Prevdatastatus.bluecell_User_UL1_L = bluecell_Currdatastatus.bluecell_User_UL1_L;
540 570
             MBIC_Val = Curr.ATT_UL1_H << 8 | Curr.ATT_UL1_L;
541 571
             MBIC_UserVal = Curr.bluecell_User_UL1_H << 8 | Curr.bluecell_User_UL1_L;
542
-            val = MBIC_PE43711_Calc(&Att_UL1.Table_0_0_dBm,// Table Offset
572
+            val = MBIC_UL_PE43711_Calc(&Att_UL1.Table_0_0_dBm,// Table Offset
543 573
                                 MBIC_Val,// Hidden Atten Low bit
544 574
                                MBIC_UserVal);// User Atten Low Bit
545 575
     //        printf("%d val = %x \r\n",__LINE__,val);
@@ -555,7 +585,7 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
555 585
             bluecell_Prevdatastatus.bluecell_User_UL2_L = bluecell_Currdatastatus.bluecell_User_UL2_L;
556 586
             MBIC_Val = Curr.ATT_UL2_H << 8 | Curr.ATT_UL2_L;
557 587
             MBIC_UserVal = Curr.bluecell_User_UL2_H << 8 | Curr.bluecell_User_UL2_L;
558
-            val = MBIC_PE43711_Calc(&Att_UL2.Table_0_0_dBm,// Table Offset
588
+            val = MBIC_UL_PE43711_Calc(&Att_UL2.Table_0_0_dBm,// Table Offset
559 589
                                 MBIC_Val,// Hidden Atten Low bit
560 590
                                MBIC_UserVal);// User Atten Low Bit
561 591
     //        printf("%d val = %x \r\n",__LINE__,val);
@@ -574,16 +604,22 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
574 604
             
575 605
             MBIC_Val = Curr.ATT_UL3_H << 8 | Curr.ATT_UL3_L;
576 606
             MBIC_UserVal = Curr.bluecell_User_UL3_H << 8 | Curr.bluecell_User_UL3_L;
577
-            val = MBIC_PE43711_Calc(&Att_UL3.Table_0_0_dBm,// Table Offset
607
+            val = MBIC_UL_PE43711_Calc(&Att_UL3.Table_0_0_dBm,// Table Offset
578 608
                                 MBIC_Val,// Hidden Atten Low bit
579 609
                                MBIC_UserVal);// User Atten Low Bit
580
-    //        printf("%d val = %x \r\n",__LINE__,val);
610
+//    printf("bluecell_Currdatastatus.ATT_UL3_H : %0x \r\n",bluecell_Currdatastatus.ATT_UL3_H);
611
+//    printf("bluecell_Currdatastatus.ATT_UL3_L : %0x \r\n",bluecell_Currdatastatus.ATT_UL3_L);
612
+//    printf("bluecell_Currdatastatus.bluecell_User_UL3_H : %0x \r\n",bluecell_Currdatastatus.bluecell_User_UL3_H);
613
+//    printf("bluecell_Currdatastatus.bluecell_User_UL3_L : %0x \r\n",bluecell_Currdatastatus.bluecell_User_UL3_L);        
614
+        printf("%d val = %x \r\n",__LINE__,val);
615
+
581 616
             PE43711_atten_ctrl(ALL_ATT.ATT_UL3,val);
582 617
     }
583 618
     if((Curr.ATT_UL4_H != Prev.ATT_UL4_H
584 619
      ||Curr.ATT_UL4_L != Prev.ATT_UL4_L)
585 620
      ||(Curr.bluecell_User_UL4_H != Prev.bluecell_User_UL4_H
586
-     ||Curr.bluecell_User_UL4_L != Prev.bluecell_User_UL4_L)){
621
+     ||Curr.bluecell_User_UL4_L != Prev.bluecell_User_UL4_L))
622
+     {
587 623
             bluecell_Prevdatastatus.ATT_UL4_H = bluecell_Currdatastatus.ATT_UL4_H;
588 624
             bluecell_Prevdatastatus.ATT_UL4_L = bluecell_Currdatastatus.ATT_UL4_L;
589 625
             bluecell_Prevdatastatus.bluecell_User_UL4_H = bluecell_Currdatastatus.bluecell_User_UL4_H;
@@ -591,11 +627,15 @@ void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
591 627
             
592 628
             MBIC_Val = Curr.ATT_UL4_H << 8 | Curr.ATT_UL4_L;
593 629
             MBIC_UserVal = Curr.bluecell_User_UL4_H << 8 | Curr.bluecell_User_UL4_L;
594
-            val = MBIC_PE43711_Calc(&Att_UL4.Table_0_0_dBm,// Table Offset
630
+            val = MBIC_UL_PE43711_Calc(&Att_UL4.Table_0_0_dBm,// Table Offset
595 631
                                 MBIC_Val,// Hidden Atten Low bit
596 632
                                MBIC_UserVal);// User Atten Low Bit
597
-    //        printf("%d val = %x \r\n",__LINE__,val);
598
-            PE43711_atten_ctrl(ALL_ATT.ATT_UL4,val);
633
+        printf("bluecell_Currdatastatus.ATT_UL4_H : %0x \r\n",bluecell_Currdatastatus.ATT_UL4_H);
634
+        printf("bluecell_Currdatastatus.ATT_UL4_L : %0x \r\n",bluecell_Currdatastatus.ATT_UL4_L);
635
+        printf("bluecell_Currdatastatus.bluecell_User_UL4_H : %0x \r\n",bluecell_Currdatastatus.bluecell_User_UL4_H);
636
+        printf("bluecell_Currdatastatus.bluecell_User_UL4_L : %0x \r\n",bluecell_Currdatastatus.bluecell_User_UL4_L);        
637
+            printf("%d val = %x \r\n",__LINE__,val);
638
+            PE43711_UL4_atten_ctrl(val);
599 639
     }
600 640
 //    memcpy(&bluecell_Prevdatastatus.ATT_DL1_H,&bluecell_Currdatastatus.ATT_DL1_H,32);
601 641
 #if 0 // PYJ.2020.04.21_BEGIN -- 
@@ -1094,6 +1134,7 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1094 1134
         case DLI_P1_ATT_Accuracy_Table_Number: 
1095 1135
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1096 1136
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1137
+//            Bluecell_structprintf(&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1097 1138
             data[BLUECELL_LENGTH] = (sizeof(ATT_TABLE_st)) + 7 - 3;
1098 1139
           break;
1099 1140
         case DLI_P2_ATT_Accuracy_Table_Number: 
@@ -1639,7 +1680,7 @@ bool Bluecell_Operate(uint8_t* data){
1639 1680
 
1640 1681
   //double ret = 0 ,tmp = 0.1;
1641 1682
   int16_t tempdata = 0;
1642
-
1683
+  
1643 1684
   uint8_t i = 0;
1644 1685
   switch(datatype){
1645 1686
     case BLUECELL_SOFTWARERESET:
@@ -1647,6 +1688,8 @@ bool Bluecell_Operate(uint8_t* data){
1647 1688
         break;
1648 1689
 	case Bluecell_ATT_DL1 				 :
1649 1690
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1691
+       
1692
+
1650 1693
         bluecell_Currdatastatus.ATT_DL1_H = data[BLUECELL_DATA + i++];
1651 1694
         bluecell_Currdatastatus.ATT_DL1_L = data[BLUECELL_DATA + i++];
1652 1695
 //        printf("bluecell_Currdatastatus.ATT_DL1_H : %x\r\n",bluecell_Currdatastatus.ATT_DL1_H);
@@ -1659,7 +1702,7 @@ bool Bluecell_Operate(uint8_t* data){
1659 1702
     case Bluecell_ATT_DL2                :
1660 1703
         bluecell_Currdatastatus.ATT_DL2_H = data[BLUECELL_DATA + i++];
1661 1704
         bluecell_Currdatastatus.ATT_DL2_L = data[BLUECELL_DATA + i++];
1662
-    
1705
+
1663 1706
         /*
1664 1707
             Atten Ctrl Function
1665 1708
         */
@@ -1668,7 +1711,7 @@ bool Bluecell_Operate(uint8_t* data){
1668 1711
 	case Bluecell_ATT_DL3 				 :        
1669 1712
         bluecell_Currdatastatus.ATT_DL3_H = data[BLUECELL_DATA + i++];
1670 1713
         bluecell_Currdatastatus.ATT_DL3_L = data[BLUECELL_DATA + i++];
1671
-    
1714
+
1672 1715
         /*
1673 1716
             Atten Ctrl Function
1674 1717
         */
@@ -1677,7 +1720,7 @@ bool Bluecell_Operate(uint8_t* data){
1677 1720
 	case Bluecell_ATT_DL4 				 :    
1678 1721
         bluecell_Currdatastatus.ATT_DL4_H = data[BLUECELL_DATA + i++];
1679 1722
         bluecell_Currdatastatus.ATT_DL4_L = data[BLUECELL_DATA + i++];
1680
-    
1723
+
1681 1724
         /*
1682 1725
             Atten Ctrl Function
1683 1726
         */
@@ -1687,7 +1730,6 @@ bool Bluecell_Operate(uint8_t* data){
1687 1730
 
1688 1731
         bluecell_Currdatastatus.ATT_UL1_H = data[BLUECELL_DATA + i++];
1689 1732
         bluecell_Currdatastatus.ATT_UL1_L = data[BLUECELL_DATA + i++];
1690
-    
1691 1733
         /*
1692 1734
             Atten Ctrl Function
1693 1735
         */
@@ -1698,7 +1740,7 @@ bool Bluecell_Operate(uint8_t* data){
1698 1740
     case Bluecell_ATT_UL2                :        
1699 1741
         bluecell_Currdatastatus.ATT_UL2_H = data[BLUECELL_DATA + i++];
1700 1742
         bluecell_Currdatastatus.ATT_UL2_L = data[BLUECELL_DATA + i++];
1701
-    
1743
+
1702 1744
         /*
1703 1745
             Atten Ctrl Function
1704 1746
         */
@@ -1707,7 +1749,7 @@ bool Bluecell_Operate(uint8_t* data){
1707 1749
     case Bluecell_ATT_UL3                :    
1708 1750
         bluecell_Currdatastatus.ATT_UL3_H = data[BLUECELL_DATA + i++];
1709 1751
         bluecell_Currdatastatus.ATT_UL3_L = data[BLUECELL_DATA + i++];
1710
-    
1752
+
1711 1753
         /*
1712 1754
             Atten Ctrl Function
1713 1755
         */
@@ -1716,6 +1758,10 @@ bool Bluecell_Operate(uint8_t* data){
1716 1758
     case Bluecell_ATT_UL4                :        
1717 1759
         bluecell_Currdatastatus.ATT_UL4_H = data[BLUECELL_DATA + i++];
1718 1760
         bluecell_Currdatastatus.ATT_UL4_L = data[BLUECELL_DATA + i++];
1761
+        printf("bluecell_Currdatastatus.ATT_UL4_H : %0x \r\n",bluecell_Currdatastatus.ATT_UL4_H);
1762
+        printf("bluecell_Currdatastatus.ATT_UL4_L : %0x \r\n",bluecell_Currdatastatus.ATT_UL4_L);        
1763
+
1764
+
1719 1765
         /*
1720 1766
             Atten Ctrl Function
1721 1767
         */
@@ -1725,16 +1771,16 @@ bool Bluecell_Operate(uint8_t* data){
1725 1771
 	case ATT_DL1_PATH 		 :
1726 1772
         if(data[BLUECELL_DATA]==0){
1727 1773
             HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_RESET);//CLOCK        
1728
-//            printf("ATT_DL1_PATH OFF\r\n");
1729
-            bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1 = 0;
1774
+            printf("ATT_DL1_PATH OFF\r\n");
1775
+            bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1 = 0;
1730 1776
         }
1731 1777
         else{
1732 1778
             
1733 1779
             HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK
1734
-            bluecell_Prevdatastatus.ATT_DL1_H = ~bluecell_Prevdatastatus.ATT_DL1_H;
1735
-            bluecell_Prevdatastatus.ATT_DL1_L = ~bluecell_Prevdatastatus.ATT_DL1_L;
1780
+            bluecell_Prevdatastatus.ATT_DL1_H = 0xFF;
1781
+            bluecell_Prevdatastatus.ATT_DL1_L =0xFF;
1736 1782
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1737
-//            printf("ATT_DL1_PATH ON\r\n");
1783
+            printf("ATT_DL1_PATH ON\r\n");
1738 1784
         }
1739 1785
         bluecell_Currdatastatus.ATT_DL1_PATH = data[BLUECELL_DATA];
1740 1786
 	
@@ -1747,8 +1793,8 @@ bool Bluecell_Operate(uint8_t* data){
1747 1793
         }
1748 1794
         else{
1749 1795
             HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK
1750
-            bluecell_Prevdatastatus.ATT_UL1_H = ~bluecell_Prevdatastatus.ATT_UL1_H;
1751
-            bluecell_Prevdatastatus.ATT_UL1_L = ~bluecell_Prevdatastatus.ATT_UL1_L;
1796
+            bluecell_Prevdatastatus.ATT_UL1_H = 0xFF;
1797
+            bluecell_Prevdatastatus.ATT_UL1_L = 0xFF;
1752 1798
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1753 1799
 
1754 1800
         }
@@ -1774,8 +1820,8 @@ bool Bluecell_Operate(uint8_t* data){
1774 1820
         }
1775 1821
         else{
1776 1822
             HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_SET);//CLOCK
1777
-            bluecell_Prevdatastatus.ATT_DL2_H = ~bluecell_Prevdatastatus.ATT_DL2_H;
1778
-            bluecell_Prevdatastatus.ATT_DL2_L = ~bluecell_Prevdatastatus.ATT_DL2_L;
1823
+            bluecell_Prevdatastatus.ATT_DL2_H = 0xFF;
1824
+            bluecell_Prevdatastatus.ATT_DL2_L = 0xFF;
1779 1825
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1780 1826
         }
1781 1827
         bluecell_Currdatastatus.ATT_DL2_PATH = data[BLUECELL_DATA];
@@ -1790,8 +1836,8 @@ bool Bluecell_Operate(uint8_t* data){
1790 1836
         }
1791 1837
         else{
1792 1838
             HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_SET);//CLOCK
1793
-            bluecell_Prevdatastatus.ATT_UL2_H = ~bluecell_Prevdatastatus.ATT_UL2_H;
1794
-            bluecell_Prevdatastatus.ATT_UL2_L = ~bluecell_Prevdatastatus.ATT_UL2_L;
1839
+            bluecell_Prevdatastatus.ATT_UL2_H = 0xFF;
1840
+            bluecell_Prevdatastatus.ATT_UL2_L = 0xFF;
1795 1841
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1796 1842
         }
1797 1843
         bluecell_Currdatastatus.ATT_UL2_PATH = data[BLUECELL_DATA];
@@ -1814,8 +1860,8 @@ bool Bluecell_Operate(uint8_t* data){
1814 1860
         }
1815 1861
         else{
1816 1862
             HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_SET);//CLOCK
1817
-            bluecell_Prevdatastatus.ATT_DL3_H = ~bluecell_Prevdatastatus.ATT_DL3_H;
1818
-            bluecell_Prevdatastatus.ATT_DL3_L = ~bluecell_Prevdatastatus.ATT_DL3_L;
1863
+            bluecell_Prevdatastatus.ATT_DL3_H = 0xFF;
1864
+            bluecell_Prevdatastatus.ATT_DL3_L = 0xFF;
1819 1865
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1820 1866
         }
1821 1867
         bluecell_Currdatastatus.ATT_DL3_PATH = data[BLUECELL_DATA];
@@ -1828,8 +1874,8 @@ bool Bluecell_Operate(uint8_t* data){
1828 1874
         }
1829 1875
         else{
1830 1876
             HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_SET);//CLOCK
1831
-            bluecell_Prevdatastatus.ATT_UL3_H = ~bluecell_Prevdatastatus.ATT_UL3_H;
1832
-            bluecell_Prevdatastatus.ATT_UL3_L = ~bluecell_Prevdatastatus.ATT_UL3_L;
1877
+            bluecell_Prevdatastatus.ATT_UL3_H = 0xFF;
1878
+            bluecell_Prevdatastatus.ATT_UL3_L =0xFF;
1833 1879
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1834 1880
         }
1835 1881
         bluecell_Currdatastatus.ATT_UL3_PATH = data[BLUECELL_DATA];
@@ -1853,8 +1899,8 @@ bool Bluecell_Operate(uint8_t* data){
1853 1899
             bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4 = 0;
1854 1900
         }else{
1855 1901
             HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_SET);//CLOCK    
1856
-            bluecell_Prevdatastatus.ATT_DL4_H = ~bluecell_Prevdatastatus.ATT_DL4_H;
1857
-            bluecell_Prevdatastatus.ATT_DL4_L = ~bluecell_Prevdatastatus.ATT_DL4_L;
1902
+            bluecell_Prevdatastatus.ATT_DL4_H =0xFF;
1903
+            bluecell_Prevdatastatus.ATT_DL4_L = 0xFF;
1858 1904
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1859 1905
 
1860 1906
         }
@@ -1868,8 +1914,8 @@ bool Bluecell_Operate(uint8_t* data){
1868 1914
         }
1869 1915
         else{
1870 1916
             HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_SET);//CLOCK
1871
-            bluecell_Prevdatastatus.ATT_UL4_H = ~bluecell_Prevdatastatus.ATT_UL4_H;
1872
-            bluecell_Prevdatastatus.ATT_UL4_L = ~bluecell_Prevdatastatus.ATT_UL4_L;
1917
+            bluecell_Prevdatastatus.ATT_UL4_H = 0xFF;
1918
+            bluecell_Prevdatastatus.ATT_UL4_L = 0xFF;
1873 1919
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1874 1920
         }
1875 1921
         bluecell_Currdatastatus.ATT_UL4_PATH = data[BLUECELL_DATA];
@@ -1891,6 +1937,7 @@ bool Bluecell_Operate(uint8_t* data){
1891 1937
     case ATT_TableGet:
1892 1938
         Bluecell_TableLoad(data, data[BLUECELL_DATA]);
1893 1939
         data[BLUECELL_TYPE] = ATT_TableGet;
1940
+
1894 1941
         data[data[BLUECELL_LENGTH] + 1] = ((CRC16_Generate(&data[BLUECELL_TYPE], data[BLUECELL_LENGTH]) & 0xFF00) >> 8);
1895 1942
         data[data[BLUECELL_LENGTH] + 2] = CRC16_Generate(&data[BLUECELL_TYPE], data[BLUECELL_LENGTH]) & 0x00FF;        
1896 1943
         data[data[BLUECELL_LENGTH] + 3] = 0xEB;
@@ -1906,12 +1953,22 @@ bool Bluecell_Operate(uint8_t* data){
1906 1953
 //        printf("\r\nuint8_t data : %x  data[BLUECELL_LENGTH] + 6 : %d\r\n",data[0],data[BLUECELL_LENGTH] + 6);
1907 1954
         break;
1908 1955
     case Bluecell_StatusReq:
1956
+        if(Initialize == false){
1957
+            printf("Atten Init \r\n");
1958
+            Bluecell_DataInit();
1959
+            HAL_Delay(10);
1960
+            Bluecell_AttenInitialize();
1961
+            Initialize = true;
1962
+        }
1909 1963
         DataStatusSet();
1910 1964
 #if 0 // PYJ.2020.05.28_BEGIN -- 
1911 1965
         Bluecell_StructCpy(&Txdata[0],&bluecell_Currdatastatus.bluecell_header,94);
1912 1966
         Txdata[BLUECELL_LENGTH] = 94 - 3;//sizeof(BLUESTATUS_st) - 3;
1913 1967
         Txdata[94 - 2] = STH30_CreateCrc(&Txdata[BLUECELL_TYPE], Txdata[BLUECELL_LENGTH]);
1914 1968
 #else        
1969
+//        printf("bluecell_Currdatastatus.ATT_UL4_H : %0x \r\n",bluecell_Currdatastatus.ATT_UL4_H);
1970
+//        printf("bluecell_Currdatastatus.ATT_UL4_L : %0x \r\n",bluecell_Currdatastatus.ATT_UL4_L);
1971
+
1915 1972
         Bluecell_StructCpy(&Txdata[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
1916 1973
         Txdata[BLUECELL_LENGTH] = sizeof(BLUESTATUS_st) - 3;//sizeof(BLUESTATUS_st) - 3;
1917 1974
 //        Txdata[sizeof(BLUESTATUS_st) - 2] = STH30_CreateCrc(&Txdata[BLUECELL_TYPE], Txdata[BLUECELL_LENGTH]);
@@ -2193,14 +2250,14 @@ void DataStatusSet(void){
2193 2250
         bluecell_Currdatastatus.bluecell_type = Bluecell_StatusReq;
2194 2251
         bluecell_Currdatastatus.bluecell_length = 94 - 3;
2195 2252
         bluecell_Currdatastatus.bluecell_crcindex = 94 - 2 + 1;
2196
-        bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin);//CLOCK;        
2197
-        bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin);//CLOCK;
2198
-        bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin);//CLOCK;
2199
-        bluecell_Currdatastatus.ATT_DL4_PATH = HAL_GPIO_ReadPin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin);//CLOCK;
2200
-        bluecell_Currdatastatus.ATT_UL1_PATH = HAL_GPIO_ReadPin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK;
2201
-        bluecell_Currdatastatus.ATT_UL2_PATH = HAL_GPIO_ReadPin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK;
2202
-        bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
2203
-        bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
2253
+//        bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin);//CLOCK;        
2254
+//        bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin);//CLOCK;
2255
+//        bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin);//CLOCK;
2256
+//        bluecell_Currdatastatus.ATT_DL4_PATH = HAL_GPIO_ReadPin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin);//CLOCK;
2257
+//        bluecell_Currdatastatus.ATT_UL1_PATH = HAL_GPIO_ReadPin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK;
2258
+//        bluecell_Currdatastatus.ATT_UL2_PATH = HAL_GPIO_ReadPin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK;
2259
+//        bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
2260
+//        bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
2204 2261
         bluecell_Currdatastatus.bluecell_etx = 0xeb;
2205 2262
              
2206 2263
         
@@ -2221,6 +2278,21 @@ typedef enum{
2221 2278
  MBIC_SBM      ,
2222 2279
  MBIC_KDDI     ,
2223 2280
 }MBIC_CardType_t;
2281
+ typedef enum{
2282
+    BLUECELL_3_7G  =     0  ,              
2283
+    BLUECELL_3_8G     ,
2284
+    BLUECELL_3_9G     ,
2285
+    BLUECELL_4_0G     ,
2286
+    BLUECELL_4_1G     ,
2287
+    BLUECELL_4_6G     ,
2288
+    BLUECELL_SBM      ,
2289
+    BLUECELL_DCM      ,
2290
+    BLUECELL_KDDI     ,
2291
+    BLUECELL_4_7G     ,
2292
+    BLUECELL_4_8G     ,
2293
+    BLUECELL_4_9G     ,
2294
+    BLUECELL_5_0G     ,
2295
+ }Bluecell_CardType_t;
2224 2296
 
2225 2297
  void Bluecell_DataInit(){
2226 2298
 /*
@@ -2232,23 +2304,24 @@ typedef enum{
2232 2304
    bluecell_Currdatastatus.Type +=  HAL_GPIO_ReadPin(UNIT_ID2_GPIO_Port,UNIT_ID2_Pin) << 2;
2233 2305
    bluecell_Currdatastatus.Type +=  HAL_GPIO_ReadPin(UNIT_ID3_GPIO_Port,UNIT_ID3_Pin) << 3;
2234 2306
     switch(bluecell_Currdatastatus.Type){
2235
-     case MBIC_3_7G: bluecell_Currdatastatus.Carrier_ID = 0x01; break;
2236
-     case MBIC_3_8G: bluecell_Currdatastatus.Carrier_ID = 0x02; break;
2237
-     case MBIC_3_9G: bluecell_Currdatastatus.Carrier_ID = 0x04; break;
2238
-     case MBIC_4_0G: bluecell_Currdatastatus.Carrier_ID = 0x03; break;
2239
-     case MBIC_4_1G: bluecell_Currdatastatus.Carrier_ID = 0x02; break;
2240
-     case MBIC_4_6G: bluecell_Currdatastatus.Carrier_ID = 0x01; break;
2241
-     case MBIC_4_7G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2242
-     case MBIC_4_8G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2243
-     case MBIC_4_9G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2244
-     case MBIC_5_0G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2245
-     case MBIC_DCM : bluecell_Currdatastatus.Carrier_ID = 0x01; break;
2246
-     case MBIC_SBM : bluecell_Currdatastatus.Carrier_ID = 0x03; break;
2247
-     case MBIC_KDDI: bluecell_Currdatastatus.Carrier_ID = 0x02; break;
2307
+     case BLUECELL_3_7G: bluecell_Currdatastatus.Type = 0x80;bluecell_Currdatastatus.Carrier_ID = 0x01 ;printf("Type BLUECELL_3_7G  Ready....\r\n",bluecell_Currdatastatus.Type); break;
2308
+     case BLUECELL_3_8G: bluecell_Currdatastatus.Type = 0x81;bluecell_Currdatastatus.Carrier_ID = 0x02; printf("Type BLUECELL_3_8G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2309
+     case BLUECELL_3_9G: bluecell_Currdatastatus.Type = 0x82;bluecell_Currdatastatus.Carrier_ID = 0x04;printf("Type BLUECELL_3_9G  Ready....\r\n",bluecell_Currdatastatus.Type); break;
2310
+     case BLUECELL_4_0G: bluecell_Currdatastatus.Type = 0x83;bluecell_Currdatastatus.Carrier_ID = 0x03; printf("Type BLUECELL_4_0G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2311
+     case BLUECELL_4_1G: bluecell_Currdatastatus.Type = 0x84;bluecell_Currdatastatus.Carrier_ID = 0x02; printf("Type BLUECELL_4_1G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2312
+     case BLUECELL_4_6G: bluecell_Currdatastatus.Type = 0x85;bluecell_Currdatastatus.Carrier_ID = 0x01; printf("Type BLUECELL_4_6G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2313
+     case BLUECELL_4_7G: bluecell_Currdatastatus.Type = 0x86;bluecell_Currdatastatus.Carrier_ID = 0x00; printf("Type BLUECELL_4_7G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2314
+     case BLUECELL_4_8G: bluecell_Currdatastatus.Type = 0x87;bluecell_Currdatastatus.Carrier_ID = 0x00; printf("Type BLUECELL_3_7G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2315
+     case BLUECELL_4_9G: bluecell_Currdatastatus.Type = 0x88;bluecell_Currdatastatus.Carrier_ID = 0x00; printf("Type BLUECELL_4_9G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2316
+     case BLUECELL_5_0G: bluecell_Currdatastatus.Type = 0x89;bluecell_Currdatastatus.Carrier_ID = 0x00; printf("Type BLUECELL_5_0G  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2317
+     case BLUECELL_DCM : bluecell_Currdatastatus.Type = 0x8A;bluecell_Currdatastatus.Carrier_ID = 0x01;printf("Type BLUECELL_DCM  Ready....\r\n",bluecell_Currdatastatus.Type); break;
2318
+     case BLUECELL_SBM : bluecell_Currdatastatus.Type = 0x8B;bluecell_Currdatastatus.Carrier_ID = 0x03; printf("Type BLUECELL_SBM  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2319
+     case BLUECELL_KDDI: bluecell_Currdatastatus.Type = 0x8C;bluecell_Currdatastatus.Carrier_ID = 0x02;printf("Type BLUECELL_KDDI  Ready....\r\n",bluecell_Currdatastatus.Type); break;
2248 2320
      default : printf("Type %x  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2249 2321
     }
2250 2322
 
2251 2323
 
2324
+  printf("Type %x  Ready....\r\n",bluecell_Currdatastatus.Type);
2252 2325
 
2253 2326
   //  printf("bluecell_Currdatastatus.Type : %02x \r\n",bluecell_Currdatastatus.Type);
2254 2327
 #if 1 // PYJ.2020.06.17_BEGIN -- 
@@ -2263,7 +2336,8 @@ typedef enum{
2263 2336
     HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,bluecell_Currdatastatus.ATT_UL3_PATH);   
2264 2337
     HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,bluecell_Currdatastatus.ATT_UL4_PATH);   
2265 2338
 #endif // PYJ.2020.06.17_END -- 
2266
-
2339
+    
2340
+    HAL_Delay(10);
2267 2341
 
2268 2342
     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
2269 2343
     if(bluecell_Currdatastatus.Selftest1==0){
@@ -2496,7 +2570,7 @@ uint32_t MBIC_DataSend(uint8_t* data){
2496 2570
     data[MBIC_PAYLOADSTART + i++] = 1; // LENGTH
2497 2571
     Length += 1;
2498 2572
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.Type;
2499
-
2573
+    printf(" bluecell_Currdatastatus.Type : %x \r\n", bluecell_Currdatastatus.Type);
2500 2574
      /*PCB_Version*/
2501 2575
     data[MBIC_PAYLOADSTART + i++] = MBIC_AID;
2502 2576
     data[MBIC_PAYLOADSTART + i++] = PCB_Version;
@@ -3071,7 +3145,6 @@ uint32_t MBIC_DataSend(uint8_t* data){
3071 3145
     return Length;
3072 3146
 
3073 3147
 }
3074
-
3075 3148
 bool MBIC_Operate(uint8_t* data){
3076 3149
 	uint8_t datatype = data[MBIC_PAYLOADSTART + 1];
3077 3150
    // uint8_t Length = (data[MBIC_PROT_SUB_DATA_INDEX + 2]);
@@ -3119,6 +3192,11 @@ bool MBIC_Operate(uint8_t* data){
3119 3192
     data[MBIC_ERRRESPONSE_0] = MBIC_ERRRESPONSE;
3120 3193
 
3121 3194
     if(cmd == MBIC_GET){
3195
+        if(Initialize == false){
3196
+            Bluecell_DataInit();
3197
+            Bluecell_AttenInitialize();
3198
+            Initialize = true;
3199
+        }
3122 3200
         data[MBIC_CMD_0] = 0x80;//MBIC_ERRRESPONSE;
3123 3201
         Length = MBIC_DataSend(data);
3124 3202
     }
@@ -3189,8 +3267,8 @@ bool MBIC_Operate(uint8_t* data){
3189 3267
                     HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_RESET);//CLOCK        
3190 3268
                 }
3191 3269
                 else{
3192
-                    bluecell_Prevdatastatus.ATT_DL1_H = ~bluecell_Prevdatastatus.ATT_DL1_H;
3193
-                    bluecell_Prevdatastatus.ATT_DL1_L = ~bluecell_Prevdatastatus.ATT_DL1_L;
3270
+                    bluecell_Prevdatastatus.ATT_DL1_H = 0xFF;
3271
+                    bluecell_Prevdatastatus.ATT_DL1_L =0xFF;
3194 3272
                     HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK
3195 3273
                 }                
3196 3274
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3201,8 +3279,8 @@ bool MBIC_Operate(uint8_t* data){
3201 3279
                    HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_RESET);//CLOCK        
3202 3280
                }
3203 3281
                else{
3204
-                    bluecell_Prevdatastatus.ATT_DL2_H = ~bluecell_Prevdatastatus.ATT_DL2_H;
3205
-                    bluecell_Prevdatastatus.ATT_DL2_L = ~bluecell_Prevdatastatus.ATT_DL2_L;
3282
+                    bluecell_Prevdatastatus.ATT_DL2_H = 0xFF;
3283
+                    bluecell_Prevdatastatus.ATT_DL2_L = 0xFF;
3206 3284
                    HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_SET);//CLOCK
3207 3285
                }
3208 3286
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3214,8 +3292,8 @@ bool MBIC_Operate(uint8_t* data){
3214 3292
                     HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_RESET);//CLOCK        
3215 3293
                 }
3216 3294
                 else{
3217
-                    bluecell_Prevdatastatus.ATT_DL3_H = ~bluecell_Prevdatastatus.ATT_DL3_H;
3218
-                    bluecell_Prevdatastatus.ATT_DL3_L = ~bluecell_Prevdatastatus.ATT_DL3_L;
3295
+                    bluecell_Prevdatastatus.ATT_DL3_H = 0xFF;
3296
+                    bluecell_Prevdatastatus.ATT_DL3_L = 0xFF;
3219 3297
                     HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_SET);//CLOCK
3220 3298
                 }
3221 3299
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3227,8 +3305,8 @@ bool MBIC_Operate(uint8_t* data){
3227 3305
                     HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_RESET);//CLOCK        
3228 3306
                 }
3229 3307
                 else{
3230
-                    bluecell_Prevdatastatus.ATT_DL4_H = ~bluecell_Prevdatastatus.ATT_DL4_H;
3231
-                    bluecell_Prevdatastatus.ATT_DL4_L = ~bluecell_Prevdatastatus.ATT_DL4_L;
3308
+                    bluecell_Prevdatastatus.ATT_DL4_H =0xFF;
3309
+                    bluecell_Prevdatastatus.ATT_DL4_L = 0xFF;
3232 3310
                     HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_SET);//CLOCK
3233 3311
                 }
3234 3312
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3336,8 +3414,8 @@ bool MBIC_Operate(uint8_t* data){
3336 3414
                     HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_RESET);//CLOCK        
3337 3415
                 }
3338 3416
                 else{
3339
-                    bluecell_Prevdatastatus.ATT_UL1_H = ~bluecell_Prevdatastatus.ATT_UL1_H;
3340
-                    bluecell_Prevdatastatus.ATT_UL1_L = ~bluecell_Prevdatastatus.ATT_UL1_L;
3417
+                    bluecell_Prevdatastatus.ATT_UL1_H = 0xFF;
3418
+                    bluecell_Prevdatastatus.ATT_UL1_L = 0xFF;
3341 3419
                     HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK
3342 3420
                 }
3343 3421
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3349,8 +3427,8 @@ bool MBIC_Operate(uint8_t* data){
3349 3427
                     HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_RESET);//CLOCK        
3350 3428
                 }
3351 3429
                 else{
3352
-                    bluecell_Prevdatastatus.ATT_UL2_H = ~bluecell_Prevdatastatus.ATT_UL2_H;
3353
-                    bluecell_Prevdatastatus.ATT_UL2_L = ~bluecell_Prevdatastatus.ATT_UL2_L;
3430
+                    bluecell_Prevdatastatus.ATT_UL2_H = 0xFF;
3431
+                    bluecell_Prevdatastatus.ATT_UL2_L = 0xFF;
3354 3432
                     HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_SET);//CLOCK
3355 3433
                 }
3356 3434
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3363,8 +3441,8 @@ bool MBIC_Operate(uint8_t* data){
3363 3441
                     HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_RESET);//CLOCK        
3364 3442
                 }
3365 3443
                 else{
3366
-                    bluecell_Prevdatastatus.ATT_UL3_H = ~bluecell_Prevdatastatus.ATT_UL3_H;
3367
-                    bluecell_Prevdatastatus.ATT_UL3_L = ~bluecell_Prevdatastatus.ATT_UL3_L;
3444
+                    bluecell_Prevdatastatus.ATT_UL3_H = 0xFF;
3445
+                    bluecell_Prevdatastatus.ATT_UL3_L =0xFF;
3368 3446
                     HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_SET);//CLOCK
3369 3447
                 }
3370 3448
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -3377,8 +3455,8 @@ bool MBIC_Operate(uint8_t* data){
3377 3455
                     HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_RESET);//CLOCK        
3378 3456
                 }
3379 3457
                 else{
3380
-                    bluecell_Prevdatastatus.ATT_UL4_H = ~bluecell_Prevdatastatus.ATT_UL4_H;
3381
-                    bluecell_Prevdatastatus.ATT_UL4_L = ~bluecell_Prevdatastatus.ATT_UL4_L;
3458
+                    bluecell_Prevdatastatus.ATT_UL4_H = 0xFF;
3459
+                    bluecell_Prevdatastatus.ATT_UL4_L = 0xFF;
3382 3460
                     HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_SET);//CLOCK
3383 3461
                 }
3384 3462
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
@@ -5078,9 +5156,9 @@ void DLI_ShutdownAlarmCheck(){
5078 5156
     double temp = 0;
5079 5157
     double ret = 0;
5080 5158
     int8_t ResdBm[4] = {0,};
5159
+    /*DLI Shutdown On*/
5081 5160
     if(bluecell_Currdatastatus.DLI_Shutdown_ON_OFF == true){    
5082
-       if(ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index] == true
5083
-                &&DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL1_Shutdown_Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
5161
+       if(DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL1_Shutdown_Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
5084 5162
               {
5085 5163
                
5086 5164
                    if(bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1 >= RETRYCNT_MAX){
@@ -5097,8 +5175,8 @@ void DLI_ShutdownAlarmCheck(){
5097 5175
                        if(DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL1_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5098 5176
                            /*Path Recovery*/
5099 5177
                            HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK
5100
-                           bluecell_Prevdatastatus.ATT_DL1_H = ~bluecell_Prevdatastatus.ATT_DL1_H;
5101
-                           bluecell_Prevdatastatus.ATT_DL1_L = ~bluecell_Prevdatastatus.ATT_DL1_L;
5178
+                           bluecell_Prevdatastatus.ATT_DL1_H = 0xFF;
5179
+                           bluecell_Prevdatastatus.ATT_DL1_L =0xFF;
5102 5180
                            bluecell_Currdatastatus.ATT_DL1_PATH = true;
5103 5181
                            CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5104 5182
                            DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL1_Shutdown_Index] = 0;
@@ -5116,6 +5194,7 @@ void DLI_ShutdownAlarmCheck(){
5116 5194
                    }
5117 5195
                } 
5118 5196
                
5197
+#if 0 // PYJ.2020.06.19_BEGIN -- 
5119 5198
                if(ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL2_Shutdown_Index] == true
5120 5199
                 &&DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL2_Shutdown_Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
5121 5200
               {
@@ -5134,8 +5213,8 @@ void DLI_ShutdownAlarmCheck(){
5134 5213
                        if(DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL2_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5135 5214
                            /*Path Recovery*/
5136 5215
                            HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_SET);//CLOCK
5137
-                           bluecell_Prevdatastatus.ATT_DL2_H = ~bluecell_Prevdatastatus.ATT_DL2_H;
5138
-                           bluecell_Prevdatastatus.ATT_DL2_L = ~bluecell_Prevdatastatus.ATT_DL2_L;
5216
+                           bluecell_Prevdatastatus.ATT_DL2_H = 0xFF;
5217
+                           bluecell_Prevdatastatus.ATT_DL2_L = 0xFF;
5139 5218
                            bluecell_Currdatastatus.ATT_DL2_PATH = true;
5140 5219
                            CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5141 5220
                            DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL2_Shutdown_Index] = 0;
@@ -5171,8 +5250,8 @@ void DLI_ShutdownAlarmCheck(){
5171 5250
                        if(DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL3_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5172 5251
                            /*Path Recovery*/
5173 5252
                            HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_SET);//CLOCK
5174
-                           bluecell_Prevdatastatus.ATT_DL3_H = ~bluecell_Prevdatastatus.ATT_DL3_H;
5175
-                           bluecell_Prevdatastatus.ATT_DL3_L = ~bluecell_Prevdatastatus.ATT_DL3_L;
5253
+                           bluecell_Prevdatastatus.ATT_DL3_H = 0xFF;
5254
+                           bluecell_Prevdatastatus.ATT_DL3_L = 0xFF;
5176 5255
                            bluecell_Currdatastatus.ATT_DL3_PATH = true;
5177 5256
                            CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5178 5257
                            DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL3_Shutdown_Index] = 0;
@@ -5209,8 +5288,8 @@ void DLI_ShutdownAlarmCheck(){
5209 5288
                        if(DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL4_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5210 5289
                            /*Path Recovery*/
5211 5290
                            HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_SET);//CLOCK
5212
-                           bluecell_Prevdatastatus.ATT_DL4_H = ~bluecell_Prevdatastatus.ATT_DL4_H;
5213
-                           bluecell_Prevdatastatus.ATT_DL4_L = ~bluecell_Prevdatastatus.ATT_DL4_L;
5291
+                           bluecell_Prevdatastatus.ATT_DL4_H =0xFF;
5292
+                           bluecell_Prevdatastatus.ATT_DL4_L = 0xFF;
5214 5293
                            bluecell_Currdatastatus.ATT_DL4_PATH = true;
5215 5294
                            CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5216 5295
                            DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL4_Shutdown_Index] = 0;
@@ -5227,6 +5306,7 @@ void DLI_ShutdownAlarmCheck(){
5227 5306
                        bluecell_Currdatastatus.DLI_Shutdown_Alarm4       = false;            
5228 5307
                    }
5229 5308
                }         
5309
+#endif // PYJ.2020.06.19_END -- 
5230 5310
    }
5231 5311
     else{
5232 5312
         bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN = 0;
@@ -5259,16 +5339,14 @@ void ULO_ShutdownAlarmCheck(){
5259 5339
 //        }
5260 5340
         
5261 5341
     if(bluecell_Currdatastatus.ULO_Shutdown_ON_OFF == true){
5262
-
5263
-        if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index] == true
5264
-         &&DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL1_Shutdown_Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
5342
+       if(DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL1_Shutdown_Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
5265 5343
        {
5266 5344
         
5267 5345
             if(bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1 >= RETRYCNT_MAX){
5268 5346
                 bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN |= ALARM_ULO_SHUTDOWN_P1;
5269 5347
                 bluecell_Currdatastatus.ULO_Shutdown_Alarm1       = true;
5270
-                HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_RESET);//CLOCK            
5271 5348
                 bluecell_Currdatastatus.ATT_UL1_PATH = false;
5349
+                HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,bluecell_Currdatastatus.ATT_UL1_PATH);//CLOCK            
5272 5350
             }else{
5273 5351
                 if(HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin) == GPIO_PIN_SET)
5274 5352
                 {//CLOCK;        
@@ -5278,8 +5356,8 @@ void ULO_ShutdownAlarmCheck(){
5278 5356
                 if(DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL1_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5279 5357
                     /*Path Recovery*/
5280 5358
                     HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK
5281
-                    bluecell_Prevdatastatus.ATT_UL1_H = ~bluecell_Prevdatastatus.ATT_UL1_H;
5282
-                    bluecell_Prevdatastatus.ATT_UL1_L = ~bluecell_Prevdatastatus.ATT_UL1_L;
5359
+                    bluecell_Prevdatastatus.ATT_UL1_H = 0xFF;
5360
+                    bluecell_Prevdatastatus.ATT_UL1_L = 0xFF;
5283 5361
                     bluecell_Currdatastatus.ATT_UL1_PATH = true;
5284 5362
                     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5285 5363
                     DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL1_Shutdown_Index] = 0;
@@ -5297,6 +5375,7 @@ void ULO_ShutdownAlarmCheck(){
5297 5375
             }
5298 5376
         } 
5299 5377
         
5378
+#if 0 // PYJ.2020.06.19_BEGIN -- 
5300 5379
         if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL2_Shutdown_Index] == true
5301 5380
          &&DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL2_Shutdown_Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
5302 5381
        {
@@ -5315,8 +5394,8 @@ void ULO_ShutdownAlarmCheck(){
5315 5394
                 if(DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL2_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5316 5395
                     /*Path Recovery*/
5317 5396
                     HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_SET);//CLOCK
5318
-                    bluecell_Prevdatastatus.ATT_UL2_H = ~bluecell_Prevdatastatus.ATT_UL2_H;
5319
-                    bluecell_Prevdatastatus.ATT_UL2_L = ~bluecell_Prevdatastatus.ATT_UL2_L;
5397
+                    bluecell_Prevdatastatus.ATT_UL2_H = 0xFF;
5398
+                    bluecell_Prevdatastatus.ATT_UL2_L = 0xFF;
5320 5399
                     bluecell_Currdatastatus.ATT_UL2_PATH = true;
5321 5400
                     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5322 5401
                     DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL2_Shutdown_Index] = 0;
@@ -5352,8 +5431,8 @@ void ULO_ShutdownAlarmCheck(){
5352 5431
                 if(DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL3_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5353 5432
                     /*Path Recovery*/
5354 5433
                     HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_SET);//CLOCK
5355
-                    bluecell_Prevdatastatus.ATT_UL3_H = ~bluecell_Prevdatastatus.ATT_UL3_H;
5356
-                    bluecell_Prevdatastatus.ATT_UL3_L = ~bluecell_Prevdatastatus.ATT_UL3_L;
5434
+                    bluecell_Prevdatastatus.ATT_UL3_H = 0xFF;
5435
+                    bluecell_Prevdatastatus.ATT_UL3_L =0xFF;
5357 5436
                     bluecell_Currdatastatus.ATT_UL3_PATH = true;
5358 5437
                     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5359 5438
                     DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL3_Shutdown_Index] = 0;
@@ -5390,8 +5469,8 @@ void ULO_ShutdownAlarmCheck(){
5390 5469
                 if(DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL4_Shutdown_Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC){
5391 5470
                     /*Path Recovery*/
5392 5471
                     HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_SET);//CLOCK
5393
-                    bluecell_Prevdatastatus.ATT_UL4_H = ~bluecell_Prevdatastatus.ATT_UL4_H;
5394
-                    bluecell_Prevdatastatus.ATT_UL4_L = ~bluecell_Prevdatastatus.ATT_UL4_L;
5472
+                    bluecell_Prevdatastatus.ATT_UL4_H = 0xFF;
5473
+                    bluecell_Prevdatastatus.ATT_UL4_L = 0xFF;
5395 5474
                     bluecell_Currdatastatus.ATT_UL4_PATH = true;
5396 5475
                     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5397 5476
                     DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL4_Shutdown_Index] = 0;
@@ -5408,6 +5487,7 @@ void ULO_ShutdownAlarmCheck(){
5408 5487
                 bluecell_Currdatastatus.ULO_Shutdown_Alarm4       = false;            
5409 5488
             }
5410 5489
         }         
5490
+#endif // PYJ.2020.06.19_END -- 
5411 5491
 
5412 5492
     }
5413 5493
     else{
@@ -5600,6 +5680,28 @@ void Alarm_Check(){
5600 5680
     DLI_ShutdownAlarmCheck();
5601 5681
     DLI_LevelAlarmCheck();
5602 5682
     ULO_LevelAlarmCheck();
5683
+}
5684
+#if 0 // PYJ.2020.06.19_BEGIN -- 
5685
+void MBIC_ShutDown_Check(){
5686
+    
5687
+    /*
5688
+        - Timer Cnt Init 
5689
+        - Shutdown inc
5690
+        - Path Off 
5691
+        
5692
+    */
5693
+    if(ShutdownCnt_Get(MBIC_Shutdown_DL1) > MBIC_ON_SHUTDOWN_MAINTAIN_SEC){
5694
+        bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1++;
5695
+        bluecell_Currdatastatus.ATT_DL1_PATH = true;
5696
+    }
5697
+    ShutdownCnt_Get(MBIC_Shutdown_DL2);
5698
+    ShutdownCnt_Get(MBIC_Shutdown_DL3);
5699
+    ShutdownCnt_Get(MBIC_Shutdown_DL4);
5700
+
5701
+    ShutdownCnt_Get(MBIC_Shutdown_UL1);
5702
+    ShutdownCnt_Get(MBIC_Shutdown_UL2);
5703
+    ShutdownCnt_Get(MBIC_Shutdown_UL3);
5704
+    ShutdownCnt_Get(MBIC_Shutdown_UL4);
5603 5705
     
5604
-
5605 5706
 }
5707
+#endif // PYJ.2020.06.19_END -- 

+ 43 - 8
Bluecell_Src/PE43711.c

@@ -15,7 +15,7 @@ void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
15 15
 
16 16
 ALL_PE43711_st ALL_ATT;
17 17
 
18
-PE43711_st ATT_DL1 ={
18
+volatile PE43711_st ATT_DL1 ={
19 19
     ATT_CLOCK1_GPIO_Port,
20 20
     ATT_CLOCK1_Pin,
21 21
     ATT_DATA1_GPIO_Port,
@@ -23,7 +23,7 @@ PE43711_st ATT_DL1 ={
23 23
     ATT_EN_DL1_GPIO_Port,
24 24
     ATT_EN_DL1_Pin,
25 25
 }; 
26
-PE43711_st ATT_UL1 ={
26
+volatile PE43711_st ATT_UL1 ={
27 27
     ATT_CLOCK1_GPIO_Port,
28 28
     ATT_CLOCK1_Pin,
29 29
     ATT_DATA1_GPIO_Port,
@@ -31,7 +31,7 @@ PE43711_st ATT_UL1 ={
31 31
     ATT_EN_UL1_GPIO_Port,
32 32
     ATT_EN_UL1_Pin,
33 33
 }; 
34
-PE43711_st ATT_DL2 ={
34
+volatile PE43711_st ATT_DL2 ={
35 35
     ATT_CLOCK2_GPIO_Port,
36 36
     ATT_CLOCK2_Pin,
37 37
     ATT_DATA2_GPIO_Port,
@@ -39,14 +39,15 @@ PE43711_st ATT_DL2 ={
39 39
     ATT_EN_DL2_GPIO_Port,
40 40
     ATT_EN_DL2_Pin,
41 41
 }; 
42
-PE43711_st ATT_UL2 ={
42
+volatile PE43711_st ATT_UL2 ={
43 43
     ATT_CLOCK2_GPIO_Port,
44 44
     ATT_CLOCK2_Pin,
45 45
     ATT_DATA2_GPIO_Port,
46 46
     ATT_DATA2_Pin,
47 47
     ATT_EN_UL2_GPIO_Port,
48 48
     ATT_EN_UL2_Pin,
49
-}; PE43711_st ATT_DL3 ={
49
+};
50
+volatile PE43711_st ATT_DL3 ={
50 51
     ATT_CLOCK3_GPIO_Port,
51 52
     ATT_CLOCK3_Pin,
52 53
     ATT_DATA3_GPIO_Port,
@@ -54,14 +55,15 @@ PE43711_st ATT_UL2 ={
54 55
     ATT_EN_DL3_GPIO_Port,
55 56
     ATT_EN_DL3_Pin,
56 57
 }; 
57
-PE43711_st ATT_UL3 ={
58
+volatile PE43711_st ATT_UL3 ={
58 59
     ATT_CLOCK3_GPIO_Port,
59 60
     ATT_CLOCK3_Pin,
60 61
     ATT_DATA3_GPIO_Port,
61 62
     ATT_DATA3_Pin,
62 63
     ATT_EN_UL3_GPIO_Port,
63 64
     ATT_EN_UL3_Pin,
64
-}; PE43711_st ATT_DL4 ={
65
+}; 
66
+    volatile PE43711_st ATT_DL4 ={
65 67
     ATT_CLOCK4_GPIO_Port,
66 68
     ATT_CLOCK4_Pin,
67 69
     ATT_DATA4_GPIO_Port,
@@ -69,7 +71,7 @@ PE43711_st ATT_UL3 ={
69 71
     ATT_EN_DL4_GPIO_Port,
70 72
     ATT_EN_DL4_Pin,
71 73
 }; 
72
-PE43711_st ATT_UL4 ={
74
+volatile PE43711_st ATT_UL4 ={
73 75
     ATT_CLOCK4_GPIO_Port,
74 76
     ATT_CLOCK4_Pin,
75 77
     ATT_DATA4_GPIO_Port,
@@ -194,3 +196,36 @@ void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data){
194 196
     Pol_Delay_us(10);
195 197
     HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_RESET);
196 198
 }
199
+
200
+
201
+void PE43711_UL4_atten_ctrl(uint8_t data){
202
+    uint8_t i = 0;
203
+    uint8_t temp = 0;
204
+    //data = 4 * data; // ATTEN ERROR 수정 
205
+    temp = (uint8_t)data;
206
+    
207
+    HAL_GPIO_WritePin(ATT_EN_UL4_GPIO_Port,ATT_EN_UL4_Pin,GPIO_PIN_RESET);
208
+    Pol_Delay_us(10);
209
+    for(i = 0; i < 8; i++){
210
+        if((uint8_t)temp & 0x01){
211
+           HAL_GPIO_WritePin(ATT_DATA4_GPIO_Port,ATT_DATA4_Pin,GPIO_PIN_SET);//DATA
212
+        }
213
+           else{
214
+           HAL_GPIO_WritePin(ATT_DATA4_GPIO_Port,ATT_DATA4_Pin,GPIO_PIN_RESET);//DATA
215
+           }
216
+
217
+		HAL_GPIO_WritePin(ATT_CLOCK4_GPIO_Port,ATT_CLOCK4_Pin,GPIO_PIN_SET);//CLOCK
218
+		Pol_Delay_us(10);
219
+		HAL_GPIO_WritePin(ATT_CLOCK4_GPIO_Port,ATT_CLOCK4_Pin,GPIO_PIN_RESET);//CLOCK
220
+		Pol_Delay_us(10);
221
+		temp >>= 1;
222
+    }
223
+    
224
+	HAL_GPIO_WritePin(ATT_CLOCK4_GPIO_Port,ATT_CLOCK4_Pin,GPIO_PIN_RESET);//CLOCK
225
+    HAL_GPIO_WritePin(ATT_DATA4_GPIO_Port,ATT_DATA4_Pin,GPIO_PIN_RESET);//DATA
226
+    Pol_Delay_us(10);
227
+    HAL_GPIO_WritePin(ATT_EN_UL4_GPIO_Port,ATT_EN_UL4_Pin,GPIO_PIN_SET);//LE
228
+    Pol_Delay_us(10);
229
+    HAL_GPIO_WritePin(ATT_EN_UL4_GPIO_Port,ATT_EN_UL4_Pin,GPIO_PIN_RESET);
230
+}
231
+

+ 2 - 2
Bluecell_Src/eeprom.c

@@ -168,7 +168,7 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
168 168
     if(sizeremain > 0){
169 169
 //         printf("Remain Data Write Start ");
170 170
         for(int i = 0; i < sizeremain; i++){
171
-            ret = HAL_I2C_Mem_Write(&hi2c2, devid  ,((Address + addrees_inc + i)& 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[addrees_inc + i], 1, 1024);
171
+            ret = HAL_I2C_Mem_Write(&hi2c2, devid  ,((Address + addrees_inc + i)& 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[addrees_inc + i], 1, 0xFFFF);
172 172
          //       EEPROM24XX_Save( Address,data, size);
173 173
          if(ret == HAL_ERROR)
174 174
              printf("Write ERR\r\n");
@@ -191,7 +191,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Zerowrite(uint8_t devid,uint16_t Address){
191 191
 
192 192
     for(int i = 0 ; i < 128; i++ ){
193 193
          addrees_inc = i * MAXEEPROM_LENG;
194
-         ret = HAL_I2C_Mem_Write(&hi2c2, devid  ,((Address + addrees_inc) & 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[0], MAXEEPROM_LENG, 1024);
194
+         ret = HAL_I2C_Mem_Write(&hi2c2, devid  ,((Address + addrees_inc) & 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[0], MAXEEPROM_LENG, 0xFFFF);
195 195
          if(ret == HAL_ERROR)
196 196
              printf("Write ERR\r\n");
197 197
          else

+ 3 - 3
Bluecell_Src/uart.c

@@ -53,7 +53,7 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
53 53
     if (pQueue->data >= QUEUE_BUFFER_LENGTH)
54 54
         GetDataFromUartQueue(huart);
55 55
     HAL_UART_Receive_DMA(&hTerminal, pQueue->Buffer + pQueue->head, 1);
56
-    HAL_UART_Receive_DMA(&hTest, pQueue->Buffer + pQueue->head, 1);
56
+  //  HAL_UART_Receive_DMA(&hTest, pQueue->Buffer + pQueue->head, 1);
57 57
    // Set_UartRcv(true);
58 58
 }
59 59
 
@@ -98,6 +98,7 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
98 98
         //RF_Ctrl_Main(&uart_buf[Header]);
99 99
 //        HAL_UART_Transmit(dst, &temp_buf[BLUECELL_HEADER00], 11, 3000);
100 100
 #if 1 // PYJ.2019.07.15_BEGIN --
101
+            printf("\r\n[RX]");
101 102
             for(int i = 0; i < cnt; i++){
102 103
                 printf("%02x ",uart_buf[i]);
103 104
             }
@@ -144,8 +145,7 @@ void Uart1_Data_Send(uint8_t* data,uint16_t size){
144 145
     printf("\r\n [TX] : ");
145 146
     for(int i = 0; i< size; i++)
146 147
         printf(" %02x ",data[i]);
147
-    printf("END\r\n");
148
-//    printf("\r\n\tCOUNT : %d",size);
148
+    printf("\r\n\tCOUNT : %d \r\n",size);
149 149
 //    printf("\r\n");
150 150
     
151 151
 }

+ 1 - 1
STM32F103ZET_JDASMBIC.elf.launch

@@ -53,5 +53,5 @@
53 53
 </listAttribute>
54 54
 <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
55 55
 <stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
56
-<stringAttribute key="saved_expressions&lt;seperator&gt;Unknown" value="uart_buf,data"/>
56
+<stringAttribute key="saved_expressions&lt;seperator&gt;Unknown" value="uart_buf"/>
57 57
 </launchConfiguration>

+ 70 - 22
Src/main.c

@@ -75,6 +75,8 @@ volatile uint32_t LDTimerCnt = 0;
75 75
 
76 76
 volatile uint32_t ALCTimerCnt = 0;
77 77
 volatile uint32_t AGCTimerCnt = 0;
78
+volatile uint32_t MBIC_ShutdownCnt[MBIC_Shutdown_MaxIndex] ={ 0,};
79
+
78 80
 
79 81
 volatile uint32_t AGC_On_AlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
80 82
 volatile uint32_t AGC_Off_AlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
@@ -113,6 +115,8 @@ extern bool ADC_Alarm_UL_Set[DET_Alarm_UL_Index_MAX];
113 115
 extern uint8_t ALC_AlarmSet[ALC_Alarm_UL_Index_MAX];
114 116
 extern bool AGC_AlarmSet[AGC_Alarm_DL_Index_MAX];
115 117
 extern bool ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL_Shutdown_Index_MAX];
118
+extern bool ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL_Shutdown_Index_MAX];
119
+
116 120
 /* USER CODE END PV */
117 121
 
118 122
 /* Private function prototypes -----------------------------------------------*/
@@ -135,6 +139,13 @@ extern void DET_LevelAlarmCheck();
135 139
 
136 140
 /* Private user code ---------------------------------------------------------*/
137 141
 /* USER CODE BEGIN 0 */
142
+uint32_t ShutdownCnt_Get(uint8_t index){
143
+    return MBIC_ShutdownCnt[index];
144
+}
145
+void ShutdownCnt_Set(uint8_t index,uint8_t val){
146
+    MBIC_ShutdownCnt[index] = val;
147
+}
148
+
138 149
 void Pol_Delay_us(volatile uint32_t microseconds)
139 150
 {
140 151
   /* Go to number of cycles for system */
@@ -354,18 +365,13 @@ int main(void)
354 365
   HAL_ADC_Start_DMA(&hadc1, (uint16_t*)ADC1value, 4);
355 366
   HAL_TIM_Base_Start_IT(&htim6);
356 367
 
368
+
369
+
357 370
   setbuf(stdout, NULL);
358 371
   PE43711_PinInit();
359 372
   EEPROM_M24C08_Init();
360
-  Bluecell_DataInit();
361
-  Bluecell_AttenInitialize();
362
-#if 1 // PYJ.2020.05.06_BEGIN -- 
363
-    printf("****************************************\r\n");
364
-    printf("MBIC Project\r\n");
365
-    printf("Build at %s %s\r\n", __DATE__, __TIME__);
366
-    printf("Copyright (c) 2020. BLUECELL\r\n");
367
-    printf("****************************************\r\n");
368
-#endif // PYJ.2020.05.06_END --   
373
+
374
+
369 375
 //  MBIC_APIFLASH_test();
370 376
   //Flash_InitRead();
371 377
 
@@ -392,6 +398,15 @@ int main(void)
392 398
 //    uint16_t rrrrrr = 0;
393 399
 //  rrrrrr = ((CRC16_Generate(&retdate[0], 10)));  
394 400
 //  printf("CRC : %x \r\n",rrrrrr);
401
+//  Bluecell_DataInit();
402
+//  Bluecell_AttenInitialize();
403
+#if 1 // PYJ.2020.05.06_BEGIN -- 
404
+      printf("****************************************\r\n");
405
+      printf("MBIC Project\r\n");
406
+      printf("Build at %s %s\r\n", __DATE__, __TIME__);
407
+      printf("Copyright (c) 2020. BLUECELL\r\n");
408
+      printf("****************************************\r\n");
409
+#endif // PYJ.2020.05.06_END --   
395 410
 
396 411
   while (1)
397 412
   {
@@ -875,18 +890,6 @@ static void MX_GPIO_Init(void)
875 890
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
876 891
   HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
877 892
 
878
-  /*Configure GPIO pins : UNIT_ID0_Pin UNIT_ID1_Pin UNIT_ID2_Pin */
879
-  GPIO_InitStruct.Pin = UNIT_ID0_Pin|UNIT_ID1_Pin|UNIT_ID2_Pin;
880
-  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
881
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
882
-  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
883
-
884
-  /*Configure GPIO pin : UNIT_ID3_Pin */
885
-  GPIO_InitStruct.Pin = UNIT_ID3_Pin;
886
-  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
887
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
888
-  HAL_GPIO_Init(UNIT_ID3_GPIO_Port, &GPIO_InitStruct);
889
-
890 893
 }
891 894
 
892 895
 /* USER CODE BEGIN 4 */
@@ -1238,8 +1241,53 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
1238 1241
     }
1239 1242
       /*********************DL LEVEL HIGH END***************************/
1240 1243
 
1244
+#if 0 // PYJ.2020.06.19_BEGIN -- 
1245
+    if(ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index] == true){
1246
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL1]++;
1247
+    }else{
1248
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL1] = 0;        
1249
+    }
1250
+    if(ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL2_Shutdown_Index] == true){
1251
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL2]++;
1252
+    }else{
1253
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL2] = 0;        
1254
+    }
1255
+    if(ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL3_Shutdown_Index] == true){
1256
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL3]++;
1257
+    }else{
1258
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL3] = 0;        
1259
+    }
1260
+    if(ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL4_Shutdown_Index] == true){
1261
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL4]++;
1262
+    }else{
1263
+        MBIC_ShutdownCnt[MBIC_Shutdown_DL4] = 0;        
1264
+    }
1265
+
1266
+    if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index] == true){
1267
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL1]++;
1268
+    }else{
1269
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL1] = 0;        
1270
+    }
1271
+    if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL2_Shutdown_Index] == true){
1272
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL2]++;
1273
+    }else{
1274
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL2] = 0;        
1275
+    }
1276
+    if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL3_Shutdown_Index] == true){
1277
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL3]++;
1278
+    }else{
1279
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL3] = 0;        
1280
+    }
1281
+    if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL4_Shutdown_Index] == true){
1282
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL4]++;
1283
+    }else{
1284
+        MBIC_ShutdownCnt[MBIC_Shutdown_UL4] = 0;        
1285
+    }
1286
+#endif // PYJ.2020.06.19_END -- 
1287
+
1288
+
1289
+    /*3 Sec Time Cnt */
1241 1290
     
1242
-      /*3 Sec Time Cnt */
1243 1291
       if(AlarmTimerOnSet == true){
1244 1292
         if(AlarmTimerOnCnt == 0xFFFFFFFF)
1245 1293
             AlarmTimerOnCnt = MBIC_ON_MAINTAIN_SEC;