Преглед на файлове

I2C 문제 해결 EEPROM

i2c FASTMODE 에서는 EEPROM DATA WRITE 시 DATA 꺠찜 현상
PYJ преди 5 години
родител
ревизия
4b4d2c4443
променени са 4 файла, в които са добавени 243 реда и са изтрити 160 реда
  1. 10 8
      Bluecell_Inc/Bluecell_operate.h
  2. 148 60
      Bluecell_Src/Bluecell_operate.c
  3. 84 91
      Bluecell_Src/eeprom.c
  4. 1 1
      Src/main.c

+ 10 - 8
Bluecell_Inc/Bluecell_operate.h

@@ -149,6 +149,8 @@ typedef enum{
149
     AGC_Table_DL4_Ref_Index,            
149
     AGC_Table_DL4_Ref_Index,            
150
     AGC_Table_DL_Ref_Index_MAX,      
150
     AGC_Table_DL_Ref_Index_MAX,      
151
 };
151
 };
152
+#define TABLE_MAX_VALUE 0     
153
+#define TABLE_LENGTH_MAX 70    
152
 typedef enum{
154
 typedef enum{
153
     ALC_Table_UL1_Ref_Index = 0,
155
     ALC_Table_UL1_Ref_Index = 0,
154
     ALC_Table_UL2_Ref_Index,        
156
     ALC_Table_UL2_Ref_Index,        
@@ -645,14 +647,14 @@ typedef enum{
645
 	ULO_P4_ATT_Accuracy_Table_Number = 0x53,
647
 	ULO_P4_ATT_Accuracy_Table_Number = 0x53,
646
 }MBIC_Table_Number;
648
 }MBIC_Table_Number;
647
 #define ATTENTABLEDLUL_LENGTH 64
649
 #define ATTENTABLEDLUL_LENGTH 64
648
-#define ATTENTABLEDET_DL_LENGTH 31
650
+#define ATTENTABLEDET_DL_LENGTH 33
649
 #define ATTENTABLEDET_UL_LENGTH 46
651
 #define ATTENTABLEDET_UL_LENGTH 46
650
 
652
 
651
 #define ATTENTABLE_TEMP_LENGTH 10
653
 #define ATTENTABLE_TEMP_LENGTH 10
652
 
654
 
653
 #define ATTENTABLEDL_REF   0
655
 #define ATTENTABLEDL_REF   0
654
 #define ATTENTABLEUL_REF   0
656
 #define ATTENTABLEUL_REF   0
655
-#define ATTENTABLEDET_DL_REF 5
657
+#define ATTENTABLEDET_DL_REF  7
656
 #define ATTENTABLEDET_UL_REF -15
658
 #define ATTENTABLEDET_UL_REF -15
657
 #define ATTENTABLE_TEMP_REF  -10
659
 #define ATTENTABLE_TEMP_REF  -10
658
 
660
 
@@ -1131,8 +1133,8 @@ typedef struct{
1131
     uint8_t Table_xx_x_28_dBm;
1133
     uint8_t Table_xx_x_28_dBm;
1132
     uint8_t Table_xx_x_29_dBm;
1134
     uint8_t Table_xx_x_29_dBm;
1133
     uint8_t Table_xx_x_30_dBm;
1135
     uint8_t Table_xx_x_30_dBm;
1134
-    uint8_t Table_Ref;
1135
-    uint8_t Table_Length;
1136
+    int8_t Table_Ref;
1137
+    int8_t Table_Length;
1136
 }ATT_TABLE_st;
1138
 }ATT_TABLE_st;
