Переглянути джерело

Table Index 추가 , Det UL Max 추가 , MBIC Tail Index 추가 ,eeprom index 변경 , Uart Buf size 변경 , Unit ID Pin 추가

PYJ 5 роки тому
батько
коміт
6e1751ab4c

+ 457 - 193
Bluecell_Inc/Bluecell_operate.h

@@ -197,7 +197,14 @@ BLUECELL_CRCINDEX,
197 197
 BLUECELL_DATA,
198 198
 }BLUECELLProt_st;
199 199
 
200
-
200
+typedef enum{
201
+MBIC_TableIndex_Unit_Type = 0,
202
+MBIC_TableIndex_Reseved = 1,
203
+MBIC_TableIndex_Number = 2,
204
+MBIC_TableIndex_Ref = 3,
205
+MBIC_TableIndex_Length = 4,
206
+MBIC_TableIndex_Max,
207
+}MBIC_TableLoadIndex_t;
201 208
 typedef enum{
202 209
     Bluecell_Table_ATT_DL1 = 0,
203 210
     Bluecell_Table_ATT_UL1,
@@ -228,13 +235,13 @@ typedef enum{
228 235
     MBIC_PROT_PREAMBLE0_INDEX,
229 236
     MBIC_PROT_PREAMBLE1_INDEX,
230 237
     MBIC_PROT_PREAMBLE2_INDEX,
231
-    MBIC_PROT_PREAMBLE3_INDEX,    
238
+    MBIC_PROT_PREAMBLE3_INDEX, //4   
232 239
     MBIC_PROT_SUB_UID0_INDEX,        
233 240
     MBIC_PROT_SUB_UID1_INDEX,            
234 241
     MBIC_PROT_R_CODE_INDEX,                
235 242
     MBIC_PROT_TR_ID0_INDEX,                    
236 243
     MBIC_PROT_TR_ID1_INDEX,                        
237
-    MBIC_PROT_SEQ_NUM_INDEX,                            
244
+    MBIC_PROT_SEQ_NUM_INDEX, //10                           
238 245
     MBIC_PROT_TTL_INDEX,                                
239 246
     MBIC_PROT_TIME0_INDEX,                                    
240 247
     MBIC_PROT_TIME1_INDEX,                                    
@@ -243,7 +250,7 @@ typedef enum{
243 250
     MBIC_PROT_TIME4_INDEX,                                    
244 251
     MBIC_PROT_TIME5_INDEX,  
245 252
     MBIC_PROT_ERR_RESP_INDEX,      
246
-    MBIC_PROT_CMD_INDEX,          
253
+    MBIC_PROT_CMD_INDEX,  // 19         
247 254
     MBIC_PROT_LENGTH_INDEX,              
248 255
     MBIC_PROT_HEADERCHECKSUM_INDEX,  
249 256
     MBIC_PROT_SUB_DATA_INDEX,      
@@ -334,6 +341,31 @@ typedef struct{
334 341
     int8_t DET_UL_43;
335 342
     int8_t DET_UL_44;
336 343
     int8_t DET_UL_45;
344
+    int8_t DET_UL_46;
345
+    int8_t DET_UL_47;
346
+    int8_t DET_UL_48;
347
+    int8_t DET_UL_49;
348
+    int8_t DET_UL_50;
349
+    int8_t DET_UL_51;
350
+    int8_t DET_UL_52;
351
+    int8_t DET_UL_53;
352
+    int8_t DET_UL_54;
353
+    int8_t DET_UL_55;
354
+    int8_t DET_UL_56;
355
+    int8_t DET_UL_57;
356
+    int8_t DET_UL_58;
357
+    int8_t DET_UL_59;
358
+    int8_t DET_UL_60;
359
+    int8_t DET_UL_61;
360
+    int8_t DET_UL_62;
361
+    int8_t DET_UL_63;
362
+    int8_t DET_UL_64;
363
+    int8_t DET_UL_65;
364
+    int8_t DET_UL_66;
365
+    int8_t DET_UL_67;
366
+    int8_t DET_UL_68;
367
+    int8_t DET_UL_69;
368
+
337 369
 }ALC_dBm_t;
338 370
 typedef enum{
339 371
 DLI_RF_Path1_ON_OFF = 0x30,
@@ -427,6 +459,9 @@ ULO_Shutdown_Alarm4,
427 459
 
428 460
 
429 461
 #define MBIC_HEADER_SIZE 22
462
+#define MBIC_TAIL_SIZE 3
463
+
464
+
430 465
 #define MBIC_PREAMBLE0 0x16
431 466
 #define MBIC_PREAMBLE1 0x16
432 467
 #define MBIC_PREAMBLE2 0x16
@@ -697,11 +732,6 @@ typedef struct{
697 732
     uint8_t DLI_Level4_L; 
698 733
     uint8_t ULO_ALC_Threshold_H;
699 734
     uint8_t ULO_ALC_Threshold_L;
700
-    uint8_t BLUECELL_RESERVE17;
701
-    uint8_t BLUECELL_RESERVE18;
702
-    uint8_t BLUECELL_RESERVE19;
703
-    uint8_t BLUECELL_RESERVE20;
704
-    uint8_t BLUECELL_RESERVE21;
705 735
     uint8_t bluecell_User_DL1_H;  
706 736
     uint8_t bluecell_User_DL1_L;
707 737
     uint8_t bluecell_User_DL2_H;  
@@ -824,16 +854,6 @@ typedef struct{
824 854
     uint8_t ULO_Level_High_Threshold_H;
825 855
     uint8_t ULO_Level_High_Threshold_L;
826 856
     uint8_t ULO_Level_High_Threshold_default;
827
-    uint8_t BLUECELL_RESERVE28;//ADC3   8   
828
-    uint8_t BLUECELL_RESERVE29;//ADC3   8
829
-    uint8_t BLUECELL_RESERVE30;//ADC1   4  
830
-    uint8_t BLUECELL_RESERVE31;//ADC1   4 
831
-    uint8_t BLUECELL_RESERVE32;//ADC1   5 
832
-    uint8_t BLUECELL_RESERVE33;//ADC1   5
833
-    uint8_t BLUECELL_RESERVE34;//ADC1   6
834
-    uint8_t BLUECELL_RESERVE35;//ADC1   6
835
-    uint8_t BLUECELL_RESERVE36;//ADC3   4
836
-    uint8_t BLUECELL_RESERVE37;//ADC3   4
837 857
     uint8_t ULO_Level_High_Alarm1;
838 858
     uint8_t ULO_Level_High_Alarm2;
839 859
     uint8_t ULO_Level_High_Alarm3;
@@ -855,85 +875,164 @@ typedef struct{
855 875
     uint8_t ULO_Shutdown_Alarm2;
856 876
     uint8_t ULO_Shutdown_Alarm3;
857 877
     uint8_t ULO_Shutdown_Alarm4;
858
-    uint8_t Reserve0;
859
-    uint8_t Reserve1;
860
-    uint8_t Reserve2;
861
-    uint8_t Reserve3;
862
-    uint8_t Reserve4;
863
-    uint8_t Reserve5;
878
+    int8_t MBIC_DLI_P1_Table_Ref;
879
+    int8_t MBIC_DLI_P2_Table_Ref;
880
+    int8_t MBIC_DLI_P3_Table_Ref;
881
+    int8_t MBIC_DLI_P4_Table_Ref;
882
+    int8_t MBIC_ULO_P1_Table_Ref;
883
+    int8_t MBIC_ULO_P2_Table_Ref;
884
+    int8_t MBIC_ULO_P3_Table_Ref;
885
+    int8_t MBIC_ULO_P4_Table_Ref;
886
+    int8_t MBIC_DLI_P1_Level_Table_Ref;
887
+    int8_t MBIC_DLI_P2_Level_Table_Ref;
888
+    int8_t MBIC_DLI_P3_Level_Table_Ref;
889
+    int8_t MBIC_DLI_P4_Level_Table_Ref;
890
+    int8_t MBIC_ULO_P1_Level_Table_Ref;
891
+    int8_t MBIC_ULO_P2_Level_Table_Ref;
892
+    int8_t MBIC_ULO_P3_Level_Table_Ref;
893
+    int8_t MBIC_ULO_P4_Level_Table_Ref;
894
+    int8_t MBIC_TEMP_DL_P1_Level_Table_Ref;
895
+    int8_t MBIC_TEMP_DL_P2_Level_Table_Ref;
896
+    int8_t MBIC_TEMP_DL_P3_Level_Table_Ref;
897
+    int8_t MBIC_TEMP_DL_P4_Level_Table_Ref;
898
+    int8_t MBIC_TEMP_UL_P1_Level_Table_Ref;
899
+    int8_t MBIC_TEMP_UL_P2_Level_Table_Ref;
900
+    int8_t MBIC_TEMP_UL_P3_Level_Table_Ref;
901
+    int8_t MBIC_TEMP_UL_P4_Level_Table_Ref;
902
+    uint8_t BLUECELL_RESERVE25;
903
+    uint8_t BLUECELL_RESERVE26;
904
+    uint8_t BLUECELL_RESERVE27;
905
+    uint8_t BLUECELL_RESERVE28;
906
+    uint8_t BLUECELL_RESERVE29;
907
+    uint8_t BLUECELL_RESERVE30;
908
+    uint8_t BLUECELL_RESERVE31;
909
+    uint8_t BLUECELL_RESERVE32;
910
+    uint8_t BLUECELL_RESERVE33;
911
+    uint8_t BLUECELL_RESERVE34;
912
+    uint8_t BLUECELL_RESERVE35;
913
+    uint8_t BLUECELL_RESERVE36;
914
+    uint8_t BLUECELL_RESERVE37;
915
+    uint8_t BLUECELL_RESERVE38;
916
+    uint8_t BLUECELL_RESERVE39;
917
+    uint8_t BLUECELL_RESERVE40;
918
+    uint8_t BLUECELL_RESERVE41;
919
+    uint8_t BLUECELL_RESERVE42;
920
+    uint8_t BLUECELL_RESERVE43;
921
+    uint8_t BLUECELL_RESERVE44;
922
+    uint8_t BLUECELL_RESERVE45;
923
+    uint8_t BLUECELL_RESERVE46;
924
+    uint8_t BLUECELL_RESERVE47;
925
+    uint8_t BLUECELL_RESERVE48;
926
+    uint8_t BLUECELL_RESERVE49;
927
+    uint8_t BLUECELL_RESERVE50;
928
+    uint8_t BLUECELL_RESERVE51;
929
+    uint8_t BLUECELL_RESERVE52;
930
+    uint8_t BLUECELL_RESERVE53;
864 931
     uint8_t bluecell_crc_H;
865 932
     uint8_t bluecell_crc_L;
866 933
     uint8_t bluecell_etx;
867 934
 
868 935
 }BLUESTATUS_st;
936
+/*ssizeof 320 byte*/
869 937
 typedef struct{
870
-  uint8_t Table_0_0_dBm;
871
-  uint8_t Table_0_5_dBm;
872
-  uint8_t Table_1_0_dBm;
873
-  uint8_t Table_1_5_dBm;
874
-  uint8_t Table_2_0_dBm;
875
-  uint8_t Table_2_5_dBm;
876
-  uint8_t Table_3_0_dBm;
877
-  uint8_t Table_3_5_dBm;
878
-  uint8_t Table_4_0_dBm;
879
-  uint8_t Table_4_5_dBm;
880
-  uint8_t Table_5_0_dBm;
881
-  uint8_t Table_5_5_dBm;
882
-  uint8_t Table_6_0_dBm;
883
-  uint8_t Table_6_5_dBm;
884
-  uint8_t Table_7_0_dBm;
885
-  uint8_t Table_7_5_dBm;
886
-  uint8_t Table_8_0_dBm;
887
-  uint8_t Table_8_5_dBm;
888
-  uint8_t Table_9_0_dBm;
889
-  uint8_t Table_9_5_dBm;
890
-  uint8_t Table_10_0_dBm;
891
-  uint8_t Table_10_5_dBm;
892
-  uint8_t Table_11_0_dBm;
893
-  uint8_t Table_11_5_dBm;
894
-  uint8_t Table_12_0_dBm;
895
-  uint8_t Table_12_5_dBm;
896
-  uint8_t Table_13_0_dBm;
897
-  uint8_t Table_13_5_dBm;
898
-  uint8_t Table_14_0_dBm;
899
-  uint8_t Table_14_5_dBm;
900
-  uint8_t Table_15_0_dBm;
901
-  uint8_t Table_15_5_dBm;
902
-  uint8_t Table_16_0_dBm;
903
-  uint8_t Table_16_5_dBm;
904
-  uint8_t Table_17_0_dBm;
905
-  uint8_t Table_17_5_dBm;
906
-  uint8_t Table_18_0_dBm;
907
-  uint8_t Table_18_5_dBm;
908
-  uint8_t Table_19_0_dBm;
909
-  uint8_t Table_19_5_dBm;
910
-  uint8_t Table_20_0_dBm;
911
-  uint8_t Table_20_5_dBm;
912
-  uint8_t Table_21_0_dBm;
913
-  uint8_t Table_21_5_dBm;
914
-  uint8_t Table_22_0_dBm;
915
-  uint8_t Table_22_5_dBm;
916
-  uint8_t Table_23_0_dBm;
917
-  uint8_t Table_23_5_dBm;
918
-  uint8_t Table_24_0_dBm;
919
-  uint8_t Table_24_5_dBm;
920
-  uint8_t Table_25_0_dBm;
921
-  uint8_t Table_25_5_dBm;
922
-  uint8_t Table_26_0_dBm;
923
-  uint8_t Table_26_5_dBm;
924
-  uint8_t Table_27_0_dBm;
925
-  uint8_t Table_27_5_dBm;
926
-  uint8_t Table_28_0_dBm;
927
-  uint8_t Table_28_5_dBm;
928
-  uint8_t Table_29_0_dBm;
929
-  uint8_t Table_29_5_dBm;
930
-  uint8_t Table_30_0_dBm;
931
-  uint8_t Table_30_5_dBm;
932
-  uint8_t Table_31_0_dBm;
933
-  uint8_t Table_31_5_dBm;
938
+    uint8_t Table_0_0_dBm;
939
+    uint8_t Table_0_5_dBm;
940
+    uint8_t Table_1_0_dBm;
941
+    uint8_t Table_1_5_dBm;
942
+    uint8_t Table_2_0_dBm;
943
+    uint8_t Table_2_5_dBm;
944
+    uint8_t Table_3_0_dBm;
945
+    uint8_t Table_3_5_dBm;
946
+    uint8_t Table_4_0_dBm;
947
+    uint8_t Table_4_5_dBm;
948
+    uint8_t Table_5_0_dBm;
949
+    uint8_t Table_5_5_dBm;
950
+    uint8_t Table_6_0_dBm;
951
+    uint8_t Table_6_5_dBm;
952
+    uint8_t Table_7_0_dBm;
953
+    uint8_t Table_7_5_dBm;
954
+    uint8_t Table_8_0_dBm;
955
+    uint8_t Table_8_5_dBm;
956
+    uint8_t Table_9_0_dBm;
957
+    uint8_t Table_9_5_dBm;
958
+    uint8_t Table_10_0_dBm;
959
+    uint8_t Table_10_5_dBm;
960
+    uint8_t Table_11_0_dBm;
961
+    uint8_t Table_11_5_dBm;
962
+    uint8_t Table_12_0_dBm;
963
+    uint8_t Table_12_5_dBm;
964
+    uint8_t Table_13_0_dBm;
965
+    uint8_t Table_13_5_dBm;
966
+    uint8_t Table_14_0_dBm;
967
+    uint8_t Table_14_5_dBm;
968
+    uint8_t Table_15_0_dBm;
969
+    uint8_t Table_15_5_dBm;
970
+    uint8_t Table_16_0_dBm;
971
+    uint8_t Table_16_5_dBm;
972
+    uint8_t Table_17_0_dBm;
973
+    uint8_t Table_17_5_dBm;
974
+    uint8_t Table_18_0_dBm;
975
+    uint8_t Table_18_5_dBm;
976
+    uint8_t Table_19_0_dBm;
977
+    uint8_t Table_19_5_dBm;
978
+    uint8_t Table_20_0_dBm;
979
+    uint8_t Table_20_5_dBm;
980
+    uint8_t Table_21_0_dBm;
981
+    uint8_t Table_21_5_dBm;
982
+    uint8_t Table_22_0_dBm;
983
+    uint8_t Table_22_5_dBm;
984
+    uint8_t Table_23_0_dBm;
985
+    uint8_t Table_23_5_dBm;
986
+    uint8_t Table_24_0_dBm;
987
+    uint8_t Table_24_5_dBm;
988
+    uint8_t Table_25_0_dBm;
989
+    uint8_t Table_25_5_dBm;
990
+    uint8_t Table_26_0_dBm;
991
+    uint8_t Table_26_5_dBm;
992
+    uint8_t Table_27_0_dBm;
993
+    uint8_t Table_27_5_dBm;
994
+    uint8_t Table_28_0_dBm;
995
+    uint8_t Table_28_5_dBm;
996
+    uint8_t Table_29_0_dBm;
997
+    uint8_t Table_29_5_dBm;
998
+    uint8_t Table_30_0_dBm;
999
+    uint8_t Table_30_5_dBm;
1000
+    uint8_t Table_31_0_dBm;
1001
+    uint8_t Table_31_5_dBm;
1002
+    uint8_t Table_xx_x_1_dBm;
1003
+    uint8_t Table_xx_x_2_dBm;
1004
+    uint8_t Table_xx_x_3_dBm;
1005
+    uint8_t Table_xx_x_4_dBm;
1006
+    uint8_t Table_xx_x_5_dBm;
1007
+    uint8_t Table_xx_x_6_dBm;
1008
+    uint8_t Table_xx_x_7_dBm;
1009
+    uint8_t Table_xx_x_8_dBm;
1010
+    uint8_t Table_xx_x_9_dBm;
1011
+    uint8_t Table_xx_x_10_dBm;
1012
+    uint8_t Table_xx_x_11_dBm;
1013
+    uint8_t Table_xx_x_12_dBm;
1014
+    uint8_t Table_xx_x_13_dBm;
1015
+    uint8_t Table_xx_x_14_dBm;
1016
+    uint8_t Table_xx_x_15_dBm;
1017
+    uint8_t Table_xx_x_16_dBm;
1018
+    uint8_t Table_xx_x_17_dBm;
1019
+    uint8_t Table_xx_x_18_dBm;
1020
+    uint8_t Table_xx_x_19_dBm;
1021
+    uint8_t Table_xx_x_20_dBm;
1022
+    uint8_t Table_xx_x_21_dBm;
1023
+    uint8_t Table_xx_x_22_dBm;
1024
+    uint8_t Table_xx_x_23_dBm;
1025
+    uint8_t Table_xx_x_24_dBm;
1026
+    uint8_t Table_xx_x_25_dBm;
1027
+    uint8_t Table_xx_x_26_dBm;
1028
+    uint8_t Table_xx_x_27_dBm;
1029
+    uint8_t Table_xx_x_28_dBm;
1030
+    uint8_t Table_xx_x_29_dBm;
1031
+    uint8_t Table_xx_x_30_dBm;
1032
+    uint8_t Table_xx_x_31_dBm;
1033
+    uint8_t Table_xx_x_32_dBm;
934 1034
 }ATT_TABLE_st;
935 1035
 typedef struct{
936
-
937 1036
     uint8_t Table_Det5_dBm_H	;
938 1037
     uint8_t Table_Det5_dBm_L	;
939 1038
     uint8_t Table_Det4_dBm_H	;
@@ -996,114 +1095,279 @@ typedef struct{
996 1095
     uint8_t Table_Det_24_dBm_L	;
997 1096
     uint8_t Table_Det_25_dBm_H	;
998 1097
     uint8_t Table_Det_25_dBm_L	;
1098
+    uint8_t Table_Det_xx1_dBm_H	;
1099
+    uint8_t Table_Det_xx1_dBm_L	;
1100
+    uint8_t Table_Det_xx2_dBm_H	;
1101
+    uint8_t Table_Det_xx2_dBm_L	;
1102
+    uint8_t Table_Det_xx3_dBm_H	;
1103
+    uint8_t Table_Det_xx3_dBm_L	;
1104
+    uint8_t Table_Det_xx4_dBm_H	;
1105
+    uint8_t Table_Det_xx4_dBm_L	;
1106
+    uint8_t Table_Det_xx5_dBm_H	;
1107
+    uint8_t Table_Det_xx5_dBm_L	;
1108
+    uint8_t Table_Det_xx6_dBm_H	;
1109
+    uint8_t Table_Det_xx6_dBm_L	;
1110
+    uint8_t Table_Det_xx7_dBm_H	;
1111
+    uint8_t Table_Det_xx7_dBm_L	;
1112
+    uint8_t Table_Det_xx8_dBm_H	;
1113
+    uint8_t Table_Det_xx8_dBm_L	;
1114
+    uint8_t Table_Det_xx9_dBm_H	;
1115
+    uint8_t Table_Det_xx9_dBm_L	;
1116
+    uint8_t Table_Det_xx10_dBm_H	;
1117
+    uint8_t Table_Det_xx10_dBm_L	;
1118
+    uint8_t Table_Det_xx11_dBm_H	;
1119
+    uint8_t Table_Det_xx11_dBm_L	;
1120
+    uint8_t Table_Det_xx12_dBm_H	;
1121
+    uint8_t Table_Det_xx12_dBm_L	;
1122
+    uint8_t Table_Det_xx13_dBm_H	;
1123
+    uint8_t Table_Det_xx13_dBm_L	;
1124
+    uint8_t Table_Det_xx14_dBm_H	;
1125
+    uint8_t Table_Det_xx14_dBm_L	;
1126
+    uint8_t Table_Det_xx15_dBm_H	;
1127
+    uint8_t Table_Det_xx15_dBm_L	;
1128
+    uint8_t Table_Det_xx16_dBm_H	;
1129
+    uint8_t Table_Det_xx16_dBm_L	;
1130
+    uint8_t Table_Det_xx17_dBm_H	;
1131
+    uint8_t Table_Det_xx17_dBm_L	;
1132
+    uint8_t Table_Det_xx18_dBm_H	;
1133
+    uint8_t Table_Det_xx18_dBm_L	;
1134
+    uint8_t Table_Det_xx19_dBm_H	;
1135
+    uint8_t Table_Det_xx19_dBm_L	;
1136
+    uint8_t Table_Det_xx20_dBm_H	;
1137
+    uint8_t Table_Det_xx20_dBm_L	;
1138
+    uint8_t Table_Det_xx21_dBm_H	;
1139
+    uint8_t Table_Det_xx21_dBm_L	;
1140
+    uint8_t Table_Det_xx22_dBm_H	;
1141
+    uint8_t Table_Det_xx22_dBm_L	;
1142
+    uint8_t Table_Det_xx23_dBm_H	;
1143
+    uint8_t Table_Det_xx23_dBm_L	;
1144
+    uint8_t Table_Det_xx24_dBm_H	;
1145
+    uint8_t Table_Det_xx24_dBm_L	;
1146
+    uint8_t Table_Det_xx25_dBm_H	;
1147
+    uint8_t Table_Det_xx25_dBm_L	;
1148
+    uint8_t Table_Det_xx26_dBm_H	;
1149
+    uint8_t Table_Det_xx26_dBm_L	;
1150
+    uint8_t Table_Det_xx27_dBm_H	;
1151
+    uint8_t Table_Det_xx27_dBm_L	;
1152
+    uint8_t Table_Det_xx28_dBm_H	;
1153
+    uint8_t Table_Det_xx28_dBm_L	;
1154
+    uint8_t Table_Det_xx29_dBm_H	;
1155
+    uint8_t Table_Det_xx29_dBm_L	;
1156
+    uint8_t Table_Det_xx30_dBm_H	;
1157
+    uint8_t Table_Det_xx30_dBm_L	;
1158
+    uint8_t Table_Det_xx31_dBm_H	;
1159
+    uint8_t Table_Det_xx31_dBm_L	;
1160
+    uint8_t Table_Det_xx32_dBm_H	;
1161
+    uint8_t Table_Det_xx32_dBm_L	;
1162
+    uint8_t Table_Det_xx33_dBm_H	;
1163
+    uint8_t Table_Det_xx33_dBm_L	;
1164
+    uint8_t Table_Det_xx34_dBm_H	;
1165
+    uint8_t Table_Det_xx34_dBm_L	;
1166
+    uint8_t Table_Det_xx35_dBm_H	;
1167
+    uint8_t Table_Det_xx35_dBm_L	;
1168
+    uint8_t Table_Det_xx36_dBm_H	;
1169
+    uint8_t Table_Det_xx36_dBm_L	;
1170
+    uint8_t Table_Det_xx37_dBm_H	;
1171
+    uint8_t Table_Det_xx37_dBm_L	;
1172
+    uint8_t Table_Det_xx38_dBm_H	;
1173
+    uint8_t Table_Det_xx38_dBm_L	;
1174
+    uint8_t Table_Det_xx39_dBm_H	;
1175
+    uint8_t Table_Det_xx39_dBm_L	;
1176
+    uint8_t Table_Det_xx40_dBm_H	;
1177
+    uint8_t Table_Det_xx40_dBm_L	;
1178
+    uint8_t Table_Det_xx41_dBm_H	;
1179
+    uint8_t Table_Det_xx41_dBm_L	;
1180
+    uint8_t Table_Det_xx42_dBm_H	;
1181
+    uint8_t Table_Det_xx42_dBm_L	;
1182
+    uint8_t Table_Det_xx43_dBm_H	;
1183
+    uint8_t Table_Det_xx43_dBm_L	;
1184
+    uint8_t Table_Det_xx44_dBm_H	;
1185
+    uint8_t Table_Det_xx44_dBm_L	;
1186
+    uint8_t Table_Det_xx45_dBm_H	;
1187
+    uint8_t Table_Det_xx45_dBm_L	;
1188
+    uint8_t Table_Det_xx46_dBm_H	;
1189
+    uint8_t Table_Det_xx46_dBm_L	;
1190
+    uint8_t Table_Det_xx47_dBm_H	;
1191
+    uint8_t Table_Det_xx47_dBm_L	;
1192
+    uint8_t Table_Det_xx48_dBm_H	;
1193
+    uint8_t Table_Det_xx48_dBm_L	;
1194
+    uint8_t Table_Det_xx49_dBm_H	;
1195
+    uint8_t Table_Det_xx49_dBm_L	;
999 1196
 }DET_TABLEDL_st;
1000 1197
 typedef struct{
1001
-  uint8_t Table_Det_15_dBm_H	;   
1002
-  uint8_t Table_Det_15_dBm_L	;
1003
-  uint8_t Table_Det_16_dBm_H	;   
1004
-  uint8_t Table_Det_16_dBm_L	;
1005
-  uint8_t Table_Det_17_dBm_H	;   
1006
-  uint8_t Table_Det_17_dBm_L	;
1007
-  uint8_t Table_Det_18_dBm_H	;   
1008
-  uint8_t Table_Det_18_dBm_L	;
1009
-  uint8_t Table_Det_19_dBm_H	;   
1010
-  uint8_t Table_Det_19_dBm_L	;
1011
-  uint8_t Table_Det_20_dBm_H	;//1.8
1012
-  uint8_t Table_Det_20_dBm_L	;//1.6
1013
-  uint8_t Table_Det_21_dBm_H	;//1.4   
1014
-  uint8_t Table_Det_21_dBm_L	;
1015
-  uint8_t Table_Det_22_dBm_H	;   
1016
-  uint8_t Table_Det_22_dBm_L	;
1017
-  uint8_t Table_Det_23_dBm_H	;   
1018
-  uint8_t Table_Det_23_dBm_L	;
1019
-  uint8_t Table_Det_24_dBm_H	;   
1020
-  uint8_t Table_Det_24_dBm_L	;
1021
-  uint8_t Table_Det_25_dBm_H	;   
1022
-  uint8_t Table_Det_25_dBm_L	;
1023
-  uint8_t Table_Det_26_dBm_H	;   
1024
-  uint8_t Table_Det_26_dBm_L	;
1025
-  uint8_t Table_Det_27_dBm_H	;   
1026
-  uint8_t Table_Det_27_dBm_L	;
1027
-  uint8_t Table_Det_28_dBm_H	;   
1028
-  uint8_t Table_Det_28_dBm_L	;
1029
-  uint8_t Table_Det_29_dBm_H	;   
1030
-  uint8_t Table_Det_29_dBm_L	;
1031
-  uint8_t Table_Det_30_dBm_H	;   
1032
-  uint8_t Table_Det_30_dBm_L	;
1033
-  uint8_t Table_Det_31_dBm_H	;   
1034
-  uint8_t Table_Det_31_dBm_L	;
1035
-  uint8_t Table_Det_32_dBm_H	;   
1036
-  uint8_t Table_Det_32_dBm_L	;
1037
-  uint8_t Table_Det_33_dBm_H	;   
1038
-  uint8_t Table_Det_33_dBm_L	;
1039
-  uint8_t Table_Det_34_dBm_H	;   
1040
-  uint8_t Table_Det_34_dBm_L	;
1041
-  uint8_t Table_Det_35_dBm_H	;   
1042
-  uint8_t Table_Det_35_dBm_L	;
1043
-  uint8_t Table_Det_36_dBm_H	;  
1044
-  uint8_t Table_Det_36_dBm_L	;
1045
-  uint8_t Table_Det_37_dBm_H	;  
1046
-  uint8_t Table_Det_37_dBm_L	;
1047
-  uint8_t Table_Det_38_dBm_H	;   
1048
-  uint8_t Table_Det_38_dBm_L	;
1049
-  uint8_t Table_Det_39_dBm_H	;  
1050
-  uint8_t Table_Det_39_dBm_L	;
1051
-  uint8_t Table_Det_40_dBm_H	;  
1052
-  uint8_t Table_Det_40_dBm_L	;
1053
-  uint8_t Table_Det_41_dBm_H	;  
1054
-  uint8_t Table_Det_41_dBm_L	;
1055
-  uint8_t Table_Det_42_dBm_H	; 
1056
-  uint8_t Table_Det_42_dBm_L	;
1057
-  uint8_t Table_Det_43_dBm_H	;  
1058
-  uint8_t Table_Det_43_dBm_L	;
1059
-  uint8_t Table_Det_44_dBm_H	;  
1060
-  uint8_t Table_Det_44_dBm_L	;
1061
-  uint8_t Table_Det_45_dBm_H	;  
1062
-  uint8_t Table_Det_45_dBm_L	;
1063
-  uint8_t Table_Det_46_dBm_H	;   
1064
-  uint8_t Table_Det_46_dBm_L	;
1065
-  uint8_t Table_Det_47_dBm_H	; 
1066
-  uint8_t Table_Det_47_dBm_L	;
1067
-  uint8_t Table_Det_48_dBm_H	;   
1068
-  uint8_t Table_Det_48_dBm_L	;
1069
-  uint8_t Table_Det_49_dBm_H	; 
1070
-  uint8_t Table_Det_49_dBm_L	;
1071
-  uint8_t Table_Det_50_dBm_H	;  
1072
-  uint8_t Table_Det_50_dBm_L	;
1073
-  uint8_t Table_Det_51_dBm_H	;  
1074
-  uint8_t Table_Det_51_dBm_L	;
1075
-  uint8_t Table_Det_52_dBm_H	;  
1076
-  uint8_t Table_Det_52_dBm_L	;
1077
-  uint8_t Table_Det_53_dBm_H	;  
1078
-  uint8_t Table_Det_53_dBm_L	;
1079
-  uint8_t Table_Det_54_dBm_H	;  
1080
-  uint8_t Table_Det_54_dBm_L	;
1081
-  uint8_t Table_Det_55_dBm_H	;  
1082
-  uint8_t Table_Det_55_dBm_L	;
1083
-  uint8_t Table_Det_56_dBm_H	;  
1084
-  uint8_t Table_Det_56_dBm_L	;
1085
-  uint8_t Table_Det_57_dBm_H	;  
1086
-  uint8_t Table_Det_57_dBm_L	;
1087
-  uint8_t Table_Det_58_dBm_H	;  
1088
-  uint8_t Table_Det_58_dBm_L	;
1089
-  uint8_t Table_Det_59_dBm_H	;  
1090
-  uint8_t Table_Det_59_dBm_L	;
1091
-  uint8_t Table_Det_60_dBm_H	;   
1092
-  uint8_t Table_Det_60_dBm_L	;
1198
+    uint8_t Table_Det_15_dBm_H  ;   
1199
+      uint8_t Table_Det_15_dBm_L    ;
1200
+      uint8_t Table_Det_16_dBm_H    ;   
1201
+      uint8_t Table_Det_16_dBm_L    ;
1202
+      uint8_t Table_Det_17_dBm_H    ;   
1203
+      uint8_t Table_Det_17_dBm_L    ;
1204
+      uint8_t Table_Det_18_dBm_H    ;   
1205
+      uint8_t Table_Det_18_dBm_L    ;
1206
+      uint8_t Table_Det_19_dBm_H    ;   
1207
+      uint8_t Table_Det_19_dBm_L    ;
1208
+      uint8_t Table_Det_20_dBm_H    ;
1209
+      uint8_t Table_Det_20_dBm_L    ;
1210
+      uint8_t Table_Det_21_dBm_H    ;
1211
+      uint8_t Table_Det_21_dBm_L    ;
1212
+      uint8_t Table_Det_22_dBm_H    ;   
1213
+      uint8_t Table_Det_22_dBm_L    ;
1214
+      uint8_t Table_Det_23_dBm_H    ;   
1215
+      uint8_t Table_Det_23_dBm_L    ;
1216
+      uint8_t Table_Det_24_dBm_H    ;   
1217
+      uint8_t Table_Det_24_dBm_L    ;
1218
+      uint8_t Table_Det_25_dBm_H    ;   
1219
+      uint8_t Table_Det_25_dBm_L    ;
1220
+      uint8_t Table_Det_26_dBm_H    ;   
1221
+      uint8_t Table_Det_26_dBm_L    ;
1222
+      uint8_t Table_Det_27_dBm_H    ;   
1223
+      uint8_t Table_Det_27_dBm_L    ;
1224
+      uint8_t Table_Det_28_dBm_H    ;   
1225
+      uint8_t Table_Det_28_dBm_L    ;
1226
+      uint8_t Table_Det_29_dBm_H    ;   
1227
+      uint8_t Table_Det_29_dBm_L    ;
1228
+      uint8_t Table_Det_30_dBm_H    ;   
1229
+      uint8_t Table_Det_30_dBm_L    ;
1230
+      uint8_t Table_Det_31_dBm_H    ;   
1231
+      uint8_t Table_Det_31_dBm_L    ;
1232
+      uint8_t Table_Det_32_dBm_H    ;   
1233
+      uint8_t Table_Det_32_dBm_L    ;
1234
+      uint8_t Table_Det_33_dBm_H    ;   
1235
+      uint8_t Table_Det_33_dBm_L    ;
1236
+      uint8_t Table_Det_34_dBm_H    ;   
1237
+      uint8_t Table_Det_34_dBm_L    ;
1238
+      uint8_t Table_Det_35_dBm_H    ;   
1239
+      uint8_t Table_Det_35_dBm_L    ;
1240
+      uint8_t Table_Det_36_dBm_H    ;  
1241
+      uint8_t Table_Det_36_dBm_L    ;
1242
+      uint8_t Table_Det_37_dBm_H    ;  
1243
+      uint8_t Table_Det_37_dBm_L    ;
1244
+      uint8_t Table_Det_38_dBm_H    ;   
1245
+      uint8_t Table_Det_38_dBm_L    ;
1246
+      uint8_t Table_Det_39_dBm_H    ;  
1247
+      uint8_t Table_Det_39_dBm_L    ;
1248
+      uint8_t Table_Det_40_dBm_H    ;  
1249
+      uint8_t Table_Det_40_dBm_L    ;
1250
+      uint8_t Table_Det_41_dBm_H    ;  
1251
+      uint8_t Table_Det_41_dBm_L    ;
1252
+      uint8_t Table_Det_42_dBm_H    ; 
1253
+      uint8_t Table_Det_42_dBm_L    ;
1254
+      uint8_t Table_Det_43_dBm_H    ;  
1255
+      uint8_t Table_Det_43_dBm_L    ;
1256
+      uint8_t Table_Det_44_dBm_H    ;  
1257
+      uint8_t Table_Det_44_dBm_L    ;
1258
+      uint8_t Table_Det_45_dBm_H    ;  
1259
+      uint8_t Table_Det_45_dBm_L    ;
1260
+      uint8_t Table_Det_46_dBm_H    ;   
1261
+      uint8_t Table_Det_46_dBm_L    ;
1262
+      uint8_t Table_Det_47_dBm_H    ; 
1263
+      uint8_t Table_Det_47_dBm_L    ;
1264
+      uint8_t Table_Det_48_dBm_H    ;   
1265
+      uint8_t Table_Det_48_dBm_L    ;
1266
+      uint8_t Table_Det_49_dBm_H    ; 
1267
+      uint8_t Table_Det_49_dBm_L    ;
1268
+      uint8_t Table_Det_50_dBm_H    ;  
1269
+      uint8_t Table_Det_50_dBm_L    ;
1270
+      uint8_t Table_Det_51_dBm_H    ;  
1271
+      uint8_t Table_Det_51_dBm_L    ;
1272
+      uint8_t Table_Det_52_dBm_H    ;  
1273
+      uint8_t Table_Det_52_dBm_L    ;
1274
+      uint8_t Table_Det_53_dBm_H    ;  
1275
+      uint8_t Table_Det_53_dBm_L    ;
1276
+      uint8_t Table_Det_54_dBm_H    ;  
1277
+      uint8_t Table_Det_54_dBm_L    ;
1278
+      uint8_t Table_Det_55_dBm_H    ;  
1279
+      uint8_t Table_Det_55_dBm_L    ;
1280
+      uint8_t Table_Det_56_dBm_H    ;  
1281
+      uint8_t Table_Det_56_dBm_L    ;
1282
+      uint8_t Table_Det_57_dBm_H    ;  
1283
+      uint8_t Table_Det_57_dBm_L    ;
1284
+      uint8_t Table_Det_58_dBm_H    ;  
1285
+      uint8_t Table_Det_58_dBm_L    ;
1286
+      uint8_t Table_Det_59_dBm_H    ;  
1287
+      uint8_t Table_Det_59_dBm_L    ;
1288
+      uint8_t Table_Det_60_dBm_H    ;   
1289
+      uint8_t Table_Det_60_dBm_L    ;
1290
+      uint8_t Table_Det_XX1_dBm_H   ;   
1291
+      uint8_t Table_Det_XX1_dBm_L   ;
1292
+      uint8_t Table_Det_XX2_dBm_H   ;   
1293
+      uint8_t Table_Det_XX2_dBm_L   ;
1294
+      uint8_t Table_Det_XX3_dBm_H   ;   
1295
+      uint8_t Table_Det_XX3_dBm_L   ;
1296
+      uint8_t Table_Det_XX4_dBm_H   ;   
1297
+      uint8_t Table_Det_XX4_dBm_L   ;
1298
+      uint8_t Table_Det_XX5_dBm_H   ;   
1299
+      uint8_t Table_Det_XX5_dBm_L   ;
1300
+      uint8_t Table_Det_XX6_dBm_H   ;   
1301
+      uint8_t Table_Det_XX6_dBm_L   ;
1302
+      uint8_t Table_Det_XX7_dBm_H   ;   
1303
+      uint8_t Table_Det_XX7_dBm_L   ;
1304
+      uint8_t Table_Det_XX8_dBm_H   ;   
1305
+      uint8_t Table_Det_XX8_dBm_L   ;
1306
+      uint8_t Table_Det_XX9_dBm_H   ;   
1307
+      uint8_t Table_Det_XX9_dBm_L   ;
1308
+      uint8_t Table_Det_XX10_dBm_H  ;   
1309
+      uint8_t Table_Det_XX10_dBm_L  ;
1310
+      uint8_t Table_Det_XX11_dBm_H  ;   
1311
+      uint8_t Table_Det_XX11_dBm_L  ;
1312
+      uint8_t Table_Det_XX12_dBm_H  ;   
1313
+      uint8_t Table_Det_XX12_dBm_L  ;
1314
+      uint8_t Table_Det_XX13_dBm_H  ;   
1315
+      uint8_t Table_Det_XX13_dBm_L  ;
1316
+      uint8_t Table_Det_XX14_dBm_H  ;   
1317
+      uint8_t Table_Det_XX14_dBm_L  ;
1318
+      uint8_t Table_Det_XX15_dBm_H  ;   
1319
+      uint8_t Table_Det_XX15_dBm_L  ;
1320
+      uint8_t Table_Det_XX16_dBm_H  ;   
1321
+      uint8_t Table_Det_XX16_dBm_L  ;
1322
+      uint8_t Table_Det_XX17_dBm_H  ;   
1323
+      uint8_t Table_Det_XX17_dBm_L  ;
1324
+      uint8_t Table_Det_XX18_dBm_H  ;   
1325
+      uint8_t Table_Det_XX18_dBm_L  ;
1326
+      uint8_t Table_Det_XX19_dBm_H  ;   
1327
+      uint8_t Table_Det_XX19_dBm_L  ;
1328
+      uint8_t Table_Det_XX20_dBm_H  ;   
1329
+      uint8_t Table_Det_XX20_dBm_L  ;
1330
+      uint8_t Table_Det_XX21_dBm_H  ;   
1331
+      uint8_t Table_Det_XX21_dBm_L  ;
1332
+      uint8_t Table_Det_XX22_dBm_H  ;   
1333
+      uint8_t Table_Det_XX22_dBm_L  ;
1334
+      uint8_t Table_Det_XX23_dBm_H  ;   
1335
+      uint8_t Table_Det_XX23_dBm_L  ;
1336
+      uint8_t Table_Det_XX24_dBm_H  ;   
1337
+      uint8_t Table_Det_XX24_dBm_L  ;
1338
+      uint8_t Table_Det_XX25_dBm_H  ;   
1339
+      uint8_t Table_Det_XX25_dBm_L  ;
1340
+      uint8_t Table_Det_XX26_dBm_H  ;   
1341
+      uint8_t Table_Det_XX26_dBm_L  ;
1342
+      uint8_t Table_Det_XX27_dBm_H  ;   
1343
+      uint8_t Table_Det_XX27_dBm_L  ;
1344
+      uint8_t Table_Det_XX28_dBm_H  ;   
1345
+      uint8_t Table_Det_XX28_dBm_L  ;
1346
+      uint8_t Table_Det_XX29_dBm_H  ;   
1347
+      uint8_t Table_Det_XX29_dBm_L  ;
1348
+      uint8_t Table_Det_XX30_dBm_H  ;   
1349
+      uint8_t Table_Det_XX30_dBm_L  ;
1350
+      uint8_t Table_Det_XX31_dBm_H  ;   
1351
+      uint8_t Table_Det_XX31_dBm_L  ;
1352
+      uint8_t Table_Det_XX32_dBm_H  ;   
1353
+      uint8_t Table_Det_XX32_dBm_L  ;
1354
+      uint8_t Table_Det_XX33_dBm_H  ;   
1355
+      uint8_t Table_Det_XX33_dBm_L  ;
1356
+      uint8_t Table_Det_XX34_dBm_H  ;   
1357
+      uint8_t Table_Det_XX34_dBm_L  ;
1093 1358
 }DET_TABLEUL_st;
1094 1359
 
1095 1360
 typedef struct{
1096
-
1097
-  uint8_t Table_10_Temp_H;   uint8_t Table_10_Temp_L;
1098
-  uint8_t Table_15_Temp_H;   uint8_t Table_15_Temp_L;
1099
-  uint8_t Table_20_Temp_H;   uint8_t Table_20_Temp_L;
1100
-  uint8_t Table_25_Temp_H;   uint8_t Table_25_Temp_L;
1101
-  uint8_t Table_30_Temp_H;   uint8_t Table_30_Temp_L;
1102
-  uint8_t Table_35_Temp_H;   uint8_t Table_35_Temp_L;
1103
-  uint8_t Table_40_Temp_H;   uint8_t Table_40_Temp_L;
1104
-  uint8_t Table_45_Temp_H;   uint8_t Table_45_Temp_L;
1105
-  uint8_t Table_50_Temp_H;   uint8_t Table_50_Temp_L;
1106
-  uint8_t Table_55_Temp_H;   uint8_t Table_55_Temp_L;
1361
+  int8_t Table_1_Temp;   
1362
+  int8_t Table_2_Temp;
1363
+  int8_t Table_3_Temp;   
1364
+  int8_t Table_4_Temp;
1365
+  int8_t Table_5_Temp;   
1366
+  int8_t Table_6_Temp;
1367
+  int8_t Table_7_Temp;   
1368
+  int8_t Table_8_Temp;
1369
+  int8_t Table_9_Temp;   
1370
+  int8_t Table_10_Temp;
1107 1371
 }TEMP_TABLE_st;
1108 1372
 typedef enum{
1109 1373
   Bluecell_DET_UL1_ADC_INDEX_H = 0,

+ 16 - 16
Bluecell_Inc/eeprom.h

@@ -23,22 +23,22 @@
23 23
 #define EEPROM_ATT_UL2_TABLE_ADDRESDS	 (( EEPROM_ATT_UL1_TABLE_ADDRESDS  + (sizeof(ATT_TABLE_st))  )    & 0xFFFF)
24 24
 #define EEPROM_ATT_UL3_TABLE_ADDRESDS	 (( EEPROM_ATT_UL2_TABLE_ADDRESDS  + (sizeof(ATT_TABLE_st))  )    & 0xFFFF)
25 25
 #define EEPROM_ATT_UL4_TABLE_ADDRESDS	 (( EEPROM_ATT_UL3_TABLE_ADDRESDS  + (sizeof(ATT_TABLE_st))  )    & 0xFFFF)//128
26
-#define EEPROM_DET_DL1_TABLE_ADDRESDS	 (( EEPROM_ATT_UL4_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)+ 2))    & 0xFFFF)
27
-#define EEPROM_DET_DL2_TABLE_ADDRESDS	 (( EEPROM_DET_DL1_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)+ 2))    & 0xFFFF)
28
-#define EEPROM_DET_DL3_TABLE_ADDRESDS	 (( EEPROM_DET_DL2_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)+ 2))    & 0xFFFF)
29
-#define EEPROM_DET_DL4_TABLE_ADDRESDS	 (( EEPROM_DET_DL3_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)+ 2))    & 0xFFFF)
30
-#define EEPROM_DET_UL1_TABLE_ADDRESDS	 (( EEPROM_DET_DL4_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st) + 4))     & 0xFFFF)
31
-#define EEPROM_DET_UL2_TABLE_ADDRESDS	 (( EEPROM_DET_UL1_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)+ 4))     & 0xFFFF)
32
-#define EEPROM_DET_UL3_TABLE_ADDRESDS	 (( EEPROM_DET_UL2_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)+ 4))     & 0xFFFF)
33
-#define EEPROM_DET_UL4_TABLE_ADDRESDS	 (( EEPROM_DET_UL3_TABLE_ADDRESDS  + (sizeof(DET_TABLEUL_st)+ 4))     & 0xFFFF)
34
-#define EEPROM_TEMP_DL1_TABLE_ADDRESDS	 (( EEPROM_DET_UL4_TABLE_ADDRESDS  + (sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
35
-#define EEPROM_TEMP_DL2_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL1_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
36
-#define EEPROM_TEMP_DL3_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL2_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
37
-#define EEPROM_TEMP_DL4_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL3_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
38
-#define EEPROM_TEMP_UL1_TABLE_ADDRESDS	 (( EEPROM_TEMP_DL4_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
39
-#define EEPROM_TEMP_UL2_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL1_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
40
-#define EEPROM_TEMP_UL3_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL2_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
41
-#define EEPROM_TEMP_UL4_TABLE_ADDRESDS	 (( EEPROM_TEMP_UL3_TABLE_ADDRESDS +( sizeof(TEMP_TABLE_st)+12))     & 0xFFFF)
26
+#define EEPROM_DET_DL1_TABLE_ADDRESDS	 (( EEPROM_ATT_UL4_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)))    & 0xFFFF)
27
+#define EEPROM_DET_DL2_TABLE_ADDRESDS	 (( EEPROM_DET_DL1_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)))    & 0xFFFF)
28
+#define EEPROM_DET_DL3_TABLE_ADDRESDS	 (( EEPROM_DET_DL2_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)))    & 0xFFFF)
29
+#define EEPROM_DET_DL4_TABLE_ADDRESDS	 (( EEPROM_DET_DL3_TABLE_ADDRESDS  + (sizeof(DET_TABLEDL_st)))    & 0xFFFF)
30
+#define EEPROM_DET_UL1_TABLE_ADDRESDS	 (( EEPROM_DET_DL4_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)
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)
42 42
 #define EEPROM_USER_ATTEN_VALUE_ADDRESDS (( EEPROM_TEMP_UL4_TABLE_ADDRESDS +( sizeof(USER_ATTEN_st)+16))     & 0xFFFF)
43 43
 #define EEPROM_WINDOW_STATUS_ADDRESDS	 ((EEPROM_USER_ATTEN_VALUE_ADDRESDS + (sizeof(BLUESTATUS_st))) & 0xFFFF) //96byte
44 44
 

+ 1 - 1
Bluecell_Inc/uart.h

@@ -14,7 +14,7 @@
14 14
 #define hTest    huart2
15 15
 
16 16
 
17
-#define QUEUE_BUFFER_LENGTH 1024
17
+#define QUEUE_BUFFER_LENGTH 2048
18 18
 
19 19
 typedef struct
20 20
 {

+ 563 - 77
Bluecell_Src/Bluecell_operate.c

@@ -61,7 +61,8 @@ double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
61 61
 void Booting_LED_Check(void);
62 62
 double Bluecell_TestPro(double value );
63 63
 double AGC_AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size);
64
-
64
+void MBIC_Table_Load_TempValueConvert(uint8_t* data);
65
+void MBIC_Table_Save_TempValueConvert(uint8_t* data);
65 66
 
66 67
 
67 68
 
@@ -76,6 +77,7 @@ int8_t AutoControl_Save[sizeof(ALC_dBm_t)];
76 77
 uint16_t ADC1Ret[4];
77 78
 
78 79
 uint16_t ADC3Ret[5];
80
+uint8_t LED_TestCnt = 0;
79 81
 
80 82
 ATT_TABLE_st Att_DL1;
81 83
 ATT_TABLE_st Att_DL2;
@@ -110,6 +112,7 @@ BLUESTATUS_st bluecell_Currdatastatus;
110 112
 BLUESTATUS_st bluecell_Prevdatastatus;
111 113
 
112 114
 
115
+
113 116
 #if 0 // PYJ.2020.05.21_BEGIN -- 
114 117
 int8_t AGC_ATTEN_ref[16] = {
115 118
     15  ,
@@ -155,7 +158,31 @@ void Booting_LED_Check(void){
155 158
     }
156 159
 }
157 160
 
158
-uint8_t LED_TestCnt = 0;
161
+void MBIC_Table_Load_TempValueConvert(uint8_t* data){
162
+    uint16_t tempvalue = 0;
163
+    for(int i = 0; i < sizeof(TEMP_TABLE_st); i+=2){
164
+        tempvalue = data[i + MBIC_TableIndex_Max] << 8 | data[i + MBIC_TableIndex_Max + 1];
165
+        tempvalue *= 4;
166
+        data[i + MBIC_TableIndex_Max + 0] = ((tempvalue & 0xFF00) >> 8);
167
+        data[i + MBIC_TableIndex_Max + 1] = ((tempvalue & 0x00FF)) ;           
168
+    }
169
+
170
+}
171
+void MBIC_Table_Save_TempValueConvert(uint8_t* data){
172
+    uint16_t tempvalue = 0;
173
+    double  ret = 0;
174
+    for(int i = 0; i < sizeof(TEMP_TABLE_st); i+=2){
175
+        tempvalue = data[i + MBIC_TableIndex_Max] << 8 | data[i + MBIC_TableIndex_Max + 1];
176
+        ret = tempvalue / 4;
177
+        ret *=1000;
178
+        tempvalue = (uint16_t)ret;
179
+//        printf("ret : %f\r\n",ret);
180
+        data[i + MBIC_TableIndex_Max + 0] = ((tempvalue & 0xFF00) >> 8);
181
+        data[i + MBIC_TableIndex_Max + 1] = ((tempvalue & 0x00FF)) ;           
182
+    }
183
+
184
+}
185
+
159 186
 void Boot_LED_Toggle(void){
160 187
   if(bluecell_Currdatastatus.LED_TEST == false){
161 188
       if(LedTimerCnt > 1000){
@@ -1013,11 +1040,50 @@ void Bluecell_structprintf(uint8_t* dst,uint8_t size){
1013 1040
 
1014 1041
 
1015 1042
 void Bluecell_DataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
1043
+    printf("Setting Start Value\r\n");
1044
+       for(int i = 0; i < size; i++){
1045
+         dst[i] = src[i];
1046
+         printf("%02x ",src[i]);
1047
+       }
1048
+        printf("Setting Start Value END \r\n");
1049
+
1050
+}
1051
+void MBIC_TableDataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
1052
+    dst[MBIC_TableIndex_Unit_Type] = UNIT_TYPE_MBIC;
1053
+    dst[MBIC_TableIndex_Reseved] = 0;
1054
+    dst[MBIC_TableIndex_Number] = dst[MBIC_TableIndex_Number];
1055
+//    printf("\r\dst[MBIC_TableIndex_Number] : %d \r\n",dst[MBIC_TableIndex_Number]);   
1056
+    dst[MBIC_TableIndex_Ref] = UNIT_TYPE_MBIC;    // Check
1057
+    if(dst[MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
1058
+     &&dst[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){
1059
+        dst[MBIC_TableIndex_Length] = size;   //
1060
+     }
1061
+     else{
1062
+         dst[MBIC_TableIndex_Length] = size / 2;   //
1063
+     }
1064
+
1065
+
1016 1066
     for(int i = 0; i < size; i++){
1017
-      dst[i] = src[i];
1067
+      dst[i + MBIC_TableIndex_Max] = src[i];
1068
+//      printf("SRC : %x \r\n",src[i]);
1018 1069
     }
1070
+ 
1019 1071
 
1020 1072
 }
1073
+void MBIC_TableHeaderCopy(uint8_t* src,uint16_t size){
1074
+    src[MBIC_TableIndex_Unit_Type] = UNIT_TYPE_MBIC;
1075
+    src[MBIC_TableIndex_Reseved] = 0;
1076
+    src[MBIC_TableIndex_Number] = src[MBIC_PAYLOADSTART + 2];
1077
+    
1078
+    if(src[MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
1079
+     &&src[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){
1080
+        src[MBIC_TableIndex_Length] = size;   //
1081
+     }
1082
+     else{
1083
+         src[MBIC_TableIndex_Length] = size / 2;   //
1084
+     }
1085
+}
1086
+
1021 1087
 
1022 1088
 void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1023 1089
     uint8_t tabletype = type;
@@ -1028,7 +1094,6 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1028 1094
         case DLI_P1_ATT_Accuracy_Table_Number: 
1029 1095
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1030 1096
             Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1031
-//            Bluecell_structprintf(&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1032 1097
             data[BLUECELL_LENGTH] = (sizeof(ATT_TABLE_st)) + 7 - 3;
1033 1098
           break;
1034 1099
         case DLI_P2_ATT_Accuracy_Table_Number: 
@@ -1109,52 +1174,51 @@ void Bluecell_TableLoad(uint8_t* data,uint8_t type){
1109 1174
 
1110 1175
             break;
1111 1176
         case DLI_P1_ATT_Temp_guarantee_Table_Number:
1112
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1113
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1177
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1178
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1114 1179
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1115 1180
 
1116 1181
             break;
1117 1182
         case DLI_P2_ATT_Temp_guarantee_Table_Number:
1118
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1119
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1183
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1184
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1120 1185
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1121 1186
 
1122 1187
             break;
1123 1188
         case DLI_P3_ATT_Temp_guarantee_Table_Number:
1124
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1125
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1189
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1190
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1126 1191
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1127 1192
 
1128 1193
             break;
1129 1194
         case DLI_P4_ATT_Temp_guarantee_Table_Number:
1130
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1131
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1195
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1196
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1132 1197
         data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1133 1198
 
1134 1199
         break;
1135 1200
         case ULO_P1_ATT_Temp_guarantee_Table_Number:
1136
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1137
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1201
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1202
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1138 1203
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1139 1204
         
1140 1205
             break;
1141 1206
         case ULO_P2_ATT_Temp_guarantee_Table_Number:
1142
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1143
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1207
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1208
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1144 1209
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1145 1210
         
1146 1211
             break;
1147 1212
         case ULO_P3_ATT_Temp_guarantee_Table_Number:
1148
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1149
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1213
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1214
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1150 1215
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1151 1216
         
1152 1217
             break;
1153 1218
         case ULO_P4_ATT_Temp_guarantee_Table_Number:
1154
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );   
1155
-            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st));
1219
+            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1220
+            Bluecell_DataCopy(&data[BLUECELL_DATA + 1],&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1156 1221
             data[BLUECELL_LENGTH] = (sizeof(TEMP_TABLE_st)) + 7 - 3;
1157
-
1158 1222
             break;
1159 1223
     }
1160 1224
         
@@ -1211,6 +1275,7 @@ void Bluecell_TableSave(uint8_t* data,uint8_t type){
1211 1275
         case DLI_P3_Level_Table_Number: 
1212 1276
             Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1213 1277
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1278
+            break;
1214 1279
         case DLI_P4_Level_Table_Number: 
1215 1280
             Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1216 1281
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
@@ -1232,45 +1297,339 @@ void Bluecell_TableSave(uint8_t* data,uint8_t type){
1232 1297
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1233 1298
             break;
1234 1299
         case DLI_P1_ATT_Temp_guarantee_Table_Number:
1235
-            Bluecell_DataCopy(&Temp_DL1.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1236
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                    
1300
+            Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1301
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1237 1302
             break;
1238 1303
         case DLI_P2_ATT_Temp_guarantee_Table_Number:
1239
-            Bluecell_DataCopy(&Temp_DL2.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1240
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                    
1304
+            Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1305
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1241 1306
             break;
1242 1307
         case DLI_P3_ATT_Temp_guarantee_Table_Number:
1243
-            Bluecell_DataCopy(&Temp_DL3.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1244
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                    
1308
+            Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1309
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1245 1310
             
1246 1311
             break;
1247 1312
         case DLI_P4_ATT_Temp_guarantee_Table_Number:
1248
-            Bluecell_DataCopy(&Temp_DL4.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1249
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                    
1313
+            Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1314
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1250 1315
             break;
1251 1316
         case ULO_P1_ATT_Temp_guarantee_Table_Number:
1252
-            Bluecell_DataCopy(&Temp_UL1.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1253
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                            
1254
-            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                                    
1255
-            Bluecell_structprintf(&Temp_UL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st));        
1317
+            Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1318
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1256 1319
             break;
1257 1320
         case ULO_P2_ATT_Temp_guarantee_Table_Number:
1258
-            Bluecell_DataCopy(&Temp_UL2.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1259
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                            
1321
+            Bluecell_DataCopy(&Temp_UL2.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1322
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1260 1323
             break;
1261 1324
         case ULO_P3_ATT_Temp_guarantee_Table_Number:
1262
-            Bluecell_DataCopy(&Temp_UL3.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1263
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                            
1325
+            Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1326
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1264 1327
             break;
1265 1328
         case ULO_P4_ATT_Temp_guarantee_Table_Number:
1266
-            Bluecell_DataCopy(&Temp_UL4.Table_10_Temp_H,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1267
-            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st));                                
1329
+            Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1330
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1268 1331
             break;
1269 1332
     }
1270 1333
     
1271 1334
 }
1272 1335
 
1273 1336
 
1337
+void MBIC_TableLoad(uint8_t* data,uint8_t type){
1338
+    uint8_t tabletype = type;
1339
+//    OneByteToTwoByte data;
1340
+//    printf("%s : %x \r\n",__func__,tabletype);
1341
+//INDEX :5 COpy Start
1342
+    data[MBIC_CMD_0] = 0xC0;
1343
+    printf("\r\ntabletype : %d \r\n",tabletype);
1344
+
1345
+    switch(tabletype){
1346
+        case DLI_P1_ATT_Accuracy_Table_Number: 
1347
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1348
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1349
+          break;
1350
+        case DLI_P2_ATT_Accuracy_Table_Number: 
1351
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1352
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1353
+            break;
1354
+        case DLI_P3_ATT_Accuracy_Table_Number: 
1355
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );               
1356
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1357
+            break;
1358
+        case DLI_P4_ATT_Accuracy_Table_Number: 
1359
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );               
1360
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1361
+            break;
1362
+        case ULO_P1_ATT_Accuracy_Table_Number: 
1363
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1364
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1365
+        break;
1366
+        case ULO_P2_ATT_Accuracy_Table_Number: 
1367
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1368
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1369
+            break;
1370
+        case ULO_P3_ATT_Accuracy_Table_Number: 
1371
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1372
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1373
+            break;
1374
+        case ULO_P4_ATT_Accuracy_Table_Number: 
1375
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );   
1376
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1377
+            break;
1378
+        case DLI_P1_Level_Table_Number: 
1379
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1380
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1381
+            break;
1382
+        case DLI_P2_Level_Table_Number: 
1383
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1384
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1385
+            break;
1386
+        case DLI_P3_Level_Table_Number: 
1387
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1388
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1389
+            break;
1390
+        case DLI_P4_Level_Table_Number: 
1391
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );   
1392
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1393
+            break;
1394
+        case ULO_P1_Level_Table_Number: 
1395
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1396
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1397
+            break;
1398
+        case ULO_P2_Level_Table_Number: 
1399
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1400
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1401
+        
1402
+            break;
1403
+        case ULO_P3_Level_Table_Number: 
1404
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1405
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1406
+            break;
1407
+        case ULO_P4_Level_Table_Number: 
1408
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );   
1409
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
1410
+
1411
+            break;
1412
+        case DLI_P1_ATT_Temp_guarantee_Table_Number:
1413
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1414
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1415
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1416
+            break;
1417
+        case DLI_P2_ATT_Temp_guarantee_Table_Number:
1418
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1419
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1420
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1421
+            break;
1422
+        case DLI_P3_ATT_Temp_guarantee_Table_Number:
1423
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1424
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1425
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1426
+            break;
1427
+        case DLI_P4_ATT_Temp_guarantee_Table_Number:
1428
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1429
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1430
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1431
+            break;
1432
+        case ULO_P1_ATT_Temp_guarantee_Table_Number:
1433
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1434
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));
1435
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1436
+            break;
1437
+        case ULO_P2_ATT_Temp_guarantee_Table_Number:
1438
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1439
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));
1440
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1441
+            break;
1442
+        case ULO_P3_ATT_Temp_guarantee_Table_Number:
1443
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1444
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));
1445
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1446
+            break;
1447
+        case ULO_P4_ATT_Temp_guarantee_Table_Number:
1448
+//            EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );   
1449
+            MBIC_TableDataCopy(&data[MBIC_PAYLOADSTART],&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));
1450
+            MBIC_Table_Load_TempValueConvert(&data[MBIC_PAYLOADSTART]);
1451
+            break;
1452
+    }
1453
+     printf("\r\Load MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);   
1454
+    
1455
+}
1456
+
1457
+
1458
+void MBIC_TableSave(uint8_t* data,uint8_t type){
1459
+    uint8_t tabletype = type;
1460
+    
1461
+    //printf("%s : %x \r\n",__func__,tabletype);
1462
+    data[MBIC_CMD_0] = 0xC1;
1463
+    switch(tabletype){
1464
+        case DLI_P1_ATT_Accuracy_Table_Number: 
1465
+            Bluecell_DataCopy(&Att_DL1.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1466
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1467
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1468
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P1_Table_Ref;    // Check
1469
+            break;
1470
+        case DLI_P2_ATT_Accuracy_Table_Number: 
1471
+            Bluecell_DataCopy(&Att_DL2.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1472
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1473
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1474
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P2_Table_Ref;    // Check
1475
+//            printf("ADDRESS : %d \r\n",EEPROM_ATT_DL1_TABLE_ADDRESDS );
1476
+            break;
1477
+        case DLI_P3_ATT_Accuracy_Table_Number: 
1478
+            Bluecell_DataCopy(&Att_DL3.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1479
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1480
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1481
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P3_Table_Ref;    // Check
1482
+            break;
1483
+        case DLI_P4_ATT_Accuracy_Table_Number: 
1484
+            Bluecell_DataCopy(&Att_DL4.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1485
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1486
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1487
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P4_Table_Ref;    // Check
1488
+
1489
+            break;
1490
+        case ULO_P1_ATT_Accuracy_Table_Number: 
1491
+            Bluecell_DataCopy(&Att_UL1.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1492
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1493
+        
1494
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1495
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P1_Table_Ref;    // Check
1496
+            break;
1497
+        case ULO_P2_ATT_Accuracy_Table_Number: 
1498
+            Bluecell_DataCopy(&Att_UL2.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1499
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1500
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1501
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P2_Table_Ref;    // Check
1502
+            break;
1503
+        case ULO_P3_ATT_Accuracy_Table_Number: 
1504
+            Bluecell_DataCopy(&Att_UL3.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1505
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1506
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1507
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P3_Table_Ref;    // Check
1508
+
1509
+            break;
1510
+        case ULO_P4_ATT_Accuracy_Table_Number: 
1511
+            Bluecell_DataCopy(&Att_UL4.Table_0_0_dBm,&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));
1512
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1513
+
1514
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1515
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P4_Table_Ref;    // Check
1516
+
1517
+            break;
1518
+        case DLI_P1_Level_Table_Number: 
1519
+            Bluecell_DataCopy(&Det_DL1.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1520
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1521
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1522
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P1_Level_Table_Ref;    // Check
1523
+
1524
+            break;
1525
+        case DLI_P2_Level_Table_Number: 
1526
+            Bluecell_DataCopy(&Det_DL2.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1527
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1528
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1529
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P2_Level_Table_Ref;    // Check
1530
+
1531
+            break;
1532
+        case DLI_P3_Level_Table_Number: 
1533
+            Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1534
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1535
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1536
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P3_Level_Table_Ref;    // Check
1537
+
1538
+            break;
1539
+        case DLI_P4_Level_Table_Number: 
1540
+            Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEDL_st));
1541
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1542
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1543
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_DLI_P4_Level_Table_Ref;    // Check
1544
+
1545
+            break;
1546
+        case ULO_P1_Level_Table_Number: 
1547
+            Bluecell_DataCopy(&Det_UL1.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1548
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1549
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1550
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P1_Level_Table_Ref;    // Check
1551
+
1552
+            break;
1553
+        case ULO_P2_Level_Table_Number: 
1554
+            Bluecell_DataCopy(&Det_UL2.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1555
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1556
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1557
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P2_Level_Table_Ref;    // Check
1558
+
1559
+        break;
1560
+        case ULO_P3_Level_Table_Number: 
1561
+            Bluecell_DataCopy(&Det_UL3.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1562
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1563
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1564
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P3_Level_Table_Ref;    // Check
1565
+
1566
+            break;
1567
+        case ULO_P4_Level_Table_Number: 
1568
+            Bluecell_DataCopy(&Det_UL4.Table_Det_15_dBm_H,&data[MBIC_PAYLOADSTART + 5],sizeof(DET_TABLEUL_st));
1569
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1570
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1571
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_ULO_P4_Level_Table_Ref;    // Check
1572
+
1573
+            break;
1574
+        case DLI_P1_ATT_Temp_guarantee_Table_Number:
1575
+            Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1576
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1577
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1578
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P1_Level_Table_Ref;    // Check
1579
+
1580
+            break;
1581
+        case DLI_P2_ATT_Temp_guarantee_Table_Number:
1582
+            Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1583
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1584
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1585
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P2_Level_Table_Ref;    // Check
1586
+
1587
+            break;
1588
+        case DLI_P3_ATT_Temp_guarantee_Table_Number:
1589
+            Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1590
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1591
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1592
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P3_Level_Table_Ref;    // Check        
1593
+            break;
1594
+        case DLI_P4_ATT_Temp_guarantee_Table_Number:
1595
+            Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1596
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1597
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1598
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_DL_P4_Level_Table_Ref;    // Check
1599
+
1600
+            break;
1601
+        case ULO_P1_ATT_Temp_guarantee_Table_Number:
1602
+            Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1603
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1604
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1605
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P1_Level_Table_Ref;    // Check
1606
+
1607
+            break;
1608
+        case ULO_P2_ATT_Temp_guarantee_Table_Number:
1609
+            Bluecell_DataCopy(&Temp_UL2.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1610
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1611
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1612
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P2_Level_Table_Ref;    // Check
1613
+
1614
+            break;
1615
+        case ULO_P3_ATT_Temp_guarantee_Table_Number:
1616
+            Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1617
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1618
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1619
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P3_Level_Table_Ref;    // Check
1620
+
1621
+            break;
1622
+        case ULO_P4_ATT_Temp_guarantee_Table_Number:
1623
+            Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[MBIC_PAYLOADSTART + 5],sizeof(TEMP_TABLE_st));
1624
+            EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1625
+            MBIC_TableHeaderCopy(&data[MBIC_PAYLOADSTART + 5],sizeof(ATT_TABLE_st));   
1626
+            data[MBIC_PAYLOADSTART + MBIC_TableIndex_Ref] = bluecell_Currdatastatus.MBIC_TEMP_UL_P4_Level_Table_Ref;    // Check
1627
+
1628
+            break;
1629
+    }
1630
+    printf("\r\Setting MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);   
1631
+}
1632
+
1274 1633
 
1275 1634
 
1276 1635
 
@@ -1532,7 +1891,6 @@ bool Bluecell_Operate(uint8_t* data){
1532 1891
     case ATT_TableGet:
1533 1892
         Bluecell_TableLoad(data, data[BLUECELL_DATA]);
1534 1893
         data[BLUECELL_TYPE] = ATT_TableGet;
1535
-
1536 1894
         data[data[BLUECELL_LENGTH] + 1] = ((CRC16_Generate(&data[BLUECELL_TYPE], data[BLUECELL_LENGTH]) & 0xFF00) >> 8);
1537 1895
         data[data[BLUECELL_LENGTH] + 2] = CRC16_Generate(&data[BLUECELL_TYPE], data[BLUECELL_LENGTH]) & 0x00FF;        
1538 1896
         data[data[BLUECELL_LENGTH] + 3] = 0xEB;
@@ -1848,13 +2206,52 @@ void DataStatusSet(void){
1848 2206
         
1849 2207
      
1850 2208
 }
2209
+typedef enum{
2210
+ MBIC_3_7G  =     0x80  ,              
2211
+ MBIC_3_8G     ,
2212
+ MBIC_3_9G     ,
2213
+ MBIC_4_0G     ,
2214
+ MBIC_4_1G     ,
2215
+ MBIC_4_6G     ,
2216
+ MBIC_4_7G     ,
2217
+ MBIC_4_8G     ,
2218
+ MBIC_4_9G     ,
2219
+ MBIC_5_0G     ,
2220
+ MBIC_DCM      ,
2221
+ MBIC_SBM      ,
2222
+ MBIC_KDDI     ,
2223
+}MBIC_CardType_t;
2224
+
1851 2225
  void Bluecell_DataInit(){
1852 2226
 /*
1853 2227
     MBIC Request List 
1854 2228
     Turn off all paths at boot
1855 2229
  */
1856
-    
1857
-#if 0 // PYJ.2020.06.17_BEGIN -- 
2230
+   bluecell_Currdatastatus.Type +=  HAL_GPIO_ReadPin(UNIT_ID0_GPIO_Port,UNIT_ID0_Pin);
2231
+   bluecell_Currdatastatus.Type +=  HAL_GPIO_ReadPin(UNIT_ID1_GPIO_Port,UNIT_ID1_Pin) << 1;
2232
+   bluecell_Currdatastatus.Type +=  HAL_GPIO_ReadPin(UNIT_ID2_GPIO_Port,UNIT_ID2_Pin) << 2;
2233
+   bluecell_Currdatastatus.Type +=  HAL_GPIO_ReadPin(UNIT_ID3_GPIO_Port,UNIT_ID3_Pin) << 3;
2234
+    switch(bluecell_Currdatastatus.Type){
2235
+     case MBIC_3_7G: bluecell_Currdatastatus.Carrier_ID = 0x01; break;
2236
+     case MBIC_3_8G: bluecell_Currdatastatus.Carrier_ID = 0x02; break;
2237
+     case MBIC_3_9G: bluecell_Currdatastatus.Carrier_ID = 0x04; break;
2238
+     case MBIC_4_0G: bluecell_Currdatastatus.Carrier_ID = 0x03; break;
2239
+     case MBIC_4_1G: bluecell_Currdatastatus.Carrier_ID = 0x02; break;
2240
+     case MBIC_4_6G: bluecell_Currdatastatus.Carrier_ID = 0x01; break;
2241
+     case MBIC_4_7G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2242
+     case MBIC_4_8G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2243
+     case MBIC_4_9G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2244
+     case MBIC_5_0G: bluecell_Currdatastatus.Carrier_ID = 0x00; break;
2245
+     case MBIC_DCM : bluecell_Currdatastatus.Carrier_ID = 0x01; break;
2246
+     case MBIC_SBM : bluecell_Currdatastatus.Carrier_ID = 0x03; break;
2247
+     case MBIC_KDDI: bluecell_Currdatastatus.Carrier_ID = 0x02; break;
2248
+     default : printf("Type %x  Ready....\r\n",bluecell_Currdatastatus.Type);break;
2249
+    }
2250
+
2251
+
2252
+
2253
+  //  printf("bluecell_Currdatastatus.Type : %02x \r\n",bluecell_Currdatastatus.Type);
2254
+#if 1 // PYJ.2020.06.17_BEGIN -- 
1858 2255
     HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,bluecell_Currdatastatus.ATT_DL1_PATH);   
1859 2256
     HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,bluecell_Currdatastatus.ATT_DL2_PATH);   
1860 2257
     HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,bluecell_Currdatastatus.ATT_DL3_PATH);   
@@ -3086,47 +3483,136 @@ bool MBIC_Operate(uint8_t* data){
3086 3483
     }
3087 3484
     else if(cmd == MBIC_Table_Get){
3088 3485
         /*Table Get */
3089
-        if(data[MBIC_PAYLOADSTART + 0] == UNIT_TYPE_MBIC){
3090 3486
 //            data[MBIC_PAYLOADSTART + 1] //Reserve Data
3091
-            switch(data[MBIC_PAYLOADSTART + 2]){
3092
-            	case DLI_P1_Level_Table_Number                 :
3093
-            	case DLI_P2_Level_Table_Number                 :
3094
-            	case DLI_P3_Level_Table_Number                 :
3095
-            	case DLI_P4_Level_Table_Number                 :
3096
-            	case ULO_P1_Level_Table_Number                 :
3097
-            	case ULO_P2_Level_Table_Number                 :
3098
-            	case ULO_P3_Level_Table_Number                 :
3099
-            	case ULO_P4_Level_Table_Number                 :
3100
-            	case DLI_P1_ATT_Temp_guarantee_Table_Number    :
3101
-            	case DLI_P2_ATT_Temp_guarantee_Table_Number    :
3102
-            	case DLI_P3_ATT_Temp_guarantee_Table_Number    :
3103
-            	case DLI_P4_ATT_Temp_guarantee_Table_Number    :
3104
-            	case ULO_P1_ATT_Temp_guarantee_Table_Number    :
3105
-            	case ULO_P2_ATT_Temp_guarantee_Table_Number    :
3106
-            	case ULO_P3_ATT_Temp_guarantee_Table_Number    :
3107
-            	case ULO_P4_ATT_Temp_guarantee_Table_Number    :
3108
-            	case DLI_P1_ATT_Accuracy_Table_Number          :
3109
-            	case DLI_P2_ATT_Accuracy_Table_Number          :
3110
-            	case DLI_P3_ATT_Accuracy_Table_Number          :
3111
-            	case DLI_P4_ATT_Accuracy_Table_Number          :
3112
-            	case ULO_P1_ATT_Accuracy_Table_Number          :
3113
-            	case ULO_P2_ATT_Accuracy_Table_Number          :
3114
-            	case ULO_P3_ATT_Accuracy_Table_Number          :
3115
-            	case ULO_P4_ATT_Accuracy_Table_Number          :
3116
-              //Header 문장 + sizeof(ATT_TABLE_st) + EXT 문장 Length 추가 
3117
-                Bluecell_TableLoad(&data[MBIC_PAYLOADSTART],data[MBIC_PAYLOADSTART + 2]);
3118
-            }
3487
+        protocolTableLoadReplay:
3488
+
3489
+        switch(data[MBIC_PAYLOADSTART + 2]){
3490
+        	case DLI_P1_Level_Table_Number                 :
3491
+        	case DLI_P2_Level_Table_Number                 :
3492
+        	case DLI_P3_Level_Table_Number                 :
3493
+        	case DLI_P4_Level_Table_Number                 :
3494
+        	case ULO_P1_Level_Table_Number                 :
3495
+        	case ULO_P2_Level_Table_Number                 :
3496
+        	case ULO_P3_Level_Table_Number                 :
3497
+        	case ULO_P4_Level_Table_Number                 :
3498
+        	case DLI_P1_ATT_Temp_guarantee_Table_Number    :
3499
+        	case DLI_P2_ATT_Temp_guarantee_Table_Number    :
3500
+        	case DLI_P3_ATT_Temp_guarantee_Table_Number    :
3501
+        	case DLI_P4_ATT_Temp_guarantee_Table_Number    :
3502
+        	case ULO_P1_ATT_Temp_guarantee_Table_Number    :
3503
+        	case ULO_P2_ATT_Temp_guarantee_Table_Number    :
3504
+        	case ULO_P3_ATT_Temp_guarantee_Table_Number    :
3505
+        	case ULO_P4_ATT_Temp_guarantee_Table_Number    :
3506
+        	case DLI_P1_ATT_Accuracy_Table_Number          :
3507
+        	case DLI_P2_ATT_Accuracy_Table_Number          :
3508
+        	case DLI_P3_ATT_Accuracy_Table_Number          :
3509
+        	case DLI_P4_ATT_Accuracy_Table_Number          :
3510
+        	case ULO_P1_ATT_Accuracy_Table_Number          :
3511
+        	case ULO_P2_ATT_Accuracy_Table_Number          :
3512
+        	case ULO_P3_ATT_Accuracy_Table_Number          :
3513
+        	case ULO_P4_ATT_Accuracy_Table_Number          :
3514
+                MBIC_TableLoad(data,data[MBIC_PAYLOADSTART + 2]);
3515
+                if(data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
3516
+                 &&data[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){                
3517
+                    MBIC_HeaderMergeFunction(data,data[MBIC_PAYLOADSTART + 4] + 5);
3518
+                    data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);        
3519
+                    uint16_t crcret = ((CRC16_Generate(&data[MBIC_PAYLOADSTART], (data[MBIC_PAYLOADSTART + 4] ) + 5) ) );
3520
+                        printf("\r\n crc ret : %x \r\n",crcret);
3521
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] ) + 5] =(( crcret  & 0xFF00)>> 8);  
3522
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] ) + 6] = (( crcret  & 0x00FF));  
3523
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] ) + 7] = 0x03; 
3524
+
3525
+                    Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4]) + 5 + 22 + 3);
3119 3526
 
3120
-        }
3121
-        data[MBIC_PAYLOADSTART + i++] = 0x00;
3122
-        data[MBIC_PAYLOADSTART + i++] = 0x00;    
3123
-            
3527
+                }else{
3528
+                    MBIC_HeaderMergeFunction(data,(data[MBIC_PAYLOADSTART + 4] * 2) + 5);
3529
+                    data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);        
3530
+                    uint16_t crcret = ((CRC16_Generate(&data[MBIC_PAYLOADSTART], (data[MBIC_PAYLOADSTART + 4] * 2) + 5) ) );
3531
+                        printf("\r\n crc ret : %x \r\n",crcret);
3532
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] * 2) + 5] =(( crcret  & 0xFF00)>> 8);  
3533
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] * 2) + 6] = (( crcret  & 0x00FF));  
3534
+                    data[MBIC_PAYLOADSTART + (data[MBIC_PAYLOADSTART + 4] * 2) + 7] = 0x03; 
3535
+                    Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4] * 2) + 5 + 22 + 3);
3536
+                }
3537
+                
3538
+            break;
3539
+       }
3540
+       
3541
+//        if(/*data[MBIC_PAYLOADSTART + data[MBIC_PAYLOADSTART + 4] + 2 ] == 0xE0 && */occurlen > 0){
3542
+//            occurlen -= data[MBIC_PAYLOADSTART + 2] + 5;
3543
+//            for(int k = 0; k < occurlen; k++){
3544
+//                data[MBIC_PAYLOADSTART + k] = data[MBIC_PAYLOADSTART + data[MBIC_PAYLOADSTART + 2] + 5 + k];
3545
+//            }
3546
+//            goto protocolTableLoadReplay;
3547
+//        }        
3124 3548
     }
