Sfoglia il codice sorgente

I2C 문제 해결 EEPROM

i2c FASTMODE 에서는 EEPROM DATA WRITE 시 DATA 꺠찜 현상
PYJ 5 anni fa
parent
commit
4b4d2c4443
4 ha cambiato i file con 243 aggiunte e 160 eliminazioni
  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 149
     AGC_Table_DL4_Ref_Index,            
150 150
     AGC_Table_DL_Ref_Index_MAX,      
151 151
 };
152
+#define TABLE_MAX_VALUE 0     
153
+#define TABLE_LENGTH_MAX 70    
152 154
 typedef enum{
153 155
     ALC_Table_UL1_Ref_Index = 0,
154 156
     ALC_Table_UL2_Ref_Index,        
@@ -645,14 +647,14 @@ typedef enum{
645 647
 	ULO_P4_ATT_Accuracy_Table_Number = 0x53,
646 648
 }MBIC_Table_Number;
647 649
 #define ATTENTABLEDLUL_LENGTH 64
648
-#define ATTENTABLEDET_DL_LENGTH 31
650
+#define ATTENTABLEDET_DL_LENGTH 33
649 651
 #define ATTENTABLEDET_UL_LENGTH 46
650 652
 
651 653
 #define ATTENTABLE_TEMP_LENGTH 10
652 654
 
653 655
 #define ATTENTABLEDL_REF   0
654 656
 #define ATTENTABLEUL_REF   0
655
-#define ATTENTABLEDET_DL_REF 5
657
+#define ATTENTABLEDET_DL_REF  7
656 658
 #define ATTENTABLEDET_UL_REF -15
657 659
 #define ATTENTABLE_TEMP_REF  -10
658 660
 
@@ -1131,8 +1133,8 @@ typedef struct{
1131 1133
     uint8_t Table_xx_x_28_dBm;
1132 1134
     uint8_t Table_xx_x_29_dBm;
1133 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 1138
 }ATT_TABLE_st;
1137 1139
 typedef struct{
1138 1140
     uint8_t Table_Det5_dBm_H	;
@@ -1293,8 +1295,8 @@ typedef struct{
1293 1295
     uint8_t Table_Det_xx47_dBm_L	;
1294 1296
     uint8_t Table_Det_xx48_dBm_H	;
1295 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 1300
 }DET_TABLEDL_st;
1299 1301
 typedef struct{
1300 1302
       uint8_t Table_Det_15_dBm_H  ;   
@@ -1455,8 +1457,8 @@ typedef struct{
1455 1457
       uint8_t Table_Det_XX32_dBm_L  ;
1456 1458
       uint8_t Table_Det_XX33_dBm_H  ;   
1457 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 1462
 }DET_TABLEUL_st;
1461 1463
 
1462 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 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 402
      7,6,5,4,3,
403 403
      2,1,0,-1,-2,
404 404
      -3,-4,-5,-6,
@@ -408,7 +408,7 @@ AGC_dBm_t AGC_Table_ref[AGC_Table_DL_Ref_Index_MAX] = {
408 408
      -19,-20,-21,-22,
409 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 412
     -15,    -16,    -17 ,    -18 ,  -19 ,
413 413
     -20,    -21,    -22 ,    -23 ,  -24 ,    -25 ,    -26 ,    -27 ,
414 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 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 455
     uint8_t val = 0;
456 456
     int16_t MBIC_ALC_Val = 0,MBIC_Val = 0,MBIC_UserVal = 0;
457 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 467
 //    for(int a = 0; a < MBIC_Table_INDEX; a++){
468 468
 //        printf("========================START %d=====================================\r\n",a);
@@ -1476,7 +1476,7 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1476 1476
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1477 1477
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1478 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 1481
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEDL_st)) + 7 - 3;
1482 1482
             break;
@@ -1494,14 +1494,14 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1494 1494
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1495 1495
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1496 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 1498
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1499 1499
             break;
1500 1500
         case ULO_P2_Level_Table_Number: 
1501 1501
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1502 1502
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1503 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 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 1510
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1511 1511
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1512 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 1515
             data[BLUECELL_LENGTH_L] = (sizeof(DET_TABLEUL_st)) + 7 - 3;
1516 1516
             break;
@@ -1518,7 +1518,7 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1518 1518
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1519 1519
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1520 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 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 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 2188
 bool Bluecell_Operate(uint8_t* data){
@@ -2113,6 +2198,8 @@ bool Bluecell_Operate(uint8_t* data){
2113 2198
   uint16_t Crcret = 0;
2114 2199
   switch(datatype){
2115 2200
     case BLUECELL_SOFTWARERESET:
2201
+        printf("Bluecell Reset \r\n");
2202
+        Table_LengSet();
2116 2203
         NVIC_SystemReset();
2117 2204
         break;
2118 2205
 	case Bluecell_ATT_DL1 				 :
@@ -4029,6 +4116,7 @@ bool MBIC_Operate(uint8_t* data){
4029 4116
                 NVIC_SystemReset();
4030 4117
                 break;
4031 4118
             case  SW_Reset                                :
4119
+                Table_LengSet();
4032 4120
                 printf("SoftWare Reset Start \r\n");
4033 4121
                 bluecell_Currdatastatus.S_W_Reset = data[MBIC_PAYLOADSTART + 3]; 
4034 4122
                 NVIC_SystemReset();
@@ -5513,18 +5601,18 @@ double AGC_AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t
5513 5601
         
5514 5602
     }
5515 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 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 5608
 //        for(int a = 0; a < sizeof(AGC_dBm_t); a++)
5521 5609
 //            printf("AutoControl_Save[%d] : %d \r\n",a,AutoControl_Save[a]);
5522 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 5612
         return (RefTable_Data[0]);
5525 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 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 5802
     /*ADC Value*/
5715 5803
     ret  =  ((ULO_ADC_Level[ULO_ALC_H] << 8 | ULO_ADC_Level[ULO_ALC_L]) * 0.001);
5716 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 5806
     //ret 현재 Voltage 값 출력
5719 5807
     //ret 에 따른 현재 DBM 구현
5720 5808
     ResultData = ResdBm;
@@ -5769,7 +5857,7 @@ int16_t ResultData = 0;
5769 5857
 
5770 5858
     ret  =  ((ULO_ADC_Level[ULO_ALC_H] << 8 | ULO_ADC_Level[ULO_ALC_L]) * 0.001);
5771 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 5861
     //ret 현재 Voltage 값 출력
5774 5862
     //ret 에 따른 현재 DBM 구현
5775 5863
     ResultData = ResdBm;
@@ -5807,7 +5895,7 @@ void ALC_Function(){ //DL
5807 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 5899
 //    Bluecell_StructCpy(&tempadc[0],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
5812 5900
     if(ALCTimerCnt > 500){
5813 5901
         if(bluecell_Currdatastatus.ULO_ALC_ON_OFF == true){
@@ -5827,7 +5915,7 @@ void ALC_Function(){ //DL
5827 5915
             //ret 현재 Voltage 값 출력
5828 5916
             //ret 에 따른 현재 DBM 구현
5829 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 5919
             ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
5832 5920
             ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
5833 5921
             ret *= 0.001;
@@ -5971,7 +6059,7 @@ void ALC_Function(){ //DL
5971 6059
 
5972 6060
             //ret 현재 Voltage 값 출력
5973 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 6063
             ret  = bluecell_Currdatastatus.ULO_P2_Level2_H << 8;
5976 6064
             ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
5977 6065
             ret *= 0.001;
@@ -6005,7 +6093,7 @@ void ALC_Function(){ //DL
6005 6093
                         /***************************************************************************************************************/            
6006 6094
                         //ret 현재 Voltage 값 출력
6007 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 6097
                         ret  = bluecell_Currdatastatus.ULO_P2_Level2_H << 8;
6010 6098
                         ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6011 6099
                         ret *= 0.001;
@@ -6079,7 +6167,7 @@ void ALC_Function(){ //DL
6079 6167
 #if 0 // PYJ.2020.06.25_BEGIN -- 
6080 6168
             //ret 현재 Voltage 값 출력
6081 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 6171
             ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6084 6172
             ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6085 6173
             ret *= 0.001;
@@ -6117,7 +6205,7 @@ void ALC_Function(){ //DL
6117 6205
                         /***************************************************************************************************************/            
6118 6206
                         //ret 현재 Voltage 값 출력
6119 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 6209
                         ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6122 6210
                         ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
6123 6211
                         ret *= 0.001;
@@ -6178,7 +6266,7 @@ void ALC_Function(){ //DL
6178 6266
 
6179 6267
             //ret 현재 Voltage 값 출력
6180 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 6270
             ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6183 6271
             ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6184 6272
             ret *= 0.001;
@@ -6217,7 +6305,7 @@ void ALC_Function(){ //DL
6217 6305
                         /***************************************************************************************************************/            
6218 6306
                         //ret 현재 Voltage 값 출력
6219 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 6309
                         ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6222 6310
                         ret += bluecell_Currdatastatus.ULO_P4_Level4_L;   
6223 6311
                         ret *= 0.001;
@@ -6275,7 +6363,7 @@ void ALC_Function(){ //DL
6275 6363
             ALCTimerCnt = 0;
6276 6364
         }else{
6277 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 6367
             ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
6280 6368
             ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
6281 6369
             ret *= 0.001;
@@ -6322,11 +6410,11 @@ void ALC_Function(){ //DL
6322 6410
             ret += bluecell_Currdatastatus.ULO_P2_Level2_L;   
6323 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 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 6419
             ResdBm = AutoControl_ADC_Compare(ret,&Det_UL2.Table_Det_15_dBm_H,Det_UL2.Table_Length * 2,ALC_Table);
6332 6420
             ResultData = ResdBm;
@@ -6348,7 +6436,7 @@ void ALC_Function(){ //DL
6348 6436
 
6349 6437
 #if 1 // PYJ.2020.06.20_BEGIN -- 
6350 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 6441
             ret  = bluecell_Currdatastatus.ULO_P3_Level3_H << 8;
6354 6442
             ret += bluecell_Currdatastatus.ULO_P3_Level3_L;   
@@ -6369,7 +6457,7 @@ void ALC_Function(){ //DL
6369 6457
 #endif // PYJ.2020.06.21_END --             
6370 6458
 
6371 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 6462
             ret  = bluecell_Currdatastatus.ULO_P4_Level4_H << 8;
6375 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 6549
         int16_t Limitdata = 0;
6462 6550
         int16_t IwillgiveAtten = 0;
6463 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 6553
         Limitdata = Threshold[DLI_AGC_H] << 8;
6466 6554
         Limitdata += Threshold[DLI_AGC_L];
6467 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 6558
         ret  = DLI_ADC_Level[DLI_AGC_H] << 8;
6471 6559
         ret += DLI_ADC_Level[DLI_AGC_L];
6472 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 6595
     double ret = 0;//  
6508 6596
     uint8_t* AGC_Table;
6509 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 6599
     ret = (((CurrADC_Level[DL_Level_H] << 8) | CurrADC_Level[DL_Level_L]) * 0.001);
6512 6600
                 
6513 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 6611
     int16_t Limitdata = 0;
6524 6612
     int16_t IwillgiveAtten = 0;
6525 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 6615
     int16_t DL_Curr_Atten[AGC_Alarm_DL_Index_MAX] = {
6528 6616
         bluecell_Currdatastatus.ATT_DL1_H  << 8 | bluecell_Currdatastatus.ATT_DL1_L,
6529 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 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 6651
             ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6564 6652
             ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6565 6653
             ret *= 0.001;
@@ -6585,7 +6673,7 @@ void AGC_Function(){//DL
6585 6673
 #if 1 // PYJ.2020.05.25_BEGIN -- 
6586 6674
 #if 1// PYJ.2020.06.22_BEGIN -- 
6587 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 6677
        ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6590 6678
        ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6591 6679
        ret *= 0.001;
@@ -6607,7 +6695,7 @@ void AGC_Function(){//DL
6607 6695
        CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
6608 6696
 #endif // PYJ.2020.06.23_END -- 
6609 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 6699
         ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6612 6700
         ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6613 6701
         ret *= 0.001;
@@ -6666,7 +6754,7 @@ void AGC_Function(){//DL
6666 6754
 
6667 6755
 #endif // PYJ.2020.06.27_END -- 
6668 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 6758
         ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6671 6759
         ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6672 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 6790
         ret  = bluecell_Currdatastatus.DLI_P3_Level3_H << 8;
6703 6791
         ret += bluecell_Currdatastatus.DLI_P3_Level3_L;   
6704 6792
         ret *= 0.001;
@@ -6731,7 +6819,7 @@ void AGC_Function(){//DL
6731 6819
 //        printf("DL_Curr_Atten[AGC_Alarm_DL3_Index] : %d  \r\n",DL_Curr_Atten[AGC_Alarm_DL3_Index]);
6732 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 6823
         ret  = bluecell_Currdatastatus.DLI_P4_Level4_H << 8;
6736 6824
         ret += bluecell_Currdatastatus.DLI_P4_Level4_L;   
6737 6825
         ret *= 0.001;
@@ -6767,7 +6855,7 @@ void AGC_Function(){//DL
6767 6855
 
6768 6856
 
6769 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 6860
             ret  = bluecell_Currdatastatus.DLI_P4_Level4_H << 8;
6773 6861
             ret += bluecell_Currdatastatus.DLI_P4_Level4_L;   
@@ -6802,7 +6890,7 @@ void AGC_Function(){//DL
6802 6890
         }else{
6803 6891
 
6804 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 6894
             ret  = bluecell_Currdatastatus.DLI_P1_Level1_H << 8;
6807 6895
             ret += bluecell_Currdatastatus.DLI_P1_Level1_L;   
6808 6896
             ret *= 0.001;
@@ -6830,7 +6918,7 @@ void AGC_Function(){//DL
6830 6918
 //            HAL_Delay(1000);
6831 6919
 
6832 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 6922
             ret  = bluecell_Currdatastatus.DLI_P2_Level2_H << 8;
6835 6923
             ret += bluecell_Currdatastatus.DLI_P2_Level2_L;   
6836 6924
             ret *= 0.001;
@@ -6840,7 +6928,7 @@ void AGC_Function(){//DL
6840 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 6932
             ret  = bluecell_Currdatastatus.DLI_P3_Level3_H << 8;
6845 6933
             ret += bluecell_Currdatastatus.DLI_P3_Level3_L;   
6846 6934
             ret *= 0.001;
@@ -6858,7 +6946,7 @@ void AGC_Function(){//DL
6858 6946
             
6859 6947
             
6860 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 6950
             bluecell_Currdatastatus.DLI_Level4_H = (Levelret & 0xFF00) >> 8;
6863 6951
             bluecell_Currdatastatus.DLI_Level4_L = (Levelret & 0x00FF);
6864 6952
 #endif // PYJ.2020.06.23_END -- 

+ 84 - 91
Bluecell_Src/eeprom.c

@@ -117,8 +117,33 @@ void EEPROM_M24C08_Init(void){
117 117
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
118 118
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
119 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 147
     DL_Main_Atten[Test_DL1] = (bluecell_Currdatastatus.ATT_DL1_H << 8) | bluecell_Currdatastatus.ATT_DL1_L;
123 148
     DL_Main_Atten[Test_DL2] = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
124 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 209
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
185 210
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
186 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 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 271
 #endif // PYJ.2020.06.28_END -- 
247 272
 
248 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 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 642
   /* USER CODE END I2C2_Init 1 */
643 643
   hi2c2.Instance = I2C2;
644
-  hi2c2.Init.ClockSpeed = 400000;
644
+  hi2c2.Init.ClockSpeed = 100000;
645 645
   hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
646 646
   hi2c2.Init.OwnAddress1 = 0;
647 647
   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;