1137
 typedef struct{
1139
 typedef struct{
1138
     uint8_t Table_Det5_dBm_H	;
1140
     uint8_t Table_Det5_dBm_H	;
@@ -1293,8 +1295,8 @@ typedef struct{
1293
     uint8_t Table_Det_xx47_dBm_L	;
1295
     uint8_t Table_Det_xx47_dBm_L	;
1294
     uint8_t Table_Det_xx48_dBm_H	;
1296
     uint8_t Table_Det_xx48_dBm_H	;
1295
     uint8_t Table_Det_xx48_dBm_L	;
1297
     uint8_t Table_Det_xx48_dBm_L	;
1296
-    uint8_t Table_Ref	;
1297
-    uint8_t Table_Length	;
1298
+    int8_t Table_Ref	;
1299
+    int8_t Table_Length	;
1298
 }DET_TABLEDL_st;
1300
 }DET_TABLEDL_st;
1299
 typedef struct{
1301
 typedef struct{
1300
       uint8_t Table_Det_15_dBm_H  ;   
1302
       uint8_t Table_Det_15_dBm_H  ;   
@@ -1455,8 +1457,8 @@ typedef struct{
1455
       uint8_t Table_Det_XX32_dBm_L  ;
1457
       uint8_t Table_Det_XX32_dBm_L  ;
1456
       uint8_t Table_Det_XX33_dBm_H  ;   
1458
       uint8_t Table_Det_XX33_dBm_H  ;   
1457
       uint8_t Table_Det_XX33_dBm_L  ;
1459
       uint8_t Table_Det_XX33_dBm_L  ;
1458
-      uint8_t Table_Ref  ;   
1459
-      uint8_t Table_Length  ;
1460
+      int8_t Table_Ref  ;   
1461
+      int8_t Table_Length  ;
1460
 }DET_TABLEUL_st;
1462
 }DET_TABLEUL_st;
1461
 
1463
 
1462
 typedef struct{
1464
 typedef struct{

+ 148 - 60
Bluecell_Src/Bluecell_operate.c

@@ -398,7 +398,7 @@ double TableAtteGuarantee(uint8_t* Table,double AttenValue){
398
 }
398
 }
399
 
399
 
400
 #if 1 // PYJ.2020.05.25_BEGIN -- 
400
 #if 1 // PYJ.2020.05.25_BEGIN -- 
401
-AGC_dBm_t AGC_Table_ref[AGC_Table_DL_Ref_Index_MAX] = {
401
+int8_t DL_DET_Table_ref[AGC_Table_DL_Ref_Index_MAX][TABLE_LENGTH_MAX] = {
402
      7,6,5,4,3,
402
      7,6,5,4,3,
403
      2,1,0,-1,-2,
403
      2,1,0,-1,-2,
404
      -3,-4,-5,-6,
404
      -3,-4,-5,-6,
@@ -408,7 +408,7 @@ AGC_dBm_t AGC_Table_ref[AGC_Table_DL_Ref_Index_MAX] = {
408
      -19,-20,-21,-22,
408
      -19,-20,-21,-22,
409
      -23,-24,-25
409
      -23,-24,-25
410
 }; 
410
 }; 
411
-ALC_dBm_t ALC_Table_ref[ALC_Table_UL_Ref_Index_MAX] = {
411
+int8_t UL_DET_Table_ref[ALC_Table_UL_Ref_Index_MAX][TABLE_LENGTH_MAX] = {
412
     -15,    -16,    -17 ,    -18 ,  -19 ,
412
     -15,    -16,    -17 ,    -18 ,  -19 ,
413
     -20,    -21,    -22 ,    -23 ,  -24 ,    -25 ,    -26 ,    -27 ,
413
     -20,    -21,    -22 ,    -23 ,  -24 ,    -25 ,    -26 ,    -27 ,
414
     -28,    -29,    -30 ,    -31 ,  -32 ,    -33 ,    -34 ,    -35 ,
414
     -28,    -29,    -30 ,    -31 ,  -32 ,    -33 ,    -34 ,    -35 ,
@@ -440,14 +440,14 @@ void Table_DataSetting(int8_t* pdata,int8_t RefData,double step,uint8_t size){
440
     }
440
     }
441
 }
441
 }
442
 void Table_Init(){
442
 void Table_Init(){
443
-    Table_DataSetting(&AGC_Table_ref[AGC_Table_DL1_Ref_Index].DET_DL_0,Det_DL1.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL1.Table_Length);
444
-    Table_DataSetting(&AGC_Table_ref[AGC_Table_DL2_Ref_Index].DET_DL_0,Det_DL2.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL2.Table_Length);
445
-    Table_DataSetting(&AGC_Table_ref[AGC_Table_DL3_Ref_Index].DET_DL_0,Det_DL3.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL3.Table_Length);
446
-    Table_DataSetting(&AGC_Table_ref[AGC_Table_DL4_Ref_Index].DET_DL_0,Det_DL4.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL4.Table_Length);
447
-    Table_DataSetting(&ALC_Table_ref[ALC_Table_UL1_Ref_Index].DET_UL_0,Det_UL1.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL1.Table_Length);
448
-    Table_DataSetting(&ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0,Det_UL2.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL2.Table_Length);
449
-    Table_DataSetting(&ALC_Table_ref[ALC_Table_UL3_Ref_Index].DET_UL_0,Det_UL3.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL3.Table_Length);
450
-    Table_DataSetting(&ALC_Table_ref[ALC_Table_UL4_Ref_Index].DET_UL_0,Det_UL4.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL4.Table_Length);
443
+    Table_DataSetting(&DL_DET_Table_ref[AGC_Table_DL1_Ref_Index][TABLE_MAX_VALUE],Det_DL1.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL1.Table_Length);
444
+    Table_DataSetting(&DL_DET_Table_ref[AGC_Table_DL2_Ref_Index][TABLE_MAX_VALUE],Det_DL2.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL2.Table_Length);
445
+    Table_DataSetting(&DL_DET_Table_ref[AGC_Table_DL3_Ref_Index][TABLE_MAX_VALUE],Det_DL3.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL3.Table_Length);
446
+    Table_DataSetting(&DL_DET_Table_ref[AGC_Table_DL4_Ref_Index][TABLE_MAX_VALUE],Det_DL4.Table_Ref,TableDataSetting_ATT_DL_LEVEL_STEP,Det_DL4.Table_Length);
447
+    Table_DataSetting(&UL_DET_Table_ref[ALC_Table_UL1_Ref_Index][TABLE_MAX_VALUE],Det_UL1.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL1.Table_Length);
448
+    Table_DataSetting(&UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE],Det_UL2.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL2.Table_Length);
449
+    Table_DataSetting(&UL_DET_Table_ref[ALC_Table_UL3_Ref_Index][TABLE_MAX_VALUE],Det_UL3.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL3.Table_Length);
450
+    Table_DataSetting(&UL_DET_Table_ref[ALC_Table_UL4_Ref_Index][TABLE_MAX_VALUE],Det_UL4.Table_Ref,TableDataSetting_ATT_UL_LEVEL_STEP,Det_UL4.Table_Length);
451
 
451
 
452
 
452
 
453
 }
453
 }
@@ -455,14 +455,14 @@ void Bluecell_AttenInitialize(){
455
     uint8_t val = 0;
455
     uint8_t val = 0;
456
     int16_t MBIC_ALC_Val = 0,MBIC_Val = 0,MBIC_UserVal = 0;
456
     int16_t MBIC_ALC_Val = 0,MBIC_Val = 0,MBIC_UserVal = 0;
457
     Table_Init();
457
     Table_Init();
458
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL1_INDEX],&AGC_Table_ref[AGC_Table_DL1_Ref_Index].DET_DL_0,sizeof(AGC_dBm_t));
459
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL2_INDEX],&AGC_Table_ref[AGC_Table_DL2_Ref_Index].DET_DL_0,sizeof(AGC_dBm_t));
460
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL3_INDEX],&AGC_Table_ref[AGC_Table_DL3_Ref_Index].DET_DL_0,sizeof(AGC_dBm_t));
461
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL4_INDEX],&AGC_Table_ref[AGC_Table_DL4_Ref_Index].DET_DL_0,sizeof(AGC_dBm_t));
462
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL1_INDEX],&ALC_Table_ref[ALC_Table_UL1_Ref_Index].DET_UL_0,sizeof(ALC_dBm_t));
463
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL2_INDEX],&ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0,sizeof(ALC_dBm_t));
464
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL3_INDEX],&ALC_Table_ref[ALC_Table_UL3_Ref_Index].DET_UL_0,sizeof(ALC_dBm_t));
465
-//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL4_INDEX],&ALC_Table_ref[ALC_Table_UL4_Ref_Index].DET_UL_0,sizeof(ALC_dBm_t));
458
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL1_INDEX],&DL_DET_Table_ref[AGC_Table_DL1_Ref_Index][TABLE_MAX_VALUE],sizeof(AGC_dBm_t));
459
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL2_INDEX],&DL_DET_Table_ref[AGC_Table_DL2_Ref_Index][TABLE_MAX_VALUE],sizeof(AGC_dBm_t));
460
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL3_INDEX],&DL_DET_Table_ref[AGC_Table_DL3_Ref_Index][TABLE_MAX_VALUE],sizeof(AGC_dBm_t));
461
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_DL4_INDEX],&DL_DET_Table_ref[AGC_Table_DL4_Ref_Index][TABLE_MAX_VALUE],sizeof(AGC_dBm_t));
462
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL1_INDEX],&UL_DET_Table_ref[ALC_Table_UL1_Ref_Index][TABLE_MAX_VALUE],sizeof(ALC_dBm_t));
463
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL2_INDEX],&UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE],sizeof(ALC_dBm_t));
464
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL3_INDEX],&UL_DET_Table_ref[ALC_Table_UL3_Ref_Index][TABLE_MAX_VALUE],sizeof(ALC_dBm_t));
465
+//    Bluecell_StructCpy(&AutoControl_Save[MBIC_Table_UL4_INDEX],&UL_DET_Table_ref[ALC_Table_UL4_Ref_Index][TABLE_MAX_VALUE],sizeof(ALC_dBm_t));
466
 
466
 
467
 //    for(int a = 0; a < MBIC_Table_INDEX; a++){
467
 //    for(int a = 0; a < MBIC_Table_INDEX; a++){
468
 //        printf("========================START %d=====================================\r\n",a);
468
 //        printf("========================START %d=====================================\r\n",a);
@@ -1476,7 +1476,7 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1476
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1476
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1477
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1477
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1478
 //            for(int i = 0 ; i < sizeof(DET_TABLEDL_st);i++)
1478
 //            for(int i = 0 ; i < sizeof(DET_TABLEDL_st);i++)
1479
-//                printf("[%d Dbm] : %f \r\n",ALC_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1479
+//                printf("[%d Dbm] : %f \r\n",UL_DET_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1480
         
1480
         
1481
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEDL_st)) + 7 - 3;
1481
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEDL_st)) + 7 - 3;
1482
             break;
1482
             break;
@@ -1494,14 +1494,14 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1494
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1494
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1495
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1495
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1496
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1496
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1497
-//                printf("[%d Dbm] : %f \r\n",ALC_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1497
+//                printf("[%d Dbm] : %f \r\n",UL_DET_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1498
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1498
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1499
             break;
1499
             break;
1500
         case ULO_P2_Level_Table_Number: 
1500
         case ULO_P2_Level_Table_Number: 
1501
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1501
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1502
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1502
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1503
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1503
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1504
-//                printf("[%d Dbm] : %f \r\n",ALC_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1504
+//                printf("[%d Dbm] : %f \r\n",UL_DET_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1505
         
1505
         
1506
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1506
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1507
         
1507
         
@@ -1510,7 +1510,7 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1510
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1510
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1511
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1511
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1512
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1512
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1513
-//                printf("[%d Dbm] : %f \r\n",ALC_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1513
+//                printf("[%d Dbm] : %f \r\n",UL_DET_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1514
         
1514
         
1515
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1515
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1516
             break;
1516
             break;
