Explorar el Código

각 Table 별 기준 값 Table 가변 Length 추가 /EEPROM Header Length / Temp Table 저장 기능추가 / EEPROM 저장 기능추가 /

PYJ hace 5 años
padre
commit
0c96c89d0f
Se han modificado 6 ficheros con 292 adiciones y 101 borrados
  1. 52 30
      Bluecell_Inc/Bluecell_operate.h
  2. 8 8
      Bluecell_Inc/eeprom.h
  3. 168 60
      Bluecell_Src/Bluecell_operate.c
  4. 62 1
      Bluecell_Src/eeprom.c
  5. 1 1
      Bluecell_Src/uart.c
  6. 1 1
      Src/main.c

+ 52 - 30
Bluecell_Inc/Bluecell_operate.h

@@ -909,30 +909,30 @@ typedef struct{
909
     int8_t MBIC_TEMP_UL_P2_Level_Table_Ref;
909
     int8_t MBIC_TEMP_UL_P2_Level_Table_Ref;
910
     int8_t MBIC_TEMP_UL_P3_Level_Table_Ref;
910
     int8_t MBIC_TEMP_UL_P3_Level_Table_Ref;
911
     int8_t MBIC_TEMP_UL_P4_Level_Table_Ref;
911
     int8_t MBIC_TEMP_UL_P4_Level_Table_Ref;
912
-    uint8_t BLUECELL_RESERVE25;
913
-    uint8_t BLUECELL_RESERVE26;
914
-    uint8_t BLUECELL_RESERVE27;
915
-    uint8_t BLUECELL_RESERVE28;
916
-    uint8_t BLUECELL_RESERVE29;
917
-    uint8_t BLUECELL_RESERVE30;
918
-    uint8_t BLUECELL_RESERVE31;
919
-    uint8_t BLUECELL_RESERVE32;
920
-    uint8_t BLUECELL_RESERVE33;
921
-    uint8_t BLUECELL_RESERVE34;
922
-    uint8_t BLUECELL_RESERVE35;
923
-    uint8_t BLUECELL_RESERVE36;
924
-    uint8_t BLUECELL_RESERVE37;
925
-    uint8_t BLUECELL_RESERVE38;
926
-    uint8_t BLUECELL_RESERVE39;
927
-    uint8_t BLUECELL_RESERVE40;
928
-    uint8_t BLUECELL_RESERVE41;
929
-    uint8_t BLUECELL_RESERVE42;
930
-    uint8_t BLUECELL_RESERVE43;
931
-    uint8_t BLUECELL_RESERVE44;
932
-    uint8_t BLUECELL_RESERVE45;
933
-    uint8_t BLUECELL_RESERVE46;
934
-    uint8_t BLUECELL_RESERVE47;
935
-    uint8_t BLUECELL_RESERVE48;
912
+    int8_t MBIC_DLI_P1_Table_Length;
913
+    int8_t MBIC_DLI_P2_Table_Length;
914
+    int8_t MBIC_DLI_P3_Table_Length;
915
+    int8_t MBIC_DLI_P4_Table_Length;
916
+    int8_t MBIC_ULO_P1_Table_Length;
917
+    int8_t MBIC_ULO_P2_Table_Length;
918
+    int8_t MBIC_ULO_P3_Table_Length;
919
+    int8_t MBIC_ULO_P4_Table_Length;
920
+    int8_t MBIC_DLI_P1_Level_Table_Length;
921
+    int8_t MBIC_DLI_P2_Level_Table_Length;
922
+    int8_t MBIC_DLI_P3_Level_Table_Length;
923
+    int8_t MBIC_DLI_P4_Level_Table_Length;
924
+    int8_t MBIC_ULO_P1_Level_Table_Length;
925
+    int8_t MBIC_ULO_P2_Level_Table_Length;
926
+    int8_t MBIC_ULO_P3_Level_Table_Length;
927
+    int8_t MBIC_ULO_P4_Level_Table_Length;
928
+    int8_t MBIC_TEMP_DL_P1_Level_Table_Length;
929
+    int8_t MBIC_TEMP_DL_P2_Level_Table_Length;
930
+    int8_t MBIC_TEMP_DL_P3_Level_Table_Length;
931
+    int8_t MBIC_TEMP_DL_P4_Level_Table_Length;
932
+    int8_t MBIC_TEMP_UL_P1_Level_Table_Length;
933
+    int8_t MBIC_TEMP_UL_P2_Level_Table_Length;
934
+    int8_t MBIC_TEMP_UL_P3_Level_Table_Length;
935
+    int8_t MBIC_TEMP_UL_P4_Level_Table_Length;
936
     uint8_t BLUECELL_RESERVE49;
936
     uint8_t BLUECELL_RESERVE49;
937
     uint8_t BLUECELL_RESERVE50;
937
     uint8_t BLUECELL_RESERVE50;
938
     uint8_t BLUECELL_RESERVE51;
938
     uint8_t BLUECELL_RESERVE51;
@@ -1039,8 +1039,8 @@ typedef struct{
1039
     uint8_t Table_xx_x_28_dBm;
1039
     uint8_t Table_xx_x_28_dBm;
1040
     uint8_t Table_xx_x_29_dBm;
1040
     uint8_t Table_xx_x_29_dBm;
1041
     uint8_t Table_xx_x_30_dBm;
1041
     uint8_t Table_xx_x_30_dBm;
1042
-    uint8_t Table_xx_x_31_dBm;
1043
-    uint8_t Table_xx_x_32_dBm;
1042
+    uint8_t Table_Ref;
1043
+    uint8_t Table_Length;
1044
 }ATT_TABLE_st;
1044
 }ATT_TABLE_st;
