Browse Source

함수 정리 / MBIC OPERATE 함수 구성

PYJ 5 years ago
parent
commit
5611f1696c
2 changed files with 86 additions and 76 deletions
  1. 7 4
      Bluecell_Inc/Bluecell_operate.h
  2. 79 72
      Bluecell_Src/Bluecell_operate.c

+ 7 - 4
Bluecell_Inc/Bluecell_operate.h

@@ -69,8 +69,9 @@ typedef enum{
69
 	MBIC_RCODE_0,
69
 	MBIC_RCODE_0,
70
 	MBIC_TRID_0,
70
 	MBIC_TRID_0,
71
 	MBIC_TRID_1,
71
 	MBIC_TRID_1,
72
-	MBIC_SEQSUM_0, // 10byte
73
-	MBIC_TTL_0,
72
+	MBIC_SEQSUM_0, // 9Index
73
+	
74
+	MBIC_TTL_0, //10 INDEX
74
 	MBIC_TIME_0,
75
 	MBIC_TIME_0,
75
 	MBIC_TIME_1,
76
 	MBIC_TIME_1,
76
 	MBIC_TIME_2,
77
 	MBIC_TIME_2,
@@ -79,8 +80,10 @@ typedef enum{
79
 	MBIC_TIME_5,
80
 	MBIC_TIME_5,
80
 	MBIC_ERRRESPONSE_0,
81
 	MBIC_ERRRESPONSE_0,
81
 	MBIC_CMD_0,
82
 	MBIC_CMD_0,
82
-	MBIC_LENGTH_0, // 20byte
83
-	MBIC_LENGTH_1,
83
+	MBIC_LENGTH_0, // 19INDEX
84
+
85
+    
86
+	MBIC_LENGTH_1, // 20
84
 	MBIC_HEADERCHECKSUM_0,
87
 	MBIC_HEADERCHECKSUM_0,
85
 	MBIC_PAYLOADSTART,
88
 	MBIC_PAYLOADSTART,
86
 	/*
89
 	/*

+ 79 - 72
Bluecell_Src/Bluecell_operate.c

@@ -20,17 +20,6 @@ BLUECELL_LENGTH,
20
 BLUECELL_CRCINDEX,
20
 BLUECELL_CRCINDEX,
21
 BLUECELL_DATA,
21
 BLUECELL_DATA,
22
 }BLUECELLProt_st;
22
 }BLUECELLProt_st;
23
-typedef struct{
24
-    bool AGC1_En;
25
-    bool AGC2_En;
26
-    bool AGC3_En;
27
-    bool AGC4_En;
28
-    bool ALC1_En;
29
-    bool ALC2_En;
30
-    bool ALC3_En;
31
-    bool ALC4_En;
32
-}AutoCtrl_st;
33
-
34
 
23
 
35
 
24
 
36
 typedef enum{
25
 typedef enum{
@@ -59,6 +48,33 @@ typedef enum{
59
     Bluecell_Table_TEMP_DL4,
48
     Bluecell_Table_TEMP_DL4,
60
     Bluecell_Table_TEMP_UL4,
49
     Bluecell_Table_TEMP_UL4,
61
 }Bluecell_tableIndex;
50
 }Bluecell_tableIndex;
51
+typedef enum{
52
+    MBIC_PROT_PREAMBLE0_INDEX,
53
+    MBIC_PROT_PREAMBLE1_INDEX,
54
+    MBIC_PROT_PREAMBLE2_INDEX,
55
+    MBIC_PROT_PREAMBLE3_INDEX,    
56
+    MBIC_PROT_SUB_UID0_INDEX,        
57
+    MBIC_PROT_SUB_UID1_INDEX,            
58
+    MBIC_PROT_R_CODE_INDEX,                
59
+    MBIC_PROT_TR_ID0_INDEX,                    
60
+    MBIC_PROT_TR_ID1_INDEX,                        
61
+    MBIC_PROT_SEQ_NUM_INDEX,                            
62
+    MBIC_PROT_TTL_INDEX,                                
63
+    MBIC_PROT_TIME0_INDEX,                                    
64
+    MBIC_PROT_TIME1_INDEX,                                    
65
+    MBIC_PROT_TIME2_INDEX,                                    
66
+    MBIC_PROT_TIME3_INDEX,                                    
67
+    MBIC_PROT_TIME4_INDEX,                                    
68
+    MBIC_PROT_TIME5_INDEX,  
69
+    MBIC_PROT_ERR_RESP_INDEX,      
70
+    MBIC_PROT_CMD_INDEX,          
71
+    MBIC_PROT_LENGTH_INDEX,              
72
+    MBIC_PROT_HEADERCHECKSUM_INDEX,  
73
+    MBIC_PROT_SUB_DATA_INDEX,      
74
+
75
+    MBIC_PROT_INDEX_MAX,
76
+
77
+};
62
     
78
     
63
 ATT_TABLE_st Att_DL1;
79
 ATT_TABLE_st Att_DL1;
64
 ATT_TABLE_st Att_DL2;
80
 ATT_TABLE_st Att_DL2;
@@ -92,6 +108,16 @@ extern ALL_PE43711_st ALL_ATT;
92
 BLUESTATUS_st bluecell_Currdatastatus;
108
 BLUESTATUS_st bluecell_Currdatastatus;
93
 BLUESTATUS_st bluecell_Prevdatastatus;
109
 BLUESTATUS_st bluecell_Prevdatastatus;
94
 USER_ATTEN_st bluecell_UserData;
110
 USER_ATTEN_st bluecell_UserData;
111
+typedef struct{
112
+    bool AGC1_En;
113
+    bool AGC2_En;
114
+    bool AGC3_En;
115
+    bool AGC4_En;
116
+    bool ALC1_En;
117
+    bool ALC2_En;
118
+    bool ALC3_En;
119
+    bool ALC4_En;
120
+}AutoCtrl_st;
95
 
121
 
96
 //5~ - 25 
122
 //5~ - 25 
97
 typedef struct{
123
 typedef struct{
@@ -215,8 +241,17 @@ ALC_dBm_t ALC_Table_ref = {
215
     -60 ,
241
     -60 ,
216
 
242
 
217
 };
243
 };
244
+
245
+
246
+
247
+
248
+double TableAtteGuarantee(uint8_t* Table,double AttenValue);
249
+uint8_t PE43711_Calc(uint8_t* Table,uint8_t high_bit,uint8_t low_bit,uint8_t offset_h,uint8_t offset_l);
250
+uint8_t PE43711_Calc_NoTable(uint8_t high_bit,uint8_t low_bit);
251
+double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
218
 uint8_t AutoControl_Save[sizeof(ALC_dBm_t)];
252
 uint8_t AutoControl_Save[sizeof(ALC_dBm_t)];
219
 
253
 
254
+uint8_t MBIC_TxDataArray[256] = {0,};
220
 
255
 
221
 
256
 
222
 void Boot_LED_Toggle(void){
257
 void Boot_LED_Toggle(void){
@@ -227,40 +262,7 @@ void Boot_LED_Toggle(void){
227
   }
262
   }
228
 }
263
 }
229
 
264
 
230
-uint8_t* MBIC_HeaderDataSetting(uint8_t* data){
231
-	ResultData[MBIC_PREAMBLE_0] = MBIC_PREAMBLE0;
232
-	ResultData[MBIC_PREAMBLE_1] = MBIC_PREAMBLE1;
233
-	ResultData[MBIC_PREAMBLE_2] = MBIC_PREAMBLE2;
234
-	ResultData[MBIC_PREAMBLE_3] = MBIC_PREAMBLE3;
235
-
236
-	ResultData[MBIC_SUBUID_0] = MBIC_SUBUID0;
237
-	ResultData[MBIC_SUBUID_1] = MBIC_SUBUID1;
238
 
265
 
239
-	ResultData[MBIC_RCODE_0] = data[MBIC_RCODE_0];
240
-
241
-	ResultData[MBIC_TRID_0] = data[MBIC_TRID_0];
242
-	ResultData[MBIC_TRID_1] = data[MBIC_TRID_1];
243
-
244
-	ResultData[MBIC_SEQSUM_0] = data[MBIC_SEQSUM_0];
245
-
246
-	ResultData[MBIC_TTL_0] = data[MBIC_TTL_0];
247
-
248
-	ResultData[MBIC_TIME_0] = data[MBIC_TIME_0];
249
-	ResultData[MBIC_TIME_1] = data[MBIC_TIME_1];
250
-	ResultData[MBIC_TIME_2] = data[MBIC_TIME_2];
251
-	ResultData[MBIC_TIME_3] = data[MBIC_TIME_3];
252
-	ResultData[MBIC_TIME_4] = data[MBIC_TIME_4];
253
-	ResultData[MBIC_TIME_5] = data[MBIC_TIME_5];
254
-
255
-	return ResultData;
256
-}
257
-
258
-
259
-
260
-double TableAtteGuarantee(uint8_t* Table,double AttenValue);
261
-uint8_t PE43711_Calc(uint8_t* Table,uint8_t high_bit,uint8_t low_bit,uint8_t offset_h,uint8_t offset_l);
262
-uint8_t PE43711_Calc_NoTable(uint8_t high_bit,uint8_t low_bit);
263
-double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
264
 
266
 
265
 
267
 
266
 
268
 
@@ -1442,43 +1444,48 @@ void DataStatusSet(void){
1442
 //    Txdata[Txdata[BLUECELL_LENGTH] + 1] = STH30_CreateCrc(&Txdata[BLUECELL_TYPE], Txdata[BLUECELL_LENGTH]);    
1444
 //    Txdata[Txdata[BLUECELL_LENGTH] + 1] = STH30_CreateCrc(&Txdata[BLUECELL_TYPE], Txdata[BLUECELL_LENGTH]);    
1443
 //    Uart1_Data_Send(&Txdata[0], sizeof(BLUESTATUS_st));
1445
 //    Uart1_Data_Send(&Txdata[0], sizeof(BLUESTATUS_st));
1444
 }
1446
 }
1445
-uint8_t MBIC_TxDataArray[256] = {0,};
1446
-typedef enum{
1447
-    MBIC_PROT_PREAMBLE0_INDEX,
1448
-    MBIC_PROT_PREAMBLE1_INDEX,
1449
-    MBIC_PROT_PREAMBLE2_INDEX,
1450
-    MBIC_PROT_PREAMBLE3_INDEX,    
1451
-    MBIC_PROT_SUB_UID0_INDEX,        
1452
-    MBIC_PROT_SUB_UID1_INDEX,            
1453
-    MBIC_PROT_R_CODE_INDEX,                
1454
-    MBIC_PROT_TR_ID0_INDEX,                    
1455
-    MBIC_PROT_TR_ID1_INDEX,                        
1456
-    MBIC_PROT_SEQ_NUM_INDEX,                            
1457
-    MBIC_PROT_TTL_INDEX,                                
1458
-    MBIC_PROT_TIME0_INDEX,                                    
1459
-    MBIC_PROT_TIME1_INDEX,                                    
1460
-    MBIC_PROT_TIME2_INDEX,                                    
1461
-    MBIC_PROT_TIME3_INDEX,                                    
1462
-    MBIC_PROT_TIME4_INDEX,                                    
1463
-    MBIC_PROT_TIME5_INDEX,  
1464
-    MBIC_PROT_ERR_RESP_INDEX,      
1465
-    MBIC_PROT_CMD_INDEX,          
1466
-    MBIC_PROT_LENGTH_INDEX,              
1467
-    MBIC_PROT_HEADERCHECKSUM_INDEX,  
1468
-    MBIC_PROT_SUB_DATA_INDEX,      
1447
+uint8_t* MBIC_HeaderDataSetting(uint8_t* data){
1448
+	ResultData[MBIC_PREAMBLE_0] = MBIC_PREAMBLE0;
1449
+	ResultData[MBIC_PREAMBLE_1] = MBIC_PREAMBLE1;
1450
+	ResultData[MBIC_PREAMBLE_2] = MBIC_PREAMBLE2;
1451
+	ResultData[MBIC_PREAMBLE_3] = MBIC_PREAMBLE3;
1469
 
1452
 
1470
-    MBIC_PROT_INDEX_MAX,
1453
+	ResultData[MBIC_SUBUID_0] = MBIC_SUBUID0;
1454
+	ResultData[MBIC_SUBUID_1] = MBIC_SUBUID1;
1471
 
1455
 
1472
-};
1473
-uint8_t* MBIC_Alarm_Bit_List_Func(uint8_t* data){
1474
-    
1456
+	ResultData[MBIC_RCODE_0] = data[MBIC_RCODE_0];
1475
 
1457
 
1458
+	ResultData[MBIC_TRID_0] = data[MBIC_TRID_0];
1459
+	ResultData[MBIC_TRID_1] = data[MBIC_TRID_1];
1460
+
1461
+	ResultData[MBIC_SEQSUM_0] = data[MBIC_SEQSUM_0];
1462
+
1463
+	ResultData[MBIC_TTL_0] = data[MBIC_TTL_0];
1464
+
1465
+	ResultData[MBIC_TIME_0] = data[MBIC_TIME_0];
1466
+	ResultData[MBIC_TIME_1] = data[MBIC_TIME_1];
1467
+	ResultData[MBIC_TIME_2] = data[MBIC_TIME_2];
1468
+	ResultData[MBIC_TIME_3] = data[MBIC_TIME_3];
1469
+	ResultData[MBIC_TIME_4] = data[MBIC_TIME_4];
1470
+	ResultData[MBIC_TIME_5] = data[MBIC_TIME_5];
1471
+
1472
+	return ResultData;
1476
 }
1473
 }
1477
 
1474
 
1475
+
1476
+
1478
 bool MBIC_Operate(uint8_t* data){
1477
 bool MBIC_Operate(uint8_t* data){
1479
 	uint16_t datatype = 0;
1478
 	uint16_t datatype = 0;
1479
+    uint8_t Length = 0;
1480
+    uint8_t SubData[256] = 0;
1481
+    /*AID*/
1480
     datatype = ((data[MBIC_PROT_SUB_DATA_INDEX] << 8) & 0xFF00)  // 2byte Data
1482
     datatype = ((data[MBIC_PROT_SUB_DATA_INDEX] << 8) & 0xFF00)  // 2byte Data
1481
               |((data[MBIC_PROT_SUB_DATA_INDEX + 1] << 8) & 0x00FF) ;
1483
               |((data[MBIC_PROT_SUB_DATA_INDEX + 1] << 8) & 0x00FF) ;
1484
+    Length = (data[MBIC_PROT_SUB_DATA_INDEX + 2]);
1485
+    for(int i = 0; i < Length; i++){
1486
+        SubData[i] = (data[MBIC_PROT_SUB_DATA_INDEX + 3 + i]);
1487
+    }
1488
+    //    SubData     임시 데이터 변수 선언 Subdata로 데이터 전송 
1482
     
1489
     
1483
 	switch(datatype){
1490
 	switch(datatype){
1484
         case  Alarm_Bit_List                          :break;
1491
         case  Alarm_Bit_List                          :break;