@@ -1518,7 +1518,7 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1518
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1518
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1519
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1519
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1520
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1520
 //            for(int i = 0 ; i < sizeof(DET_TABLEUL_st);i++)
1521
-//                printf("[%d Dbm] : %f \r\n",ALC_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1521
+//                printf("[%d Dbm] : %f \r\n",UL_DET_Table_ref[i],((data[BLUECELL_DATA + 1 + (i * 2)] << 8)| data[BLUECELL_DATA + 1 + (i * 2)+ 1]) * 0.001 );
1522
         
1522
         
1523
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1523
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1524
 
1524
 
@@ -2097,7 +2097,92 @@ void MBIC_TableSave(uint8_t* data,uint8_t type){
2097
     printf("\rSetting MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);
2097
     printf("\rSetting MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);
2098
 }
2098
 }
2099
 
2099
 
2100
+void Table_LengSet(){
2101
+    Att_DL1.Table_Ref = ATTENTABLEDL_REF;
2102
+    Att_DL2.Table_Ref = ATTENTABLEDL_REF;
2103
+    Att_DL3.Table_Ref = ATTENTABLEDL_REF;
2104
+    Att_DL4.Table_Ref = ATTENTABLEDL_REF;
2105
+    Att_UL1.Table_Ref = ATTENTABLEUL_REF;
2106
+    Att_UL2.Table_Ref = ATTENTABLEUL_REF;
2107
+    Att_UL3.Table_Ref = ATTENTABLEUL_REF;
2108
+    Att_UL4.Table_Ref = ATTENTABLEUL_REF;
2109
+    Det_DL1.Table_Ref = ATTENTABLEDET_DL_REF;
2110
+    Det_DL2.Table_Ref = ATTENTABLEDET_DL_REF;
2111
+    Det_DL3.Table_Ref = ATTENTABLEDET_DL_REF;
2112
+    Det_DL4.Table_Ref = ATTENTABLEDET_DL_REF;
2113
+    Det_UL1.Table_Ref = ATTENTABLEDET_UL_REF;
2114
+    Det_UL2.Table_Ref = ATTENTABLEDET_UL_REF;
2115
+    Det_UL3.Table_Ref = ATTENTABLEDET_UL_REF;
2116
+    Det_UL4.Table_Ref = ATTENTABLEDET_UL_REF;
2117
+    Temp_DL1.Table_Ref= ATTENTABLE_TEMP_REF;
2118
+    Temp_DL2.Table_Ref= ATTENTABLE_TEMP_REF;
2119
+    Temp_DL3.Table_Ref= ATTENTABLE_TEMP_REF;
2120
+    Temp_DL4.Table_Ref= ATTENTABLE_TEMP_REF;
2121
+    Temp_UL1.Table_Ref= ATTENTABLE_TEMP_REF;
2122
+    Temp_UL2.Table_Ref= ATTENTABLE_TEMP_REF;
2123
+    Temp_UL3.Table_Ref= ATTENTABLE_TEMP_REF;
2124
+    Temp_UL4.Table_Ref= ATTENTABLE_TEMP_REF;  
2125
+
2126
+
2127
+    Att_DL1.Table_Length = ATTENTABLEDLUL_LENGTH;
2128
+    Att_DL2.Table_Length = ATTENTABLEDLUL_LENGTH;
2129
+    Att_DL3.Table_Length = ATTENTABLEDLUL_LENGTH;
2130
+    Att_DL4.Table_Length = ATTENTABLEDLUL_LENGTH;
2131
+    Att_UL1.Table_Length = ATTENTABLEDLUL_LENGTH;
2132
+    Att_UL2.Table_Length = ATTENTABLEDLUL_LENGTH;
2133
+    Att_UL3.Table_Length = ATTENTABLEDLUL_LENGTH;
2134
+    Att_UL4.Table_Length = ATTENTABLEDLUL_LENGTH;
2135
+    Det_DL1.Table_Length = ATTENTABLEDET_DL_LENGTH;
2136
+    Det_DL2.Table_Length = ATTENTABLEDET_DL_LENGTH;
2137
+    Det_DL3.Table_Length = ATTENTABLEDET_DL_LENGTH;
2138
+    Det_DL4.Table_Length = ATTENTABLEDET_DL_LENGTH;
2139
+    Det_UL1.Table_Length = ATTENTABLEDET_UL_LENGTH;
2140
+    Det_UL2.Table_Length = ATTENTABLEDET_UL_LENGTH;
2141
+    Det_UL3.Table_Length = ATTENTABLEDET_UL_LENGTH;
2142
+    Det_UL4.Table_Length = ATTENTABLEDET_UL_LENGTH;
2143
+    Temp_DL1.Table_Length= ATTENTABLE_TEMP_LENGTH;
2144
+    Temp_DL2.Table_Length= ATTENTABLE_TEMP_LENGTH;
2145
+    Temp_DL3.Table_Length= ATTENTABLE_TEMP_LENGTH;
2146
+    Temp_DL4.Table_Length= ATTENTABLE_TEMP_LENGTH;
2147
+    Temp_UL1.Table_Length= ATTENTABLE_TEMP_LENGTH;
2148
+    Temp_UL2.Table_Length= ATTENTABLE_TEMP_LENGTH;
2149
+    Temp_UL3.Table_Length= ATTENTABLE_TEMP_LENGTH;
2150
+    Temp_UL4.Table_Length= ATTENTABLE_TEMP_LENGTH;     
2151
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2152
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2153
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2154
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2155
+    
2156
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2157
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2158
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2159
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
2160
+    
2161
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
2162
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
2163
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
2164
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
2165
+    
2166
+    
2167
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
2168
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
2169
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
2170
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
2171
+    
2172
+    
2173
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2174
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2175
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2176
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2177
+    
2178
+    
2179
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2180
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2181
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2182
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
2183
+
2100
 
2184
 
2185
+}
2101
 
2186
 
2102
 
2187
 
2103
 bool Bluecell_Operate(uint8_t* data){
2188
 bool Bluecell_Operate(uint8_t* data){
@@ -2113,6 +2198,8 @@ bool Bluecell_Operate(uint8_t* data){
2113
   uint16_t Crcret = 0;
2198
   uint16_t Crcret = 0;
2114
   switch(datatype){
2199
   switch(datatype){
2115
     case BLUECELL_SOFTWARERESET:
2200
     case BLUECELL_SOFTWARERESET:
2201
+        printf("Bluecell Reset \r\n");
2202
+        Table_LengSet();
2116
         NVIC_SystemReset();
2203
         NVIC_SystemReset();
2117
         break;
2204
         break;
2118
 	case Bluecell_ATT_DL1 				 :
2205
 	case Bluecell_ATT_DL1 				 :
@@ -4029,6 +4116,7 @@ bool MBIC_Operate(uint8_t* data){
4029
                 NVIC_SystemReset();
4116
                 NVIC_SystemReset();
4030
                 break;
4117
                 break;
4031
             case  SW_Reset                                :
4118
             case  SW_Reset                                :
4119
+                Table_LengSet();
4032
                 printf("SoftWare Reset Start \r\n");
4120
                 printf("SoftWare Reset Start \r\n");
4033
                 bluecell_Currdatastatus.S_W_Reset = data[MBIC_PAYLOADSTART + 3]; 
4121
                 bluecell_Currdatastatus.S_W_Reset = data[MBIC_PAYLOADSTART + 3]; 
4034
                 NVIC_SystemReset();
4122
                 NVIC_SystemReset();
@@ -5513,18 +5601,18 @@ double AGC_AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t
5513
         
5601
         
5514
     }
5602
     }
5515
     if(Lastdata > CurrentAdc){
5603
     if(Lastdata > CurrentAdc){
5516
-        printf("RefTable_Data[(size / 2) - 1] : %d \r\n",RefTable_Data[(size / 2) - 1]);
5604
+//        printf("RefTable_Data[(size / 2) - 1] : %d \r\n",RefTable_Data[(size / 2) - 1]);
5517
         return RefTable_Data[(size / 2) - 1];
5605
         return RefTable_Data[(size / 2) - 1];
5518
     }
5606
     }
5519
-        printf("CurrentAdc : %f     TableAdc : %f \r\n",CurrentAdc,TableAdc);
5607
+//        printf("CurrentAdc : %f     TableAdc : %f \r\n",CurrentAdc,TableAdc);
5520
 //        for(int a = 0; a < sizeof(AGC_dBm_t); a++)
5608
 //        for(int a = 0; a < sizeof(AGC_dBm_t); a++)
5521
 //            printf("AutoControl_Save[%d] : %d \r\n",a,AutoControl_Save[a]);
5609
 //            printf("AutoControl_Save[%d] : %d \r\n",a,AutoControl_Save[a]);
5522
     if(first_data < CurrentAdc){
5610
     if(first_data < CurrentAdc){
5523
-        printf("(RefTable_Data[0]) : %d \r\n",(RefTable_Data[0]));
5611
+//        printf("(RefTable_Data[0]) : %d \r\n",(RefTable_Data[0]));
5524
         return (RefTable_Data[0]);
5612
         return (RefTable_Data[0]);
5525
     }else{
5613
     }else{
5526
-        printf("Nomal _Table Data %f",(RefTable_Data[LastIndex] - (dot * 0.1)));
5527
-        printf("LastIndex : %d  / dot : %d  TableAdc : %f \r\n",LastIndex,dot,(RefTable_Data[LastIndex] - (dot * 0.1)));
5614
+//        printf("Nomal _Table Data %f",(RefTable_Data[LastIndex] - (dot * 0.1)));
5615
+//        printf("LastIndex : %d  / dot : %d  TableAdc : %f \r\n",LastIndex,dot,(RefTable_Data[LastIndex] - (dot * 0.1)));
5528
         return (RefTable_Data[LastIndex] - (dot * 0.1));
5616
         return (RefTable_Data[LastIndex] - (dot * 0.1));
5529
     }
5617
     }
5530
 }
5618
 }
@@ -5714,7 +5802,7 @@ void ALC_Package_Operate(uint8_t*ULO_ADC_Level,uint8_t* ULO_Level,DET_TABLEUL_st
5714
     /*ADC Value*/
5802
     /*ADC Value*/
5715
     ret  =  ((ULO_ADC_Level[ULO_ALC_H] << 8 | ULO_ADC_Level[ULO_ALC_L]) * 0.001);
5803
     ret  =  ((ULO_ADC_Level[ULO_ALC_H] << 8 | ULO_ADC_Level[ULO_ALC_L]) * 0.001);
5716
     /*Curr UL Value*/
5804
     /*Curr UL Value*/
5717
-    ResdBm = AutoControl_ADC_Compare(ret,&UL_Table->Table_Det_15_dBm_H,UL_Table->Table_Length * 2,&ALC_Table_ref[TableIndex].DET_UL_0);
5805
+    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]);
5718
     //ret 현재 Voltage 값 출력
5806
     //ret 현재 Voltage 값 출력
5719
     //ret 에 따른 현재 DBM 구현
5807
     //ret 에 따른 현재 DBM 구현
5720
     ResultData = ResdBm;
5808
     ResultData = ResdBm;
@@ -5769,7 +5857,7 @@ int16_t ResultData = 0;
5769
 
5857
 
5770
     ret  =  ((ULO_ADC_Level[ULO_ALC_H] << 8 | ULO_ADC_Level[ULO_ALC_L]) * 0.001);
5858
     ret  =  ((ULO_ADC_Level[ULO_ALC_H] << 8 | ULO_ADC_Level[ULO_ALC_L]) * 0.001);
5771
     /*Curr UL Value*/
5859
     /*Curr UL Value*/
5772
-    ResdBm = AutoControl_ADC_Compare(ret,&UL_Table->Table_Det_15_dBm_H,UL_Table->Table_Length * 2,&ALC_Table_ref[TableIndex].DET_UL_0);
5860
+    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]);
5773
     //ret 현재 Voltage 값 출력