3125 3549
     else if(cmd == MBIC_Table_Set){
3550
+            protocolTableSaveReplay:
3551
+//            data[MBIC_PAYLOADSTART + 1] //Reserve Data
3552
+            switch(data[MBIC_PAYLOADSTART + 2]){
3553
+                case DLI_P1_Level_Table_Number                 :
3554
+                case DLI_P2_Level_Table_Number                 :
3555
+                case DLI_P3_Level_Table_Number                 :
3556
+                case DLI_P4_Level_Table_Number                 :
3557
+                case ULO_P1_Level_Table_Number                 :
3558
+                case ULO_P2_Level_Table_Number                 :
3559
+                case ULO_P3_Level_Table_Number                 :
3560
+                case ULO_P4_Level_Table_Number                 :
3561
+                case DLI_P1_ATT_Temp_guarantee_Table_Number    :
3562
+                case DLI_P2_ATT_Temp_guarantee_Table_Number    :
3563
+                case DLI_P3_ATT_Temp_guarantee_Table_Number    :
3564
+                case DLI_P4_ATT_Temp_guarantee_Table_Number    :
3565
+                case ULO_P1_ATT_Temp_guarantee_Table_Number    :
3566
+                case ULO_P2_ATT_Temp_guarantee_Table_Number    :
3567
+                case ULO_P3_ATT_Temp_guarantee_Table_Number    :
3568
+                case ULO_P4_ATT_Temp_guarantee_Table_Number    :
3569
+                case DLI_P1_ATT_Accuracy_Table_Number          :
3570
+                case DLI_P2_ATT_Accuracy_Table_Number          :
3571
+                case DLI_P3_ATT_Accuracy_Table_Number          :
3572
+                case DLI_P4_ATT_Accuracy_Table_Number          :
3573
+                case ULO_P1_ATT_Accuracy_Table_Number          :
3574
+                case ULO_P2_ATT_Accuracy_Table_Number          :
3575
+                case ULO_P3_ATT_Accuracy_Table_Number          :
3576
+                case ULO_P4_ATT_Accuracy_Table_Number          :
3577
+              //Header 문장 + sizeof(ATT_TABLE_st) + EXT 문장 Length 추가 
3578
+                MBIC_TableSave(data,data[MBIC_PAYLOADSTART + 2]);
3579
+                if(data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
3580
+                 &&data[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){                
3581
+                    MBIC_HeaderMergeFunction(data,1);
3582
+                    data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);
3583
+//                    Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4]) + 5 + 22 + 3);
3584
+                    uint16_t crcret = (CRC16_Generate(&data[MBIC_PAYLOADSTART], 1 ) );
3585
+                        printf("\r\n crc ret : %x \r\n",crcret);
3586
+                    data[MBIC_PAYLOADSTART + 1] =(( crcret  & 0xFF00)>> 8);  
3587
+                    data[MBIC_PAYLOADSTART + 2] = (( crcret  & 0x00FF));  
3588
+                    data[MBIC_PAYLOADSTART + 3] = 0x03; 
3589
+
3590
+                    Uart1_Data_Send(data,   22 + 3 + 1);
3591
+
3592
+                }else{
3593
+                    MBIC_HeaderMergeFunction(data,1);
3594
+                    data[MBIC_HEADERCHECKSUM_0] = Chksum_Create(data);
3595
+                    uint16_t crcret = (CRC16_Generate(&data[MBIC_PAYLOADSTART], 1) ) ;
3596
+                    printf("\r\n crc ret : %x \r\n",crcret);
3597
+                    data[MBIC_PAYLOADSTART + 1] =(( crcret  & 0xFF00)>> 8);  
3598
+                    data[MBIC_PAYLOADSTART + 2] = (( crcret  & 0x00FF));  
3599
+                    data[MBIC_PAYLOADSTART + 3] = 0x03; 
3600
+
3601
+                    Uart1_Data_Send(data,   22 + 3 + 1);
3602
+//                    Uart1_Data_Send(data, (data[MBIC_PAYLOADSTART + 4] * 2) + 5 + 22 + 3);
3603
+                }                
3604
+            }
3605
+//            if(/*data[MBIC_PAYLOADSTART + data[MBIC_PAYLOADSTART + 4] + 2 ] == 0xE0 && */occurlen > 0){
3606
+//                occurlen -= data[MBIC_PAYLOADSTART + 2] + 5;
3607
+//                for(int k = 0; k < occurlen; k++){
3608
+//                    data[MBIC_PAYLOADSTART + k] = data[MBIC_PAYLOADSTART + data[MBIC_PAYLOADSTART + 2] + 5 + k];
3609
+//                }
3610
+//                goto protocolTableSaveReplay;
3611
+//            }
3126 3612
 
3127 3613
     }