1045
 typedef struct{
1045
 typedef struct{
1046
     uint8_t Table_Det5_dBm_H	;
1046
     uint8_t Table_Det5_dBm_H	;
@@ -1201,8 +1201,8 @@ typedef struct{
1201
     uint8_t Table_Det_xx47_dBm_L	;
1201
     uint8_t Table_Det_xx47_dBm_L	;
1202
     uint8_t Table_Det_xx48_dBm_H	;
1202
     uint8_t Table_Det_xx48_dBm_H	;
1203
     uint8_t Table_Det_xx48_dBm_L	;
1203
     uint8_t Table_Det_xx48_dBm_L	;
1204
-    uint8_t Table_Det_xx49_dBm_H	;
1205
-    uint8_t Table_Det_xx49_dBm_L	;
1204
+    uint8_t Table_Ref	;
1205
+    uint8_t Table_Length	;
1206
 }DET_TABLEDL_st;
1206
 }DET_TABLEDL_st;
1207
 typedef struct{
1207
 typedef struct{
1208
     uint8_t Table_Det_15_dBm_H  ;   
1208
     uint8_t Table_Det_15_dBm_H  ;   
@@ -1363,8 +1363,8 @@ typedef struct{
1363
       uint8_t Table_Det_XX32_dBm_L  ;
1363
       uint8_t Table_Det_XX32_dBm_L  ;
1364
       uint8_t Table_Det_XX33_dBm_H  ;   
1364
       uint8_t Table_Det_XX33_dBm_H  ;   
1365
       uint8_t Table_Det_XX33_dBm_L  ;
1365
       uint8_t Table_Det_XX33_dBm_L  ;
1366
-      uint8_t Table_Det_XX34_dBm_H  ;   
1367
-      uint8_t Table_Det_XX34_dBm_L  ;
1366
+      uint8_t Table_Ref  ;   
1367
+      uint8_t Table_Length  ;
1368
 }DET_TABLEUL_st;
1368
 }DET_TABLEUL_st;
1369
 
1369
 
1370
 typedef struct{
1370
 typedef struct{
@@ -1378,6 +1378,28 @@ typedef struct{
1378
   int8_t Table_8_Temp;
1378
   int8_t Table_8_Temp;
1379
   int8_t Table_9_Temp;   
1379
   int8_t Table_9_Temp;   
1380
   int8_t Table_10_Temp;
1380
   int8_t Table_10_Temp;
1381
+  int8_t Table_11_Temp;   
1382
+  int8_t Table_12_Temp;
1383
+  int8_t Table_13_Temp;   
1384
+  int8_t Table_14_Temp;
1385
+  int8_t Table_15_Temp;   
1386
+  int8_t Table_16_Temp;
1387
+  int8_t Table_17_Temp;   
1388
+  int8_t Table_18_Temp;
1389
+  int8_t Table_19_Temp;   
1390
+  int8_t Table_20_Temp;
1391
+  int8_t Table_21_Temp;   
1392
+  int8_t Table_22_Temp;
1393
+  int8_t Table_23_Temp;   
1394
+  int8_t Table_24_Temp;
1395
+  int8_t Table_25_Temp;   
1396
+  int8_t Table_26_Temp;
1397
+  int8_t Table_27_Temp;   
1398
+  int8_t Table_28_Temp;
1399
+  int8_t Table_29_Temp;   
1400
+  int8_t Table_30_Temp;  
1401
+  int8_t Table_Ref;
1402
+  int8_t Table_Length;
1381
 }TEMP_TABLE_st;
1403
 }TEMP_TABLE_st;
1382
 typedef enum{
1404
 typedef enum{
1383
   Bluecell_DET_UL1_ADC_INDEX_H = 0,
1405
   Bluecell_DET_UL1_ADC_INDEX_H = 0,

+ 8 - 8
Bluecell_Inc/eeprom.h

@@ -31,14 +31,14 @@
31
 #define EEPROM_DET_UL2_TABLE_ADDRESDS	 (( EEPROM_DET_UL1_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)))     & 0xFFFF)
31
 #define EEPROM_DET_UL2_TABLE_ADDRESDS	 (( EEPROM_DET_UL1_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)))     & 0xFFFF)
32
 #define EEPROM_DET_UL3_TABLE_ADDRESDS	 (( EEPROM_DET_UL2_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)))     & 0xFFFF)
32
 #define EEPROM_DET_UL3_TABLE_ADDRESDS	 (( EEPROM_DET_UL2_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)))     & 0xFFFF)
33
 #define EEPROM_DET_UL4_TABLE_ADDRESDS	 (( EEPROM_DET_UL3_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)))     & 0xFFFF)
33
 #define EEPROM_DET_UL4_TABLE_ADDRESDS	 (( EEPROM_DET_UL3_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)))     & 0xFFFF)
34
-#define EEPROM_TEMP_DL1_TABLE_ADDRESDS	 (( EEPROM_DET_UL4_TABLE_ADDRESDS  + (sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
35
-#define EEPROM_TEMP_DL2_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL1_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
36
-#define EEPROM_TEMP_DL3_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL2_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
37
-#define EEPROM_TEMP_DL4_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL3_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
38
-#define EEPROM_TEMP_UL1_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL4_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
39
-#define EEPROM_TEMP_UL2_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL1_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
40
-#define EEPROM_TEMP_UL3_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL2_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
41
-#define EEPROM_TEMP_UL4_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL3_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+22))     & 0xFFFF)
34
+#define EEPROM_TEMP_DL1_TABLE_ADDRESDS	 (( EEPROM_DET_UL4_TABLE_ADDRESDS  + (sizeof(TEMP_TABLE_st)))     & 0xFFFF)
35
+#define EEPROM_TEMP_DL2_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL1_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
36
+#define EEPROM_TEMP_DL3_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL2_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
37
+#define EEPROM_TEMP_DL4_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL3_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
38
+#define EEPROM_TEMP_UL1_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL4_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
39
+#define EEPROM_TEMP_UL2_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL1_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
40
+#define EEPROM_TEMP_UL3_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL2_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
41
+#define EEPROM_TEMP_UL4_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL3_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)))     & 0xFFFF)
42
 #define EEPROM_USER_ATTEN_VALUE_ADDRESDS (( EEPROM_TEMP_UL4_TABLE_ADDRESDS +( sizeof(USER_ATTEN_st)+16))     & 0xFFFF)
42
 #define EEPROM_USER_ATTEN_VALUE_ADDRESDS (( EEPROM_TEMP_UL4_TABLE_ADDRESDS +( sizeof(USER_ATTEN_st)+16))     & 0xFFFF)
43
 #define EEPROM_WINDOW_STATUS_ADDRESDS	 ((EEPROM_USER_ATTEN_VALUE_ADDRESDS + (sizeof(BLUESTATUS_st))) & 0xFFFF) //96byte
43
 #define EEPROM_WINDOW_STATUS_ADDRESDS	 ((EEPROM_USER_ATTEN_VALUE_ADDRESDS + (sizeof(BLUESTATUS_st))) & 0xFFFF) //96byte
44
 
44
 

+ 168 - 60
Bluecell_Src/Bluecell_operate.c

@@ -1080,12 +1080,12 @@ void Bluecell_structprintf(uint8_t* dst,uint8_t size){
1080
 
1080
 
1081
 
1081
 
1082
 void Bluecell_DataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
1082
 void Bluecell_DataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
1083
-    printf("Setting Start Value\r\n");
1083
+//    printf("Setting Start Value\r\n");
1084
        for(int i = 0; i < size; i++){
1084
        for(int i = 0; i < size; i++){
1085
          dst[i] = src[i];
1085
          dst[i] = src[i];
1086
-         printf("%02x ",src[i]);
1086
+//         printf("%02x ",src[i]);
1087
        }
1087
        }
1088
-        printf("Setting Start Value END \r\n");
1088
+//        printf("Setting Start Value END \r\n");
1089
 
1089
 
1090
 }
1090
 }
1091
 void MBIC_TableDataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
1091
 void MBIC_TableDataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
@@ -1374,121 +1374,195 @@ void Bluecell_TableSave(uint8_t* data,uint8_t type){
1374
     
1374
     
1375
 }
1375
 }
1376
 
1376
 
1377
-
1377
+//uint8_t tableTest[sizeof(DET_TABLEDL_st)] ={0,};
1378
 void MBIC_TableLoad(uint8_t* data,uint8_t type){
1378
 void MBIC_TableLoad(uint8_t* data,uint8_t type){
1379
     uint8_t tabletype = type;
1379
     uint8_t tabletype = type;
1380
 //    OneByteToTwoByte data;
1380
 //    OneByteToTwoByte data;
1381
 //    printf("%s : %x \r\n",__func__,tabletype);
1381
 //    printf("%s : %x \r\n",__func__,tabletype);
1382
 //INDEX :5 COpy Start
1382
 //INDEX :5 COpy Start
1383
     data[MBIC_CMD_0] = 0xC0;
1383
     data[MBIC_CMD_0] = 0xC0;
1384
+    if( data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] > 70)
1385
+         data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = 70;
1386
+
1384
     printf("\r\ntabletype : %d \r\n",tabletype);
1387
     printf("\r\ntabletype : %d \r\n",tabletype);
1385
 
1388
 
1386
     switch(tabletype){
1389
     switch(tabletype){
1387
         case DLI_P1_ATT_Accuracy_Table_Number: 
1390
         case DLI_P1_ATT_Accuracy_Table_Number: 
1388
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1391
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1389
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1392
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1393
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_DL1.Table_Ref; 
1394
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_DL1.Table_Length;
1390
           break;
1395
           break;
1391
         case DLI_P2_ATT_Accuracy_Table_Number: 
1396
         case DLI_P2_ATT_Accuracy_Table_Number: 
1392
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1397
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1393
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1398
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1399
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_DL2.Table_Ref; 
1400
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_DL2.Table_Length;
1394
             break;
1401
             break;
1395
         case DLI_P3_ATT_Accuracy_Table_Number: 
1402
         case DLI_P3_ATT_Accuracy_Table_Number: 
1396
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );               
1403
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );               
1397
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1404
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1405
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_DL3.Table_Ref;
1406
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_DL3.Table_Length;        
1398
             break;
1407
             break;
1399
         case DLI_P4_ATT_Accuracy_Table_Number: 
1408
         case DLI_P4_ATT_Accuracy_Table_Number: 
1400
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );               
1409
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );               
1401
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1410
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1411
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_DL4.Table_Ref;
1412
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_DL4.Table_Length;        
1402
             break;
1413
             break;
1403
         case ULO_P1_ATT_Accuracy_Table_Number: 
1414
         case ULO_P1_ATT_Accuracy_Table_Number: 
1404
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1415
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1405
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1416
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1417
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_UL1.Table_Ref;
1418
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_UL1.Table_Length;
1419
+
1406
         break;
1420
         break;
1407
         case ULO_P2_ATT_Accuracy_Table_Number: 
1421
         case ULO_P2_ATT_Accuracy_Table_Number: 
1408
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1422
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1409
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1423
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1424
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_UL2.Table_Ref;
1425
+
1426
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_UL2.Table_Length;
1427
+
1410
             break;
1428
             break;
1411
         case ULO_P3_ATT_Accuracy_Table_Number: 
1429
         case ULO_P3_ATT_Accuracy_Table_Number: 
1412
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1430
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1413
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1431
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1432
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_UL3.Table_Ref;
1433
+
1434
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_UL3.Table_Length;
1435
+
1414
             break;
1436
             break;
1415
         case ULO_P4_ATT_Accuracy_Table_Number: 
1437
         case ULO_P4_ATT_Accuracy_Table_Number: 
1416
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1438
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1417
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1439
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1440
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Att_UL4.Table_Ref;
1441
+
1442
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Att_UL4.Table_Length;
1443
+
1418
             break;
1444
             break;
1419
         case DLI_P1_Level_Table_Number: 
1445
         case DLI_P1_Level_Table_Number: 
1420
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1446
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1421
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1447
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1422
-            break;
1448
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_DL1.Table_Ref;        
1449
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_DL1.Table_Length;
1450
+
1451
+        break;
1423
         case DLI_P2_Level_Table_Number: 
1452
         case DLI_P2_Level_Table_Number: 
1424
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1453
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1425
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1454
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1455
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_DL2.Table_Ref;
1456
+
1457
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_DL2.Table_Length;        
1458
+
1426
             break;
1459
             break;
1427
         case DLI_P3_Level_Table_Number: 
1460
         case DLI_P3_Level_Table_Number: 
1428
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1461
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1429
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1462
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1463
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_DL3.Table_Ref;
1464
+
1465
+        data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_DL3.Table_Length;        
1466
+
1430
             break;
1467
             break;
1431
         case DLI_P4_Level_Table_Number: 
1468
         case DLI_P4_Level_Table_Number: 
1432
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1469
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1433
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1470
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1471
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_DL4.Table_Ref;
1472
+
1473
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_DL4.Table_Length;        
1474
+
1434
             break;
1475
             break;
1435
         case ULO_P1_Level_Table_Number: 
1476
         case ULO_P1_Level_Table_Number: 
1436
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1477
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1437
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1478
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1479
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_UL1.Table_Ref;
1480
+
1481
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_UL1.Table_Length;
1482
+
1438
             break;
1483
             break;
1439
         case ULO_P2_Level_Table_Number: 
1484
         case ULO_P2_Level_Table_Number: 
1440
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1485
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1441
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1486
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1487
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_UL2.Table_Ref;
1488
+
1489
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_UL2.Table_Length;
1490
+
1442
         
1491
         
1443
             break;
1492
             break;
1444
         case ULO_P3_Level_Table_Number: 
1493
         case ULO_P3_Level_Table_Number: 
1445
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1494
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1446
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1495
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1496
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_UL3.Table_Ref;
1497
+
1498
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_UL3.Table_Length;
1499
+
1447
             break;
1500
             break;
1448
         case ULO_P4_Level_Table_Number: 
1501
         case ULO_P4_Level_Table_Number: 
1449
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1502
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1450
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1503
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1504
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Det_UL4.Table_Ref;
1505
+
1506
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Det_UL4.Table_Length;
1507
+
1451
 
1508
 
1452
             break;
1509
             break;
1453
         case DLI_P1_ATT_Temp_guarantee_Table_Number:
1510
         case DLI_P1_ATT_Temp_guarantee_Table_Number:
1454
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1511
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1455
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1512
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1456
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1513
+
1514
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1515
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_DL1.Table_Ref;        
1516
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_DL1.Table_Length;
1457
             break;
1517
             break;
1458
         case DLI_P2_ATT_Temp_guarantee_Table_Number:
1518
         case DLI_P2_ATT_Temp_guarantee_Table_Number:
1459
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1519
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1460
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1520
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1461
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1521
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1522
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_DL2.Table_Ref;        
1523
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_DL2.Table_Length;        
1462
             break;
1524
             break;
1463
         case DLI_P3_ATT_Temp_guarantee_Table_Number:
1525
         case DLI_P3_ATT_Temp_guarantee_Table_Number:
1464
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1526
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1465
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1527
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1466
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1528
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1529
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_DL3.Table_Ref;        
1530
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_DL3.Table_Length;        
1467
             break;
1531
             break;
1468
         case DLI_P4_ATT_Temp_guarantee_Table_Number:
1532
         case DLI_P4_ATT_Temp_guarantee_Table_Number:
1469
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1533
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1470
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1534
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1471
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1535
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1536
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_DL4.Table_Ref;        
1537
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_DL4.Table_Length;        
1472
             break;
1538
             break;
1473
         case ULO_P1_ATT_Temp_guarantee_Table_Number:
1539
         case ULO_P1_ATT_Temp_guarantee_Table_Number:
1474
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1540
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1475
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1541
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1476
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1542
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1543
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_UL1.Table_Ref;        
1544
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL1.Table_Length;        
1477
             break;
1545
             break;
1478
         case ULO_P2_ATT_Temp_guarantee_Table_Number:
1546
         case ULO_P2_ATT_Temp_guarantee_Table_Number:
1479
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1547
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1480
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1548
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1481
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1549
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1550
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_UL2.Table_Ref;        
1551
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL2.Table_Length;                
1482
             break;
1552
             break;
1483
         case ULO_P3_ATT_Temp_guarantee_Table_Number:
1553
         case ULO_P3_ATT_Temp_guarantee_Table_Number:
1484
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1554
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1485
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1555
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1486
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1556
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1557
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_UL3.Table_Ref;        
1558
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL3.Table_Length;                
1487
             break;
1559
             break;
1488
         case ULO_P4_ATT_Temp_guarantee_Table_Number:
1560
         case ULO_P4_ATT_Temp_guarantee_Table_Number:
1489
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1561
 //            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1490
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1562
             MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1491
-            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1563
+//            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1564
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = Temp_UL4.Table_Ref;        
1565
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL4.Table_Length;                
1492
             break;
1566
             break;
1493
     }
1567
     }