5861
     //ret 현재 Voltage 값 출력
5774
     //ret 에 따른 현재 DBM 구현
5862
     //ret 에 따른 현재 DBM 구현
5775
     ResultData = ResdBm;
5863
     ResultData = ResdBm;
@@ -5807,7 +5895,7 @@ void ALC_Function(){ //DL
5807
 //    uint8_t tempadc[256];
5895
 //    uint8_t tempadc[256];
5808
 
5896
 
5809
     
5897
     
5810
-//    Bluecell_StructCpy(&AutoControl_Save[0],&ALC_Table_ref.DET_UL_0,sizeof(ALC_dBm_t));
5898
+//    Bluecell_StructCpy(&AutoControl_Save[0],&UL_DET_Table_ref[TABLE_MAX_VALUE],sizeof(ALC_dBm_t));
5811
 //    Bluecell_StructCpy(&tempadc[0],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
5899
 //    Bluecell_StructCpy(&tempadc[0],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
5812
     if(ALCTimerCnt > 500){
5900
     if(ALCTimerCnt > 500){
5813
         if(bluecell_Currdatastatus.ULO_ALC_ON_OFF == true){
5901
         if(bluecell_Currdatastatus.ULO_ALC_ON_OFF == true){
@@ -5827,7 +5915,7 @@ void ALC_Function(){ //DL
5827
             //ret 현재 Voltage 값 출력
5915
             //ret 현재 Voltage 값 출력
5828
             //ret 에 따른 현재 DBM 구현
5916
             //ret 에 따른 현재 DBM 구현
5829
 #if 0 // PYJ.2020.06.26_BEGIN -- 
5917
 #if 0 // PYJ.2020.06.26_BEGIN -- 
5830
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL1_Ref_Index].DET_UL_0;
5918
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL1_Ref_Index][TABLE_MAX_VALUE];
5831
             ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
5919
             ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
5832
             ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
5920
             ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
5833
             ret *= 0.001;
5921
             ret *= 0.001;
@@ -5971,7 +6059,7 @@ void ALC_Function(){ //DL
5971
 
6059
 
5972
             //ret 현재 Voltage 값 출력
6060
             //ret 현재 Voltage 값 출력
5973
             //ret 에 따른 현재 DBM 구현
6061
             //ret 에 따른 현재 DBM 구현
5974
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0;
6062
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE];
5975
             ret  = bluecell_Currdatastatus.ULO_P2_Level2_H << 8;
6063
             ret  = bluecell_Currdatastatus.ULO_P2_Level2_H << 8;
5976
             ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6064
             ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
5977
             ret *= 0.001;
6065
             ret *= 0.001;
@@ -6005,7 +6093,7 @@ void ALC_Function(){ //DL
6005
                         /***************************************************************************************************************/            
6093
                         /***************************************************************************************************************/            
6006
                         //ret 현재 Voltage 값 출력
6094
                         //ret 현재 Voltage 값 출력
6007
                         //ret 에 따른 현재 DBM 구현
6095
                         //ret 에 따른 현재 DBM 구현
6008
-                        ALC_Table = &ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0;
6096
+                        ALC_Table = &UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE];
6009
                         ret  = bluecell_Currdatastatus.ULO_P2_Level2_H << 8;
6097
                         ret  = bluecell_Currdatastatus.ULO_P2_Level2_H << 8;
6010
                         ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6098
                         ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6011
                         ret *= 0.001;
6099
                         ret *= 0.001;
@@ -6079,7 +6167,7 @@ void ALC_Function(){ //DL
6079
 #if 0 // PYJ.2020.06.25_BEGIN -- 
6167
 #if 0 // PYJ.2020.06.25_BEGIN -- 
6080
             //ret 현재 Voltage 값 출력
6168
             //ret 현재 Voltage 값 출력
6081
             //ret 에 따른 현재 DBM 구현
6169
             //ret 에 따른 현재 DBM 구현
6082
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL3_Ref_Index].DET_UL_0;
6170
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL3_Ref_Index][TABLE_MAX_VALUE];
6083
             ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6171
             ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6084
             ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6172
             ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6085
             ret *= 0.001;
6173
             ret *= 0.001;
@@ -6117,7 +6205,7 @@ void ALC_Function(){ //DL
6117
                         /***************************************************************************************************************/            
6205
                         /***************************************************************************************************************/            
6118
                         //ret 현재 Voltage 값 출력
6206
                         //ret 현재 Voltage 값 출력
6119
                         //ret 에 따른 현재 DBM 구현
6207
                         //ret 에 따른 현재 DBM 구현
6120
-                        ALC_Table = &ALC_Table_ref[ALC_Table_UL3_Ref_Index].DET_UL_0;
6208
+                        ALC_Table = &UL_DET_Table_ref[ALC_Table_UL3_Ref_Index][TABLE_MAX_VALUE];
6121
                         ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6209
                         ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6122
                         ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6210
                         ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6123
                         ret *= 0.001;
6211
                         ret *= 0.001;
@@ -6178,7 +6266,7 @@ void ALC_Function(){ //DL
6178
 
6266
 
6179
             //ret 현재 Voltage 값 출력
6267
             //ret 현재 Voltage 값 출력
6180
             //ret 에 따른 현재 DBM 구현
6268
             //ret 에 따른 현재 DBM 구현
6181
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL4_Ref_Index].DET_UL_0;
6269
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL4_Ref_Index][TABLE_MAX_VALUE];
6182
             ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6270
             ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6183
             ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6271
             ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6184
             ret *= 0.001;
6272
             ret *= 0.001;
@@ -6217,7 +6305,7 @@ void ALC_Function(){ //DL
6217
                         /***************************************************************************************************************/            
6305
                         /***************************************************************************************************************/            
6218
                         //ret 현재 Voltage 값 출력
6306
                         //ret 현재 Voltage 값 출력
6219
                         //ret 에 따른 현재 DBM 구현
6307
                         //ret 에 따른 현재 DBM 구현
6220
-                        ALC_Table = &ALC_Table_ref[ALC_Table_UL4_Ref_Index].DET_UL_0;
6308
+                        ALC_Table = &UL_DET_Table_ref[ALC_Table_UL4_Ref_Index][TABLE_MAX_VALUE];
6221
                         ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6309
                         ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6222
                         ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6310
                         ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6223
                         ret *= 0.001;
6311
                         ret *= 0.001;
@@ -6275,7 +6363,7 @@ void ALC_Function(){ //DL
6275
             ALCTimerCnt = 0;
6363
             ALCTimerCnt = 0;
6276
         }else{
6364
         }else{
6277
 #if 0 // PYJ.2020.06.21_BEGIN -- 
6365
 #if 0 // PYJ.2020.06.21_BEGIN -- 
6278
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL1_Ref_Index].DET_UL_0;
6366
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL1_Ref_Index][TABLE_MAX_VALUE];
6279
             ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
6367
             ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
6280
             ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
6368
             ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
6281
             ret *= 0.001;
6369
             ret *= 0.001;
@@ -6322,11 +6410,11 @@ void ALC_Function(){ //DL
6322
             ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6410
             ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6323
             ret *= 0.001;
6411
             ret *= 0.001;
6324
 
6412
 
6325
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0;
6326
-            Bluecell_StructCpy(&AutoControl_Save[0][0],&ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0,sizeof(ALC_dBm_t));
6413
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE];
6414
+            Bluecell_StructCpy(&AutoControl_Save[0][0],&UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE],sizeof(ALC_dBm_t));
6327
 //            for(int i = 0; i < sizeof(ALC_dBm_t); i++)
6415
 //            for(int i = 0; i < sizeof(ALC_dBm_t); i++)
6328
-//                printf("ref Tabe: %d \r\n",ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_0      );      
6329
-//            printf("ref Tabe: %d \r\n",ALC_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_1      );      
6416
+//                printf("ref Tabe: %d \r\n",UL_DET_Table_ref[ALC_Table_UL2_Ref_Index][TABLE_MAX_VALUE]      );      
6417
+//            printf("ref Tabe: %d \r\n",UL_DET_Table_ref[ALC_Table_UL2_Ref_Index].DET_UL_1      );      
6330
 
6418
 
6331
             ResdBm = AutoControl_ADC_Compare(ret,&Det_UL2.Table_Det_15_dBm_H,Det_UL2.Table_Length * 2,ALC_Table);
6419
             ResdBm = AutoControl_ADC_Compare(ret,&Det_UL2.Table_Det_15_dBm_H,Det_UL2.Table_Length * 2,ALC_Table);
6332
             ResultData = ResdBm;
6420
             ResultData = ResdBm;
@@ -6348,7 +6436,7 @@ void ALC_Function(){ //DL
6348
 
6436
 
6349
 #if 1 // PYJ.2020.06.20_BEGIN -- 
6437
 #if 1 // PYJ.2020.06.20_BEGIN -- 
6350
 #if 0 // PYJ.2020.06.21_BEGIN -- 
6438
 #if 0 // PYJ.2020.06.21_BEGIN -- 
6351
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL3_Ref_Index].DET_UL_0;
6439
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL3_Ref_Index][TABLE_MAX_VALUE];
6352
 
6440
 
6353
             ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6441
             ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6354
             ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6442
             ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
@@ -6369,7 +6457,7 @@ void ALC_Function(){ //DL
6369
 #endif // PYJ.2020.06.21_END --             
6457
 #endif // PYJ.2020.06.21_END --             
6370
 
6458
 
6371
 #if 1 // PYJ.2020.06.22_BEGIN -- 
6459
 #if 1 // PYJ.2020.06.22_BEGIN -- 
6372
-            ALC_Table = &ALC_Table_ref[ALC_Table_UL4_Ref_Index].DET_UL_0;
6460
+            ALC_Table = &UL_DET_Table_ref[ALC_Table_UL4_Ref_Index][TABLE_MAX_VALUE];
6373
 
6461
 
6374
             ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6462
             ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6375
             ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6463
             ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
@@ -6461,12 +6549,12 @@ void AGC_Package_Operate(uint8_t* Threshold,uint8_t* DL_MainAtten,uint8_t Tablei
6461
         int16_t Limitdata = 0;
6549
         int16_t Limitdata = 0;
6462
         int16_t IwillgiveAtten = 0;
6550
         int16_t IwillgiveAtten = 0;
6463
         int16_t ResultData = 0;
6551
         int16_t ResultData = 0;
6464
-        int8_t* AGC_Table;// = &AGC_Table_ref[MBIC_Table_DL1_INDEX].DET_DL_0;
6552
+        int8_t* AGC_Table;// = &DL_DET_Table_ref[MBIC_Table_DL1_INDEX][TABLE_MAX_VALUE];
6465
         Limitdata = Threshold[DLI_AGC_H] << 8;
6553
         Limitdata = Threshold[DLI_AGC_H] << 8;
6466
         Limitdata += Threshold[DLI_AGC_L];
6554
         Limitdata += Threshold[DLI_AGC_L];
6467
         Limitdata *= 0.1; 
6555
         Limitdata *= 0.1; 
6468
 
6556
 
6469
-        AGC_Table = &AGC_Table_ref[Tableindex].DET_DL_0;
6557
+        AGC_Table = &DL_DET_Table_ref[Tableindex][TABLE_MAX_VALUE];
6470
         ret  = DLI_ADC_Level[DLI_AGC_H] << 8;
6558
         ret  = DLI_ADC_Level[DLI_AGC_H] << 8;
6471
         ret += DLI_ADC_Level[DLI_AGC_L];
6559
         ret += DLI_ADC_Level[DLI_AGC_L];
6472
         ret *= 0.001;
6560
         ret *= 0.001;
@@ -6507,7 +6595,7 @@ void DL_Det_Function(uint8_t Table_Num,uint8_t* CurrADC_Level,uint8_t* Det_Val,u
6507
     double ret = 0;//  
6595
     double ret = 0;//  
6508
     uint8_t* AGC_Table;
6596
     uint8_t* AGC_Table;
6509
     int16_t Levelret = 0;    
6597
     int16_t Levelret = 0;    
6510
-    AGC_Table = &AGC_Table_ref[Table_Num].DET_DL_0;
6598
+    AGC_Table = &DL_DET_Table_ref[Table_Num][TABLE_MAX_VALUE];
6511
     ret = (((CurrADC_Level[DL_Level_H] << 8) | CurrADC_Level[DL_Level_L]) * 0.001);
6599
     ret = (((CurrADC_Level[DL_Level_H] << 8) | CurrADC_Level[DL_Level_L]) * 0.001);
6512
                 
6600
                 
6513
     Levelret = (int16_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_Val,33,AGC_Table));
6601
     Levelret = (int16_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_Val,33,AGC_Table));
@@ -6523,7 +6611,7 @@ void AGC_Function(){//DL
6523
     int16_t Limitdata = 0;
6611
     int16_t Limitdata = 0;
6524
     int16_t IwillgiveAtten = 0;
6612
     int16_t IwillgiveAtten = 0;
6525
     int16_t ResultData = 0;
6613
     int16_t ResultData = 0;
6526
-    static int8_t* AGC_Table;// = &AGC_Table_ref[MBIC_Table_DL1_INDEX].DET_DL_0;
6614
+    static int8_t* AGC_Table;// = &DL_DET_Table_ref[MBIC_Table_DL1_INDEX][TABLE_MAX_VALUE];
6527
     int16_t DL_Curr_Atten[AGC_Alarm_DL_Index_MAX] = {
6615
     int16_t DL_Curr_Atten[AGC_Alarm_DL_Index_MAX] = {
6528
         bluecell_Currdatastatus.ATT_DL1_H  << 8 | bluecell_Currdatastatus.ATT_DL1_L,
6616
         bluecell_Currdatastatus.ATT_DL1_H  << 8 | bluecell_Currdatastatus.ATT_DL1_L,
6529
         bluecell_Currdatastatus.ATT_DL2_H  << 8 | bluecell_Currdatastatus.ATT_DL2_L,
6617
         bluecell_Currdatastatus.ATT_DL2_H  << 8 | bluecell_Currdatastatus.ATT_DL2_L,
@@ -6559,7 +6647,7 @@ void AGC_Function(){//DL
6559
             }
6647
             }
6560
         }
6648
         }
6561
 #if 0 // PYJ.2020.06.23_BEGIN -- 
6649
 #if 0 // PYJ.2020.06.23_BEGIN -- 
6562
-            AGC_Table = &AGC_Table_ref[MBIC_Table_DL1_INDEX].DET_DL_0;
6650
+            AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL1_INDEX][TABLE_MAX_VALUE];
6563
             ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6651
             ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6564
             ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6652
             ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6565
             ret *= 0.001;
6653
             ret *= 0.001;
@@ -6585,7 +6673,7 @@ void AGC_Function(){//DL
6585
 #if 1 // PYJ.2020.05.25_BEGIN -- 
6673
 #if 1 // PYJ.2020.05.25_BEGIN -- 
6586
 #if 1// PYJ.2020.06.22_BEGIN -- 
6674
 #if 1// PYJ.2020.06.22_BEGIN -- 
6587
 #if 0 // PYJ.2020.06.23_BEGIN -- 
6675
 #if 0 // PYJ.2020.06.23_BEGIN -- 
6588
-       AGC_Table = &AGC_Table_ref[MBIC_Table_DL2_INDEX].DET_DL_0;
6676
+       AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL2_INDEX][TABLE_MAX_VALUE];
6589
        ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6677
        ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6590
        ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6678
        ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6591
        ret *= 0.001;
6679
        ret *= 0.001;
@@ -6607,7 +6695,7 @@ void AGC_Function(){//DL
6607
        CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
6695
        CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
6608
 #endif // PYJ.2020.06.23_END -- 
6696
 #endif // PYJ.2020.06.23_END -- 
6609
 #if 0 // PYJ.2020.06.27_BEGIN -- 
6697
 #if 0 // PYJ.2020.06.27_BEGIN -- 
6610
-        AGC_Table = &AGC_Table_ref[MBIC_Table_DL1_INDEX].DET_DL_0;
6698
+        AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL1_INDEX][TABLE_MAX_VALUE];
6611
         ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6699
         ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6612
         ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6700
         ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6613
         ret *= 0.001;
6701
         ret *= 0.001;
@@ -6666,7 +6754,7 @@ void AGC_Function(){//DL
6666
 
6754
 
6667
 #endif // PYJ.2020.06.27_END -- 
6755
 #endif // PYJ.2020.06.27_END -- 
6668
 #if 0 // PYJ.2020.06.27_BEGIN -- 
6756
 #if 0 // PYJ.2020.06.27_BEGIN -- 
6669
-        AGC_Table = &AGC_Table_ref[MBIC_Table_DL2_INDEX].DET_DL_0;
6757
+        AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL2_INDEX][TABLE_MAX_VALUE];
6670
         ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6758
         ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6671
         ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6759
         ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6672
         ret *= 0.001;
6760
         ret *= 0.001;
@@ -6698,7 +6786,7 @@ void AGC_Function(){//DL
6698
         }
6786
         }