3128 3614
     else{
3129
-        MBIC_Bootloader_FirmwareUpdate();
3615
+//        MBIC_Bootloader_FirmwareUpdate();
3130 3616
         /*NOP*/
3131 3617
         printf("DATA ERR\r\n");
3132 3618
     }
@@ -3891,7 +4377,7 @@ void ALC_Function(){ //DL
3891 4377
     int16_t Limitdata = 0;
3892 4378
     double ResdBm = 0;
3893 4379
     int16_t IwillGiveAtten = 0;
3894
-    uint8_t tempadc[100];
4380
+    uint8_t tempadc[256];
3895 4381
     ALC_dBm_t ALC_Table_ref = {
3896 4382
         -15 ,    -16 ,    -17 ,    -18 ,  -19 ,
3897 4383
         -20 ,    -21 ,    -22 ,    -23 ,  -24 ,    -25 ,    -26 ,    -27 ,

+ 8 - 8
Bluecell_Src/eeprom.c

@@ -49,16 +49,16 @@ void EEPROM_M24C08_Init(void){
49 49
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
50 50
 
51 51
 
52
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
53
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
54
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
55
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
52
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
53
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
54
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
55
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
56 56
 
57 57
 
58
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
59
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
60
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
61
-    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_10_Temp_H,sizeof(TEMP_TABLE_st) );
58
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
59
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
60
+    EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.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 64
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;

+ 4 - 3
Bluecell_Src/uart.c

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

+ 8 - 0
Inc/main.h

@@ -145,6 +145,14 @@ extern I2C_HandleTypeDef hi2c2;
145 145
 #define MBIC_UP_GPIO_Port GPIOA
146 146
 #define MBIC_DOWN_Pin GPIO_PIN_10
147 147
 #define MBIC_DOWN_GPIO_Port GPIOA
148
+#define UNIT_ID0_Pin GPIO_PIN_10
149
+#define UNIT_ID0_GPIO_Port GPIOC
150
+#define UNIT_ID1_Pin GPIO_PIN_11
151
+#define UNIT_ID1_GPIO_Port GPIOC
152
+#define UNIT_ID2_Pin GPIO_PIN_12
153
+#define UNIT_ID2_GPIO_Port GPIOC
154
+#define UNIT_ID3_Pin GPIO_PIN_0
155
+#define UNIT_ID3_GPIO_Port GPIOD
148 156
 #define ATT_CLOCK2_Pin GPIO_PIN_2
149 157
 #define ATT_CLOCK2_GPIO_Port GPIOD
150 158
 #define ATT_DATA2_Pin GPIO_PIN_3

+ 1 - 1
STM32F103ZET_JDASMBIC.elf.launch

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

+ 37 - 17
STM32F103ZET_JDASMBIC.ioc

@@ -151,28 +151,32 @@ Mcu.Pin37=PA10
151 151
 Mcu.Pin38=PA13
152 152
 Mcu.Pin39=PA14
153 153
 Mcu.Pin4=PF7
154
-Mcu.Pin40=PD2
155
-Mcu.Pin41=PD3
156
-Mcu.Pin42=PD4
157
-Mcu.Pin43=PD7
158
-Mcu.Pin44=PG9
159
-Mcu.Pin45=PG10
160
-Mcu.Pin46=PG11
161
-Mcu.Pin47=PG12
162
-Mcu.Pin48=PG13
163
-Mcu.Pin49=PG14
154
+Mcu.Pin40=PC10
155
+Mcu.Pin41=PC11
156
+Mcu.Pin42=PC12
157
+Mcu.Pin43=PD0
158
+Mcu.Pin44=PD2
159
+Mcu.Pin45=PD3
160
+Mcu.Pin46=PD4
161
+Mcu.Pin47=PD7
162
+Mcu.Pin48=PG9
163
+Mcu.Pin49=PG10
164 164
 Mcu.Pin5=PF8
165
-Mcu.Pin50=PG15
166
-Mcu.Pin51=PB6
167
-Mcu.Pin52=PB7
168
-Mcu.Pin53=PB9
169
-Mcu.Pin54=VP_SYS_VS_tim2
170
-Mcu.Pin55=VP_TIM6_VS_ClockSourceINT
165
+Mcu.Pin50=PG11
166
+Mcu.Pin51=PG12
167
+Mcu.Pin52=PG13
168
+Mcu.Pin53=PG14
169
+Mcu.Pin54=PG15
170
+Mcu.Pin55=PB6
171
+Mcu.Pin56=PB7
172
+Mcu.Pin57=PB9
173
+Mcu.Pin58=VP_SYS_VS_tim2
174
+Mcu.Pin59=VP_TIM6_VS_ClockSourceINT
171 175
 Mcu.Pin6=PF9
172 176
 Mcu.Pin7=PF10
173 177
 Mcu.Pin8=PC2
174 178
 Mcu.Pin9=PA2
175
-Mcu.PinsNb=56
179
+Mcu.PinsNb=60
176 180
 Mcu.ThirdPartyNb=0
177 181
 Mcu.UserConstants=
178 182
 Mcu.UserName=STM32F103ZETx
@@ -263,6 +267,18 @@ PB9.GPIOParameters=GPIO_Label
263 267
 PB9.GPIO_Label=ATT_EN_DL1
264 268
 PB9.Locked=true
265 269
 PB9.Signal=GPIO_Output
270
+PC10.GPIOParameters=GPIO_Label
271
+PC10.GPIO_Label=UNIT_ID0
272
+PC10.Locked=true
273
+PC10.Signal=GPIO_Input
274
+PC11.GPIOParameters=GPIO_Label
275
+PC11.GPIO_Label=UNIT_ID1
276
+PC11.Locked=true
277
+PC11.Signal=GPIO_Input
278
+PC12.GPIOParameters=GPIO_Label
279
+PC12.GPIO_Label=UNIT_ID2
280
+PC12.Locked=true
281
+PC12.Signal=GPIO_Input
266 282
 PC15-OSC32_OUT.GPIOParameters=GPIO_Label
267 283
 PC15-OSC32_OUT.GPIO_Label=BOOT_LED
268 284
 PC15-OSC32_OUT.Locked=true
@@ -275,6 +291,10 @@ PC6.GPIOParameters=GPIO_Label
275 291
 PC6.GPIO_Label=PATH_EN_UL1
276 292
 PC6.Locked=true
277 293
 PC6.Signal=GPIO_Output
294
+PD0.GPIOParameters=GPIO_Label
295
+PD0.GPIO_Label=UNIT_ID3
296
+PD0.Locked=true
297
+PD0.Signal=GPIO_Input
278 298
 PD10.GPIOParameters=GPIO_Label
279 299
 PD10.GPIO_Label=PATH_EN_DL2
280 300
 PD10.Locked=true

+ 16 - 3
Src/main.c

@@ -162,7 +162,7 @@ uint16_t adc3cnt = 0 ;
162 162
 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
163 163
 {
164 164
 //?��?��?�� 코드 ?��?��
165
-//만약 ?��?�� adc?���???????????? �?????????????��?�� ?�� ?��?���???????????? ?��?���???????????? ?��?��?? 같이 조건�???????????? ?��?��
165
+//만약 ?��?�� adc?���???????????????????????????��?�� ?�� ?��?���????????????? ?��?���????????????? ?��?��?? 같이 조건�????????????? ?��?��
166 166
 
167 167
     if(hadc->Instance == hadc1.Instance)
168 168
     {
@@ -366,11 +366,12 @@ int main(void)
366 366
     printf("Copyright (c) 2020. BLUECELL\r\n");
367 367
     printf("****************************************\r\n");
368 368
 #endif // PYJ.2020.05.06_END --   
369
-  MBIC_APIFLASH_test();
369
+//  MBIC_APIFLASH_test();
370 370
   //Flash_InitRead();
371 371
 
372 372
   Booting_LedInit();
373 373
   Booting_LED_Check();
374
+  InitUartQueue(&TerminalQueue);
374 375
 #if 0 // PYJ.2020.04.22_BEGIN -- 
375 376
   EEPROM_M24C08_write(0xA0,0,i2cTestData,1);
376 377
   printf("i2c Test Data1 %d\r\n",i2ctest[0]);
@@ -391,7 +392,7 @@ int main(void)
391 392
 //    uint16_t rrrrrr = 0;
392 393
 //  rrrrrr = ((CRC16_Generate(&retdate[0], 10)));  
393 394
 //  printf("CRC : %x \r\n",rrrrrr);
394
-  InitUartQueue(&TerminalQueue);
395
+
395 396
   while (1)
396 397
   {
397 398
 //	  HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
@@ -874,6 +875,18 @@ static void MX_GPIO_Init(void)
874 875
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
875 876
   HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
876 877
 
878
+  /*Configure GPIO pins : UNIT_ID0_Pin UNIT_ID1_Pin UNIT_ID2_Pin */
879
+  GPIO_InitStruct.Pin = UNIT_ID0_Pin|UNIT_ID1_Pin|UNIT_ID2_Pin;
880
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
881
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
882
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
883
+
884
+  /*Configure GPIO pin : UNIT_ID3_Pin */
885
+  GPIO_InitStruct.Pin = UNIT_ID3_Pin;
886
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
887
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
888
+  HAL_GPIO_Init(UNIT_ID3_GPIO_Port, &GPIO_InitStruct);
889
+
877 890
 }
878 891
 
879 892
 /* USER CODE BEGIN 4 */