1494
      printf("\r\Load MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);   
1568
      printf("\r\Load MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);   
@@ -1500,32 +1574,39 @@ void MBIC_TableSave(uint8_t* data,uint8_t type){
1500
     uint8_t tabletype = type;
1574
     uint8_t tabletype = type;
1501
     
1575
     
1502
     //printf("%s : %x \r\n",__func__,tabletype);
1576
     //printf("%s : %x \r\n",__func__,tabletype);
1577
+    if( data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] > 70)
1578
+         data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = 70;
1579
+    printf("data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length]  : %d \r\n",sizeof(ATT_TABLE_st)  );
1503
     data[MBIC_CMD_0] = 0xC1;
1580
     data[MBIC_CMD_0] = 0xC1;
1504
     switch(tabletype){
1581
     switch(tabletype){
1505
         case DLI_P1_ATT_Accuracy_Table_Number: 
1582
         case DLI_P1_ATT_Accuracy_Table_Number: 
1506
-            Bluecell_DataCopy(&Att_DL1.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1583
+            Bluecell_DataCopy(&Att_DL1.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1507
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1584
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1508
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1585
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1509
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P1_Table_Ref;    // Check
1586
+            Att_DL1.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1587
+            Att_DL1.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];            
1510
             break;
1588
             break;
1511
         case DLI_P2_ATT_Accuracy_Table_Number: 
1589
         case DLI_P2_ATT_Accuracy_Table_Number: 
1512
-            Bluecell_DataCopy(&Att_DL2.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1590
+            Bluecell_DataCopy(&Att_DL2.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1513
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1591
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1514
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1592
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1515
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P2_Table_Ref;    // Check
1593
+            Att_DL2.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];   // Check
1594
+            Att_DL2.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];            
1516
 //            printf("ADDRESS : %d \r\n",EEPROM_ATT_DL1_TABLE_ADDRESDS );
1595
 //            printf("ADDRESS : %d \r\n",EEPROM_ATT_DL1_TABLE_ADDRESDS );
1517
             break;
1596
             break;
1518
         case DLI_P3_ATT_Accuracy_Table_Number: 
1597
         case DLI_P3_ATT_Accuracy_Table_Number: 
1519
-            Bluecell_DataCopy(&Att_DL3.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1598
+            Bluecell_DataCopy(&Att_DL3.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1520
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1599
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1521
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1600
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1522
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P3_Table_Ref;    // Check
1601
+            Att_DL3.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1602
+            Att_DL3.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];            
1523
             break;
1603
             break;
1524
         case DLI_P4_ATT_Accuracy_Table_Number: 
1604
         case DLI_P4_ATT_Accuracy_Table_Number: 
1525
-            Bluecell_DataCopy(&Att_DL4.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1605
+            Bluecell_DataCopy(&Att_DL4.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1526
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1606
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1527
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1607
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1528
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P4_Table_Ref;    // Check
1608
+            Att_DL4.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1609
+            Att_DL4.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1529
 
1610
 
1530
             break;
1611
             break;
1531
         case ULO_P1_ATT_Accuracy_Table_Number: 
1612
         case ULO_P1_ATT_Accuracy_Table_Number: 
@@ -1533,138 +1614,163 @@ void MBIC_TableSave(uint8_t* data,uint8_t type){
1533
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1614
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1534
         
1615
         
1535
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1616
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1536
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P1_Table_Ref;    // Check
1617
+            Att_UL1.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1618
+            Att_UL1.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1537
             break;
1619
             break;
1538
         case ULO_P2_ATT_Accuracy_Table_Number: 
1620
         case ULO_P2_ATT_Accuracy_Table_Number: 
1539
-            Bluecell_DataCopy(&Att_UL2.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1621
+            Bluecell_DataCopy(&Att_UL2.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1540
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1622
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1541
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1623
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1542
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P2_Table_Ref;    // Check
1624
+            Att_UL2.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1625
+            Att_UL2.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1543
             break;
1626
             break;
1544
         case ULO_P3_ATT_Accuracy_Table_Number: 
1627
         case ULO_P3_ATT_Accuracy_Table_Number: 
1545
-            Bluecell_DataCopy(&Att_UL3.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1628
+            Bluecell_DataCopy(&Att_UL3.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1546
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1629
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1547
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1630
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1548
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P3_Table_Ref;    // Check
1631
+           Att_UL3.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1632
+            Att_UL3.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1549
 
1633
 
1550
             break;
1634
             break;
1551
         case ULO_P4_ATT_Accuracy_Table_Number: 
1635
         case ULO_P4_ATT_Accuracy_Table_Number: 
1552
-            Bluecell_DataCopy(&Att_UL4.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1636
+            Bluecell_DataCopy(&Att_UL4.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st) );
1553
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1637
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1554
 
1638
 
1555
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1639
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1556
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P4_Table_Ref;    // Check
1640
+            Att_UL4.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1641
+            Att_UL4.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1557
 
1642
 
1558
             break;
1643
             break;
1559
         case DLI_P1_Level_Table_Number: 
1644
         case DLI_P1_Level_Table_Number: 
1645
+
1560
             Bluecell_DataCopy(&Det_DL1.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1646
             Bluecell_DataCopy(&Det_DL1.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1561
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1647
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1648
+  //          EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),tableTest,sizeof(DET_TABLEDL_st));
1649
+//            for(int i = 0 ; i < sizeof(DET_TABLEDL_st); i++)
1650
+//                printf("tableTest : %x\r\n",tableTest[i]);
1562
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1651
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1563
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P1_Level_Table_Ref;    // Check
1652
+            Det_DL1.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];    // Check
1653
+            Det_DL1.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1564
 
1654
 
1565
             break;
1655
             break;
1566
         case DLI_P2_Level_Table_Number: 
1656
         case DLI_P2_Level_Table_Number: 
1567
             Bluecell_DataCopy(&Det_DL2.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1657
             Bluecell_DataCopy(&Det_DL2.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1568
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1658
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1569
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1659
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1570
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P2_Level_Table_Ref;    // Check
1660
+            Det_DL2.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];   // Check
1661
+            Det_DL2.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1571
 
1662
 
1572
             break;
1663
             break;
1573
         case DLI_P3_Level_Table_Number: 
1664
         case DLI_P3_Level_Table_Number: 
1574
             Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1665
             Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1575
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1666
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1576
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1667
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1577
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P3_Level_Table_Ref;    // Check
1668
+            Det_DL3.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1669
+            Det_DL3.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1578
 
1670
 
1579
             break;
1671
             break;
1580
         case DLI_P4_Level_Table_Number: 
1672
         case DLI_P4_Level_Table_Number: 
1581
             Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1673
             Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1582
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1674
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1583
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1675
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1584
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P4_Level_Table_Ref;    // Check
1676
+            Det_DL4.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1677
+            Det_DL4.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1585
 
1678
 
1586
             break;
1679
             break;
1587
         case ULO_P1_Level_Table_Number: 
1680
         case ULO_P1_Level_Table_Number: 
1588
             Bluecell_DataCopy(&Det_UL1.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1681
             Bluecell_DataCopy(&Det_UL1.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1589
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1682
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1590
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1683
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1591
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P1_Level_Table_Ref;    // Check
1684
+            Det_UL1.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1685
+            Det_UL1.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1592
 
1686
 
1593
             break;
1687
             break;
1594
         case ULO_P2_Level_Table_Number: 
1688
         case ULO_P2_Level_Table_Number: 
1595
             Bluecell_DataCopy(&Det_UL2.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1689
             Bluecell_DataCopy(&Det_UL2.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1596
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1690
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1597
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1691
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1598
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P2_Level_Table_Ref;    // Check
1692
+        Det_UL2.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1693
+        Det_UL2.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1599
 
1694
 
1600
         break;
1695
         break;
1601
         case ULO_P3_Level_Table_Number: 
1696
         case ULO_P3_Level_Table_Number: 
1602
             Bluecell_DataCopy(&Det_UL3.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1697
             Bluecell_DataCopy(&Det_UL3.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1603
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1698
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1604
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1699
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1605
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P3_Level_Table_Ref;    // Check
1700
+            Det_UL3.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1701
+            Det_UL3.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1606
 
1702
 
1607
             break;
1703
             break;
1608
         case ULO_P4_Level_Table_Number: 
1704
         case ULO_P4_Level_Table_Number: 
1609
             Bluecell_DataCopy(&Det_UL4.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1705
             Bluecell_DataCopy(&Det_UL4.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1610
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1706
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1611
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1707
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1612
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P4_Level_Table_Ref;    // Check
1708
+            Det_UL4.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1709
+            Det_UL4.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1613
 
1710
 
1614
             break;
1711
             break;
1615
         case DLI_P1_ATT_Temp_guarantee_Table_Number:
1712
         case DLI_P1_ATT_Temp_guarantee_Table_Number:
1616
-            Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1713
+            Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1617
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1714
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1618
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1715
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1619
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P1_Level_Table_Ref;    // Check
1716
+            Temp_DL1.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1717
+            Temp_DL1.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1620
 
1718
 
1621
             break;
1719
             break;
1622
         case DLI_P2_ATT_Temp_guarantee_Table_Number:
1720
         case DLI_P2_ATT_Temp_guarantee_Table_Number:
1623
-            Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1721
+            Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1624
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1722
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1625
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1723
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1626
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P2_Level_Table_Ref;    // Check
1724
+            Temp_DL2.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1725
+            Temp_DL2.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1627
 
1726
 
1628
             break;
1727
             break;
1629
         case DLI_P3_ATT_Temp_guarantee_Table_Number:
1728
         case DLI_P3_ATT_Temp_guarantee_Table_Number:
1630
-            Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1729
+            Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1631
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1730
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1632
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1731
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1633
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P3_Level_Table_Ref;    // Check        
1732
+            Temp_DL3.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1733
+            Temp_DL3.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1734
+
1634
             break;
1735
             break;
1635
         case DLI_P4_ATT_Temp_guarantee_Table_Number:
1736
         case DLI_P4_ATT_Temp_guarantee_Table_Number:
1636
-            Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1737
+            Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1637
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1738
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1638
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1739
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1639
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P4_Level_Table_Ref;    // Check
1740
+            Temp_DL4.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1741
+            Temp_DL4.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1640
 
1742
 
1641
             break;
1743
             break;
1642
         case ULO_P1_ATT_Temp_guarantee_Table_Number:
1744
         case ULO_P1_ATT_Temp_guarantee_Table_Number:
1643
-            Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1745
+            Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1644
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1746
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1645
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1747
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1646
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P1_Level_Table_Ref;    // Check
1748
+            Temp_UL1.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1749
+            Temp_UL1.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1647
 
1750
 
1648
             break;
1751
             break;
1649
         case ULO_P2_ATT_Temp_guarantee_Table_Number:
1752
         case ULO_P2_ATT_Temp_guarantee_Table_Number:
1650
-            Bluecell_DataCopy(&Temp_UL2.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1753
+            Bluecell_DataCopy(&Temp_UL2.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1651
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1754
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1652
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1755
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1653
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P2_Level_Table_Ref;    // Check
1756
+            Temp_UL2.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1757
+            Temp_UL2.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1654
 
1758
 
1655
             break;
1759
             break;
1656
         case ULO_P3_ATT_Temp_guarantee_Table_Number:
1760
         case ULO_P3_ATT_Temp_guarantee_Table_Number:
1657
-            Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1761
+            Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st) );
1658
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1762
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1659
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1763
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1660
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P3_Level_Table_Ref;    // Check
1764
+            Temp_UL3.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1765
+            Temp_UL3.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1661
 
1766
 
1662
             break;
1767
             break;
1663
         case ULO_P4_ATT_Temp_guarantee_Table_Number:
1768
         case ULO_P4_ATT_Temp_guarantee_Table_Number:
1664
             Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1769
             Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1665
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1770
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1666
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1771
             MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1667
-            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P4_Level_Table_Ref;    // Check
1772
+            Temp_UL4.Table_Ref = data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref];
1773
+            Temp_UL4.Table_Length= data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length];
1668
 
1774
 
1669
             break;
1775
             break;
1670
     }
1776
     }
@@ -3596,21 +3702,22 @@ bool MBIC_Operate(uint8_t* data){
3596
                     data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);        
3702
                     data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);        
3597
                     uint16_t crcret = ((CRC16_Generate(&data[MBIC_PAYLOADSTART], (data[MBIC_PAYLOADSTART + 4] ) + 5) ) );
3703
                     uint16_t crcret = ((CRC16_Generate(&data[MBIC_PAYLOADSTART], (data[MBIC_PAYLOADSTART + 4] ) + 5) ) );
3598
                         printf("\r\n crc ret : %x \r\n",crcret);
3704
                         printf("\r\n crc ret : %x \r\n",crcret);
3599
-                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] ) + 5] =(( crcret  & 0xFF00)>> 8);  
3600
-                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] ) + 6] = (( crcret  & 0x00FF));  
3601
-                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] ) + 7] = 0x03; 
3705
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] ) + 5] =(( crcret  & 0xFF00)>> 8);  
3706
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] ) + 6] = (( crcret  & 0x00FF));  
3707
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] ) + 7] = 0x03; 
3602
 