6699
 
6787
 
6700
 
6788
 
6701
-        AGC_Table = &AGC_Table_ref[MBIC_Table_DL3_INDEX].DET_DL_0;
6789
+        AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL3_INDEX][TABLE_MAX_VALUE];
6702
         ret  = bluecell_Currdatastatus.DLI_P3_Level3_H << 8;
6790
         ret  = bluecell_Currdatastatus.DLI_P3_Level3_H << 8;
6703
         ret += bluecell_Currdatastatus.DLI_P3_Level3_L;   
6791
         ret += bluecell_Currdatastatus.DLI_P3_Level3_L;   
6704
         ret *= 0.001;
6792
         ret *= 0.001;
@@ -6731,7 +6819,7 @@ void AGC_Function(){//DL
6731
 //        printf("DL_Curr_Atten[AGC_Alarm_DL3_Index] : %d  \r\n",DL_Curr_Atten[AGC_Alarm_DL3_Index]);
6819
 //        printf("DL_Curr_Atten[AGC_Alarm_DL3_Index] : %d  \r\n",DL_Curr_Atten[AGC_Alarm_DL3_Index]);
6732
 //            IwillgiveAtten < DL_Curr_Atten[AGC_Alarm_DL3_Index];
6820
 //            IwillgiveAtten < DL_Curr_Atten[AGC_Alarm_DL3_Index];
6733
         
6821
         
6734
-        AGC_Table = &AGC_Table_ref[MBIC_Table_DL4_INDEX].DET_DL_0;
6822
+        AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL4_INDEX][TABLE_MAX_VALUE];
6735
         ret  = bluecell_Currdatastatus.DLI_P4_Level4_H << 8;
6823
         ret  = bluecell_Currdatastatus.DLI_P4_Level4_H << 8;
6736
         ret += bluecell_Currdatastatus.DLI_P4_Level4_L;   
6824
         ret += bluecell_Currdatastatus.DLI_P4_Level4_L;   
6737
         ret *= 0.001;
6825
         ret *= 0.001;
@@ -6767,7 +6855,7 @@ void AGC_Function(){//DL
6767
 
6855
 
6768
 
6856
 
6769
 #if 0 // PYJ.2020.06.23_BEGIN -- 
6857
 #if 0 // PYJ.2020.06.23_BEGIN -- 
6770
-            AGC_Table = &AGC_Table_ref[MBIC_Table_DL4_INDEX].DET_DL_0;
6858
+            AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL4_INDEX][TABLE_MAX_VALUE];
6771
 
6859
 
6772
             ret  = bluecell_Currdatastatus.DLI_P4_Level4_H << 8;
6860
             ret  = bluecell_Currdatastatus.DLI_P4_Level4_H << 8;
6773
             ret += bluecell_Currdatastatus.DLI_P4_Level4_L;   
6861
             ret += bluecell_Currdatastatus.DLI_P4_Level4_L;   
@@ -6802,7 +6890,7 @@ void AGC_Function(){//DL
6802
         }else{
6890
         }else{
6803
 
6891
 
6804
 #if 0 // PYJ.2020.07.01_BEGIN -- 
6892
 #if 0 // PYJ.2020.07.01_BEGIN -- 
6805
-            AGC_Table = &AGC_Table_ref[MBIC_Table_DL1_INDEX].DET_DL_0;
6893
+            AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL1_INDEX][TABLE_MAX_VALUE];
6806
             ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6894
             ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6807
             ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6895
             ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6808
             ret *= 0.001;