3708
 
3603
                     Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4]) + 5 + 22 + 3);
3709
                     Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4]) + 5 + 22 + 3);
3604
 
3710
 
3605
                 }else{
3711
                 }else{
3606
                     MBIC_HeaderMergeFunction(data,(data[MBIC_PAYLOADSTART + 4] * 2) + 5);
3712
                     MBIC_HeaderMergeFunction(data,(data[MBIC_PAYLOADSTART + 4] * 2) + 5);
3607
                     data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);        
3713
                     data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);        
3608
-                    uint16_t crcret = ((CRC16_Generate(&data[MBIC_PAYLOADSTART], (data[MBIC_PAYLOADSTART + 4] * 2) + 5) ) );
3714
+                    uint16_t crcret = ((CRC16_Generate(&data[MBIC_PAYLOADSTART], (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] * 2) + 5) ) );
3609
                         printf("\r\n crc ret : %x \r\n",crcret);
3715
                         printf("\r\n crc ret : %x \r\n",crcret);
3610
-                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] * 2) + 5] =(( crcret  & 0xFF00)>> 8);  
3611
-                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] * 2) + 6] = (( crcret  & 0x00FF));  
3612
-                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] * 2) + 7] = 0x03; 
3613
-                    Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4] * 2) + 5 + 22 + 3);
3716
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] * 2) + 5] =(( crcret  & 0xFF00)>> 8);  
3717
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] * 2) + 6] = (( crcret  & 0x00FF));  
3718
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] * 2) + 7] = 0x03;
3719
+                    printf("==data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] : %d \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length]);
3720
+                    Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] * 2)    + 5 + 22 + 3);
3614
                 }