6896
             ret *= 0.001;
@@ -6830,7 +6918,7 @@ void AGC_Function(){//DL
6830
 //            HAL_Delay(1000);
6918
 //            HAL_Delay(1000);
6831
 
6919
 
6832
 #if 1 // PYJ.2020.06.23_BEGIN -- 
6920
 #if 1 // PYJ.2020.06.23_BEGIN -- 
6833
-            AGC_Table = &AGC_Table_ref[MBIC_Table_DL2_INDEX].DET_DL_0;
6921
+            AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL2_INDEX][TABLE_MAX_VALUE];
6834
             ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6922
             ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6835
             ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6923
             ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6836
             ret *= 0.001;
6924
             ret *= 0.001;
@@ -6840,7 +6928,7 @@ void AGC_Function(){//DL
6840
             bluecell_Currdatastatus.DLI_Level2_L = (Levelret & 0x00FF);
6928
             bluecell_Currdatastatus.DLI_Level2_L = (Levelret & 0x00FF);
6841
 
6929
 
6842
             
6930
             
6843
-            AGC_Table = &AGC_Table_ref[MBIC_Table_DL3_INDEX].DET_DL_0;
6931
+            AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL3_INDEX][TABLE_MAX_VALUE];
6844
             ret  = bluecell_Currdatastatus.DLI_P3_Level3_H << 8;
6932
             ret  = bluecell_Currdatastatus.DLI_P3_Level3_H << 8;
6845
             ret += bluecell_Currdatastatus.DLI_P3_Level3_L;   
6933
             ret += bluecell_Currdatastatus.DLI_P3_Level3_L;   
6846
             ret *= 0.001;
6934
             ret *= 0.001;
@@ -6858,7 +6946,7 @@ void AGC_Function(){//DL
6858
             
6946
             
6859
             
6947
             
6860
             Levelret = (int16_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,Det_DL4.Table_Length * 2,AGC_Table));
6948
             Levelret = (int16_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,Det_DL4.Table_Length * 2,AGC_Table));
6861
-            AGC_Table = &AGC_Table_ref[MBIC_Table_DL4_INDEX].DET_DL_0;
6949
+            AGC_Table = &DL_DET_Table_ref[MBIC_Table_DL4_INDEX][TABLE_MAX_VALUE];
6862
             bluecell_Currdatastatus.DLI_Level4_H = (Levelret & 0xFF00) >> 8;
6950
             bluecell_Currdatastatus.DLI_Level4_H = (Levelret & 0xFF00) >> 8;
6863
             bluecell_Currdatastatus.DLI_Level4_L = (Levelret & 0x00FF);
6951
             bluecell_Currdatastatus.DLI_Level4_L = (Levelret & 0x00FF);
6864
 #endif // PYJ.2020.06.23_END -- 
6952
 #endif // PYJ.2020.06.23_END -- 

+ 84 - 91
Bluecell_Src/eeprom.c