3721
                 }
3615
                 
3722
                 
3616
             break;
3723
             break;
@@ -3667,7 +3774,8 @@ bool MBIC_Operate(uint8_t* data){
3667
 
3774
 
3668
                     Uart1_Data_Send(data,   22 + 3 + 1);
3775
                     Uart1_Data_Send(data,   22 + 3 + 1);
3669
 
3776
 
3670
-                }else{
3777
+                }
3778
+                else{
3671
                     MBIC_HeaderMergeFunction(data,1);
3779
                     MBIC_HeaderMergeFunction(data,1);
3672
                     data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);
3780
                     data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);
3673
                     uint16_t crcret = (CRC16_Generate(&data[MBIC_PAYLOADSTART], 1) ) ;
3781
                     uint16_t crcret = (CRC16_Generate(&data[MBIC_PAYLOADSTART], 1) ) ;

+ 62 - 1
Bluecell_Src/eeprom.c

@@ -26,7 +26,7 @@ extern BLUESTATUS_st bluecell_Currdatastatus;
26
 
26
 
27
 void EEPROM_M24C08_Init(void){
27
 void EEPROM_M24C08_Init(void){
28
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
28
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
29
-    
29
+
30
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
30
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
31
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
31
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
32
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
32
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
@@ -61,6 +61,67 @@ void EEPROM_M24C08_Init(void){
61
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
61
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
62
 
62
 
63
 
63
 
64
+    
65
+#if 0 // PYJ.2020.06.19_BEGIN -- 
66
+    Att_DL1.Table_Length  = 64;
67
+    Att_DL2.Table_Length  = 64;
68
+    Att_DL3.Table_Length  = 64;
69
+    Att_DL4.Table_Length  = 64;
70
+    Att_UL1.Table_Length  = 64;
71
+    Att_UL2.Table_Length  = 64;
72
+    Att_UL3.Table_Length  = 64;
73
+    Att_UL4.Table_Length  = 64;
74
+    Det_DL1.Table_Length  = 31;
75
+    Det_DL2.Table_Length  = 31;
76
+    Det_DL3.Table_Length  = 31;
77
+    Det_DL4.Table_Length  = 31;
78
+    Det_UL1.Table_Length  = 31;
79
+    Det_UL2.Table_Length  = 31;
80
+    Det_UL3.Table_Length  = 31;
81
+    Det_UL4.Table_Length  = 31;
82
+    Temp_DL1.Table_Length = 10;
83
+    Temp_DL2.Table_Length = 10;
84
+    Temp_DL3.Table_Length = 10;
85
+    Temp_DL4.Table_Length = 10;
86
+    Temp_UL1.Table_Length = 10;
87
+    Temp_UL2.Table_Length = 10;
88
+    Temp_UL3.Table_Length = 10;
89
+    Temp_UL4.Table_Length = 10;
90
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
91
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
92
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
93
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
94
+
95
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
96
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
97
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
98
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
99
+
100
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
101
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
102
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
103
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
104
+
105
+
106
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
107
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
108
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
109
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
110
+
111
+
112
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
113
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
114
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
115
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
116
+
117
+
118
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
119
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
120
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
121
+    EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
122
+#endif // PYJ.2020.06.19_END -- 
123
+
124
+
64
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
125
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
65
     bluecell_Currdatastatus.ALARM_DLI_Level          = 0;
126
     bluecell_Currdatastatus.ALARM_DLI_Level          = 0;
66
     bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN  = 0;
127
     bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN  = 0;

+ 1 - 1
Bluecell_Src/uart.c

@@ -144,7 +144,7 @@ void Uart1_Data_Send(uint8_t* data,uint16_t size){
144
 ////    HAL_Delay(1);   
144
 ////    HAL_Delay(1);   
145
     printf("\r\n [TX] : ");
145
     printf("\r\n [TX] : ");
146
     for(int i = 0; i< size; i++)
146
     for(int i = 0; i< size; i++)
147
-        printf(" %02x ",data[i]);
147
+        printf("%02x ",data[i]);
148
     printf("\r\n\tCOUNT : %d \r\n",size);
148
     printf("\r\n\tCOUNT : %d \r\n",size);
149
 //    printf("\r\n");
149
 //    printf("\r\n");
150
     
150
     

+ 1 - 1
Src/main.c

@@ -325,7 +325,7 @@ extern void Booting_LED_Check(void);
325
   * @retval int
325
   * @retval int
326
   */
326
   */
327
 int main(void)
327
 int main(void)
328
-{
328
+  {
329
   /* USER CODE BEGIN 1 */
329
   /* USER CODE BEGIN 1 */
330
 
330
 
331
   /* USER CODE END 1 */
331
   /* USER CODE END 1 */