@@ -117,8 +117,33 @@ void EEPROM_M24C08_Init(void){
117
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
117
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
118
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
118
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
119
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
119
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
120
-
121
-#if 0 // PYJ.2020.06.28_BEGIN -- 
120
+//    printf("TableDL 1_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_DL1.Table_Length,Att_DL1.Table_Ref);
121
+//    printf("TableDL 2_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_DL2.Table_Length,Att_DL2.Table_Ref);
122
+//    printf("TableDL 3_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_DL3.Table_Length,Att_DL3.Table_Ref);    
123
+//    printf("TableDL 4_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_DL4.Table_Length,Att_DL4.Table_Ref);
124
+//    printf("TableUL 1_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_UL1.Table_Length,Att_UL1.Table_Ref);
125
+//    printf("TableUL 2_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_UL2.Table_Length,Att_UL2.Table_Ref);
126
+//    printf("TableUL 3_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_UL3.Table_Length,Att_UL3.Table_Ref);    
127
+//    printf("TableUL 4_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Att_UL4.Table_Length,Att_UL4.Table_Ref);    
128
+//
129
+//    printf("TableDL 1_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL1.Table_Length,Det_DL1.Table_Ref);
130
+//    printf("TableDL 2_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL2.Table_Length,Det_DL2.Table_Ref);
131
+//    printf("TableDL 3_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL3.Table_Length,Det_DL3.Table_Ref);    
132
+//    printf("TableDL 4_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL4.Table_Length,Det_DL4.Table_Ref);
133
+//    printf("TableUL 1_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL1.Table_Length,Det_DL1.Table_Ref);
134
+//    printf("TableUL 2_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL2.Table_Length,Det_DL2.Table_Ref);
135
+//    printf("TableUL 3_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL3.Table_Length,Det_DL3.Table_Ref);    
136
+//    printf("TableUL 4_Init START ORIGIN TABLE LENGTH  %d / Ref : %d \r\n",Det_DL4.Table_Length,Det_DL4.Table_Ref);    
137
+//    printf("DL1\r\n");    Table_DET_DataSetting(&DL_Table_ref[AGC_Table_DL1_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_DL1.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_DL1.Table_Length);
138
+//    printf("DL2\r\n");    Table_DET_DataSetting(&DL_Table_ref[AGC_Table_DL2_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_DL2.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_DL2.Table_Length);
139
+//    printf("DL3\r\n");    Table_DET_DataSetting(&DL_Table_ref[AGC_Table_DL3_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_DL3.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_DL3.Table_Length);
140
+//    printf("DL4\r\n");    Table_DET_DataSetting(&DL_Table_ref[AGC_Table_DL4_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_DL4.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_DL4.Table_Length);
141
+//    printf("UL1\r\n");    Table_DET_DataSetting(&UL_Table_ref[ALC_Table_UL1_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_UL1.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_UL1.Table_Length);
142
+//    printf("UL2\r\n");    Table_DET_DataSetting(&UL_Table_ref[ALC_Table_UL2_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_UL2.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_UL2.Table_Length);
143
+//    printf("UL3\r\n");    Table_DET_DataSetting(&UL_Table_ref[ALC_Table_UL3_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_UL3.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_UL3.Table_Length);
144
+//    printf("UL4\r\n");    Table_DET_DataSetting(&UL_Table_ref[ALC_Table_UL4_Ref_Index][DLUL_TABLE_MAX_VALUE],Det_UL4.Table_Ref ,TableDataSetting_ATT_DET_STEP,Det_UL4.Table_Length);
145
+
146
+#if 1// PYJ.2020.06.28_BEGIN -- 
122
     DL_Main_Atten[Test_DL1] = (bluecell_Currdatastatus.ATT_DL1_H << 8) | bluecell_Currdatastatus.ATT_DL1_L;
147
     DL_Main_Atten[Test_DL1] = (bluecell_Currdatastatus.ATT_DL1_H << 8) | bluecell_Currdatastatus.ATT_DL1_L;
123
     DL_Main_Atten[Test_DL2] = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
148
     DL_Main_Atten[Test_DL2] = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
124
     DL_Main_Atten[Test_DL3] = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
149
     DL_Main_Atten[Test_DL3] = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
@@ -184,65 +209,65 @@ void EEPROM_M24C08_Init(void){
184
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
209
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
185
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
210
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
186
 //    bluecell_Currdatastatus.CPUVERSION3 = 8;
211
 //    bluecell_Currdatastatus.CPUVERSION3 = 8;
187
-#if 1 // PYJ.2020.06.28_BEGIN -- 
212
+#if 0 // PYJ.2020.06.28_BEGIN -- 
188
 
213
 
214
+ 
189
     Att_DL1.Table_Ref = ATTENTABLEDL_REF;
215
     Att_DL1.Table_Ref = ATTENTABLEDL_REF;
190
-    Att_DL2.Table_Ref = ATTENTABLEDL_REF;
191
-    Att_DL3.Table_Ref = ATTENTABLEDL_REF;
192
-    Att_DL4.Table_Ref = ATTENTABLEDL_REF;
193
-    Att_UL1.Table_Ref = ATTENTABLEUL_REF;
194
-    Att_UL2.Table_Ref = ATTENTABLEUL_REF;
195
-    Att_UL3.Table_Ref = ATTENTABLEUL_REF;
196
-    Att_UL4.Table_Ref = ATTENTABLEUL_REF;
197
-    Det_DL1.Table_Ref = ATTENTABLEDET_DL_REF;
198
-    Det_DL2.Table_Ref = ATTENTABLEDET_DL_REF;
199
-    Det_DL3.Table_Ref = ATTENTABLEDET_DL_REF;
200
-    Det_DL4.Table_Ref = ATTENTABLEDET_DL_REF;
201
-    Det_UL1.Table_Ref = ATTENTABLEDET_UL_REF;
202
-    Det_UL2.Table_Ref = ATTENTABLEDET_UL_REF;
203
-    Det_UL3.Table_Ref = ATTENTABLEDET_UL_REF;
204
-    Det_UL4.Table_Ref = ATTENTABLEDET_UL_REF;
205
-    Temp_DL1.Table_Ref= ATTENTABLE_TEMP_REF;
206
-    Temp_DL2.Table_Ref= ATTENTABLE_TEMP_REF;
207
-    Temp_DL3.Table_Ref= ATTENTABLE_TEMP_REF;
208
-    Temp_DL4.Table_Ref= ATTENTABLE_TEMP_REF;
209
-    Temp_UL1.Table_Ref= ATTENTABLE_TEMP_REF;
210
-    Temp_UL2.Table_Ref= ATTENTABLE_TEMP_REF;
211
-    Temp_UL3.Table_Ref= ATTENTABLE_TEMP_REF;
212
-    Temp_UL4.Table_Ref= ATTENTABLE_TEMP_REF;        
213
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
214
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
215
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
216
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
217
-
218
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
219
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
220
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
221
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
222
-
223
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
224
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
225
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
226
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
227
-
228
-
229
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
230
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
231
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
232
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
233
-
234
-
235
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
236
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
237
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
238
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
239
-
240
-
241
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
242
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
243
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
244
-      EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
245
-
216
+     Att_DL2.Table_Ref = ATTENTABLEDL_REF;
217
+     Att_DL3.Table_Ref = ATTENTABLEDL_REF;
218
+     Att_DL4.Table_Ref = ATTENTABLEDL_REF;
219
+     Att_UL1.Table_Ref = ATTENTABLEUL_REF;
220
+     Att_UL2.Table_Ref = ATTENTABLEUL_REF;
221
+     Att_UL3.Table_Ref = ATTENTABLEUL_REF;
222
+     Att_UL4.Table_Ref = ATTENTABLEUL_REF;
223
+     Det_DL1.Table_Ref = ATTENTABLEDET_DL_REF;
224
+     Det_DL2.Table_Ref = ATTENTABLEDET_DL_REF;
225
+     Det_DL3.Table_Ref = ATTENTABLEDET_DL_REF;
226
+     Det_DL4.Table_Ref = ATTENTABLEDET_DL_REF;
227
+     Det_UL1.Table_Ref = ATTENTABLEDET_UL_REF;
228
+     Det_UL2.Table_Ref = ATTENTABLEDET_UL_REF;
229
+     Det_UL3.Table_Ref = ATTENTABLEDET_UL_REF;
230
+     Det_UL4.Table_Ref = ATTENTABLEDET_UL_REF;
231
+     Temp_DL1.Table_Ref= ATTENTABLE_TEMP_REF;
232
+     Temp_DL2.Table_Ref= ATTENTABLE_TEMP_REF;
233
+     Temp_DL3.Table_Ref= ATTENTABLE_TEMP_REF;
234
+     Temp_DL4.Table_Ref= ATTENTABLE_TEMP_REF;
235
+     Temp_UL1.Table_Ref= ATTENTABLE_TEMP_REF;
236
+     Temp_UL2.Table_Ref= ATTENTABLE_TEMP_REF;
237
+     Temp_UL3.Table_Ref= ATTENTABLE_TEMP_REF;
238
+     Temp_UL4.Table_Ref= ATTENTABLE_TEMP_REF;        
239
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
240
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
241
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
242
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
243
+    
244
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
245
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
246
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
247
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
248
+    
249
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
250
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
251
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
252
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
253
+    
254
+    
255
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
256
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
257
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
258
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
259
+    
260
+    
261
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
262
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
263
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
264
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
265
+    
266
+    
267
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
268
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
269
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
270
+       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
246
 #endif // PYJ.2020.06.28_END -- 
271
 #endif // PYJ.2020.06.28_END -- 
247
 
272
 
248
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
273
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
@@ -410,36 +435,4 @@ HAL_StatusTypeDef EEPROM_M24C08_Zerowrite(uint8_t devid,uint16_t Address){
410
 
435
 
411
     return ret;
436
     return ret;
412
 }
437
 }
413
-#define EEPROM_IM24CM01P_ID               0x00A0
414
-#define EEPROM_ATTEN_CURR_ST_LEN          4
415
-
416
-
417
-HAL_StatusTypeDef EEPROM_IM24CM01P_write(uint16_t devid,uint16_t Address,uint8_t* data,uint8_t size){
418
-    HAL_StatusTypeDef ret = HAL_ERROR;
419
-    ret = HAL_I2C_Mem_Write(&hi2c2, devid, Address,  I2C_MEMADD_SIZE_16BIT, data, size, 10);
420
-    HAL_Delay(5);
421
-    return ret;
422
-}
423
-
424
-HAL_StatusTypeDef EEPROM_IM24CM01P_Read(uint16_t devid,uint16_t Address,uint8_t* data,uint8_t size){
425
-   HAL_StatusTypeDef ret = HAL_ERROR;
426
-   ret = HAL_I2C_Mem_Read(&hi2c2, devid, Address, I2C_MEMADD_SIZE_16BIT, data, size, 10);
427
-   HAL_Delay(5);
428
-    return ret;   
429
-}
430
-
431
-
432
-
433
-
434
-
435
-
436
-
437
-
438
-
439
-
440
-
441
-
442
-
443
-
444
-
445
 
438
 

+ 1 - 1
Src/main.c

@@ -641,7 +641,7 @@ static void MX_I2C2_Init(void)
641
 
641
 
642
   /* USER CODE END I2C2_Init 1 */
642
   /* USER CODE END I2C2_Init 1 */
643
   hi2c2.Instance = I2C2;
643
   hi2c2.Instance = I2C2;
644
-  hi2c2.Init.ClockSpeed = 400000;
644
+  hi2c2.Init.ClockSpeed = 100000;
645
   hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
645
   hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
646
   hi2c2.Init.OwnAddress1 = 0;
646
   hi2c2.Init.OwnAddress1 = 0;
647
   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
647
   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;