|
@@ -1,5 +1,7 @@
|
1
|
1
|
#include <stdio.h>
|
2
|
2
|
#include <stdlib.h>
|
|
3
|
+#include <math.h>
|
|
4
|
+
|
3
|
5
|
#include "main.h"
|
4
|
6
|
#include "Bluecell_operate.h"
|
5
|
7
|
#include "PE43711.h"
|
|
@@ -9,6 +11,8 @@ extern volatile uint32_t LedTimerCnt;
|
9
|
11
|
extern volatile uint32_t AdcTimerCnt;
|
10
|
12
|
extern void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
|
11
|
13
|
extern void Uart1_Data_Send(uint8_t* data,uint8_t size);
|
|
14
|
+nt8_t AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size);
|
|
15
|
+
|
12
|
16
|
uint8_t Alarm_Status[MAX_ALARM_Len] = {0,};
|
13
|
17
|
//uint8_t data123[10000];
|
14
|
18
|
uint8_t ResultData[1024] = {0,};
|
|
@@ -249,7 +253,7 @@ double TableAtteGuarantee(uint8_t* Table,double AttenValue);
|
249
|
253
|
uint8_t PE43711_Calc(uint8_t* Table,uint8_t high_bit,uint8_t low_bit,uint8_t offset_h,uint8_t offset_l);
|
250
|
254
|
uint8_t PE43711_Calc_NoTable(uint8_t high_bit,uint8_t low_bit);
|
251
|
255
|
double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
|
252
|
|
-uint8_t AutoControl_Save[sizeof(ALC_dBm_t)];
|
|
256
|
+int8_t AutoControl_Save[sizeof(ALC_dBm_t)];
|
253
|
257
|
|
254
|
258
|
uint8_t MBIC_TxDataArray[256] = {0,};
|
255
|
259
|
|
|
@@ -1280,15 +1284,15 @@ bool Bluecell_Operate(uint8_t* data){
|
1280
|
1284
|
case Bluecell_StatusReq:
|
1281
|
1285
|
DataStatusSet();
|
1282
|
1286
|
Bluecell_StructCpy(&Txdata[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
|
1283
|
|
- Txdata[BLUECELL_LENGTH] = sizeof(BLUESTATUS_st) - 3;
|
1284
|
|
- Txdata[sizeof(BLUESTATUS_st) - 2] = STH30_CreateCrc(&Txdata[BLUECELL_TYPE], Txdata[BLUECELL_LENGTH]);
|
|
1287
|
+ Txdata[BLUECELL_LENGTH] = 94 - 3;//sizeof(BLUESTATUS_st) - 3;
|
|
1288
|
+ Txdata[94 - 2] = STH30_CreateCrc(&Txdata[BLUECELL_TYPE], Txdata[BLUECELL_LENGTH]);
|
1285
|
1289
|
#if 0 // PYJ.2020.04.22_BEGIN --
|
1286
|
1290
|
for(int i = 0 ; i < sizeof(BLUESTATUS_st); i++ ){
|
1287
|
1291
|
printf("%x ",Txdata[i]);
|
1288
|
1292
|
}
|
1289
|
1293
|
printf("\r\n");
|
1290
|
1294
|
#endif // PYJ.2020.04.22_END --
|
1291
|
|
- Uart1_Data_Send(&Txdata[0], sizeof(BLUESTATUS_st));
|
|
1295
|
+ Uart1_Data_Send(&Txdata[0], 94);
|
1292
|
1296
|
break;
|
1293
|
1297
|
case Bluecell_StatusSave:
|
1294
|
1298
|
// printf("Copy Complete");
|
|
@@ -1346,6 +1350,113 @@ bool Bluecell_Operate(uint8_t* data){
|
1346
|
1350
|
bluecell_Currdatastatus.bluecell_User_UL4_L = data[BLUECELL_DATA + i++];
|
1347
|
1351
|
CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
1348
|
1352
|
break;
|
|
1353
|
+
|
|
1354
|
+ /*******/
|
|
1355
|
+#if 0 // PYJ.2020.05.13_BEGIN --
|
|
1356
|
+ 수정 및 추가
|
|
1357
|
+#endif // PYJ.2020.05.13_END --
|
|
1358
|
+ /*******/
|
|
1359
|
+ case Bluecell_TEMP_USER :
|
|
1360
|
+ bluecell_Currdatastatus.bluecell_User_TEMP_OFFSET_H = data[BLUECELL_DATA + i++];
|
|
1361
|
+ bluecell_Currdatastatus.bluecell_User_TEMP_OFFSET_L = data[BLUECELL_DATA + i++];
|
|
1362
|
+
|
|
1363
|
+ break;
|
|
1364
|
+ case Bluecell_DLI_AGC_ON_OFF:
|
|
1365
|
+ bluecell_Currdatastatus.ATT_AGC1_ONOFF = data[BLUECELL_DATA + i];
|
|
1366
|
+ bluecell_Currdatastatus.ATT_AGC2_ONOFF = data[BLUECELL_DATA + i];
|
|
1367
|
+ bluecell_Currdatastatus.ATT_AGC3_ONOFF = data[BLUECELL_DATA + i];
|
|
1368
|
+ bluecell_Currdatastatus.ATT_AGC4_ONOFF = data[BLUECELL_DATA + i];
|
|
1369
|
+
|
|
1370
|
+ break;
|
|
1371
|
+ case Bluecell_ULO_ALC_ON_OFF:
|
|
1372
|
+ bluecell_Currdatastatus.ATT_ALC1_ONOFF = data[BLUECELL_DATA + i];
|
|
1373
|
+ bluecell_Currdatastatus.ATT_ALC2_ONOFF = data[BLUECELL_DATA + i];
|
|
1374
|
+ bluecell_Currdatastatus.ATT_ALC3_ONOFF = data[BLUECELL_DATA + i];
|
|
1375
|
+ bluecell_Currdatastatus.ATT_ALC4_ONOFF = data[BLUECELL_DATA + i];
|
|
1376
|
+ break;
|
|
1377
|
+ case Bluecell_DLI_AGC_Threshold:
|
|
1378
|
+ bluecell_Currdatastatus.DLI_AGC_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1379
|
+ bluecell_Currdatastatus.DLI_AGC_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1380
|
+
|
|
1381
|
+ break;
|
|
1382
|
+ case Bluecell_DLI_AGC_Threshold_Default:
|
|
1383
|
+ bluecell_Currdatastatus.DLI_AGC_Threshold_default = data[BLUECELL_DATA + i++];
|
|
1384
|
+
|
|
1385
|
+ break;
|
|
1386
|
+ case Bluecell_DLI_Shutdown_ON_OFF:
|
|
1387
|
+ bluecell_Currdatastatus.DLI_Shutdown_ON_OFF = data[BLUECELL_DATA + i++];
|
|
1388
|
+
|
|
1389
|
+ break;
|
|
1390
|
+ case Bluecell_DLI_Shutdown_Threshold:
|
|
1391
|
+ bluecell_Currdatastatus.DLI_Shutdown_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1392
|
+ bluecell_Currdatastatus.DLI_Shutdown_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1393
|
+
|
|
1394
|
+ break;
|
|
1395
|
+ case Bluecell_DLI_Shutdown_Threshold_Default:
|
|
1396
|
+ bluecell_Currdatastatus.DLI_Shutdown_Threshold_Default = data[BLUECELL_DATA + i++];
|
|
1397
|
+ break;
|
|
1398
|
+ case Bluecell_DLI_Shutdown_Count:
|
|
1399
|
+ /*NOP*/
|
|
1400
|
+ break;
|
|
1401
|
+ case Bluecell_DLI_Level_High_Threshold :
|
|
1402
|
+ bluecell_Currdatastatus.DLI_Level_High_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1403
|
+ bluecell_Currdatastatus.DLI_Level_High_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1404
|
+
|
|
1405
|
+ break;
|
|
1406
|
+ case Bluecell_DLI_Level_Low_Threshold :
|
|
1407
|
+ bluecell_Currdatastatus.DLI_Level_Low_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1408
|
+ bluecell_Currdatastatus.DLI_Level_Low_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1409
|
+
|
|
1410
|
+ break;
|
|
1411
|
+ case Bluecell_DLI_Level_High_Low_Threshold_default :
|
|
1412
|
+ bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default = data[BLUECELL_DATA + i++];
|
|
1413
|
+ break;
|
|
1414
|
+ case Bluecell_LED_TEST :
|
|
1415
|
+ bluecell_Currdatastatus.LED_TEST = data[BLUECELL_DATA + i++];
|
|
1416
|
+ break;
|
|
1417
|
+ case Bluecell_Temperature_Offset :
|
|
1418
|
+ bluecell_Currdatastatus.bluecell_User_TEMP_OFFSET_H = data[BLUECELL_DATA + i++];
|
|
1419
|
+ bluecell_Currdatastatus.bluecell_User_TEMP_OFFSET_L = data[BLUECELL_DATA + i++];
|
|
1420
|
+
|
|
1421
|
+ break;
|
|
1422
|
+ case Bluecell_Temp_High_Threshold :
|
|
1423
|
+ bluecell_Currdatastatus.Temp_High_Threshold = data[BLUECELL_DATA + i++];
|
|
1424
|
+ break;
|
|
1425
|
+ case Bluecell_Temp_High_Threshold_Default :
|
|
1426
|
+ bluecell_Currdatastatus.Temp_High_Threshold_Default = data[BLUECELL_DATA + i++];
|
|
1427
|
+ break;
|
|
1428
|
+ case Bluecell_ULO_Level_High_Threshold :
|
|
1429
|
+ bluecell_Currdatastatus.ULO_Level_High_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1430
|
+ bluecell_Currdatastatus.ULO_Level_High_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1431
|
+
|
|
1432
|
+ break;
|
|
1433
|
+ case Bluecell_ULO_Level_High_Threshold_default :
|
|
1434
|
+ bluecell_Currdatastatus.ULO_Level_High_Threshold_default = data[BLUECELL_DATA + i++];
|
|
1435
|
+ break;
|
|
1436
|
+ case Bluecell_ULO_ALC_Threshold :
|
|
1437
|
+ bluecell_Currdatastatus.ULO_ALC_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1438
|
+ bluecell_Currdatastatus.ULO_ALC_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1439
|
+
|
|
1440
|
+ break;
|
|
1441
|
+ case Bluecell_ULO_ALC_Threshold_Default :
|
|
1442
|
+ bluecell_Currdatastatus.ULO_ALC_Threshold_Default = data[BLUECELL_DATA + i++];
|
|
1443
|
+
|
|
1444
|
+ break;
|
|
1445
|
+ case Bluecell_ULO_Shutdown_ON_OFF :
|
|
1446
|
+ bluecell_Currdatastatus.ULO_Shutdown_ON_OFF = data[BLUECELL_DATA + i++];
|
|
1447
|
+
|
|
1448
|
+ break;
|
|
1449
|
+ case Bluecell_ULO_Shutdown_Threshold :
|
|
1450
|
+ bluecell_Currdatastatus.ULO_Shutdown_Threshold_H = data[BLUECELL_DATA + i++];
|
|
1451
|
+ bluecell_Currdatastatus.ULO_Shutdown_Threshold_L = data[BLUECELL_DATA + i++];
|
|
1452
|
+
|
|
1453
|
+ break;
|
|
1454
|
+ case Bluecell_ULO_Shutdown_Threshold_Default :
|
|
1455
|
+ bluecell_Currdatastatus.ULO_Shutdown_Threshold_Default = data[BLUECELL_DATA + i++];
|
|
1456
|
+
|
|
1457
|
+ break;
|
|
1458
|
+ case Bluecell_ULO_Shutdown_Retry_Count :
|
|
1459
|
+ break;
|
1349
|
1460
|
}
|
1350
|
1461
|
if(datatype != Bluecell_StatusReq){
|
1351
|
1462
|
Bluecell_StructCpy(&DataWrite[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
|
|
@@ -1485,6 +1596,8 @@ bool MBIC_Operate(uint8_t* data){
|
1485
|
1596
|
uint8_t SubData[256] = {0,};
|
1486
|
1597
|
uint16_t Temp_ADC = 0;
|
1487
|
1598
|
uint16_t i = 0;
|
|
1599
|
+ double temp = 0;
|
|
1600
|
+ int16_t Level = 0;
|
1488
|
1601
|
/*AID*/
|
1489
|
1602
|
for(int i = 0; i < Length; i++){
|
1490
|
1603
|
SubData[i] = (data[MBIC_PROT_SUB_DATA_INDEX + 3 + i]);
|
|
@@ -1573,7 +1686,7 @@ bool MBIC_Operate(uint8_t* data){
|
1573
|
1686
|
|
1574
|
1687
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.Temp_High_Threshold;
|
1575
|
1688
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.Temp_High_Threshold_Default;
|
1576
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_TEMP_HIGH;
|
|
1689
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.Temp_High_Alarm;
|
1577
|
1690
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.LED_TEST;
|
1578
|
1691
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.NODE;
|
1579
|
1692
|
|
|
@@ -1653,14 +1766,43 @@ bool MBIC_Operate(uint8_t* data){
|
1653
|
1766
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1654
|
1767
|
|
1655
|
1768
|
/*DLI LEVEL QUESTION START ???? */
|
1656
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1657
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1658
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1659
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1660
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1661
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1662
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1663
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
|
1769
|
+
|
|
1770
|
+ temp = (bluecell_Currdatastatus.DET_DL1_IN_H << 8
|
|
1771
|
+ | bluecell_Currdatastatus.DET_DL1_IN_L) * 3.3/4095;
|
|
1772
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1773
|
+ Level *= 10;
|
|
1774
|
+ bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
|
|
1775
|
+ bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
|
|
1776
|
+ temp = (bluecell_Currdatastatus.DET_DL2_IN_H << 8
|
|
1777
|
+ | bluecell_Currdatastatus.DET_DL2_IN_L) * 3.3/4095;
|
|
1778
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1779
|
+ Level *= 10;
|
|
1780
|
+ bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
|
|
1781
|
+ bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
|
|
1782
|
+
|
|
1783
|
+ temp = (bluecell_Currdatastatus.DET_DL3_IN_H << 8
|
|
1784
|
+ | bluecell_Currdatastatus.DET_DL3_IN_L) * 3.3/4095;
|
|
1785
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1786
|
+ Level *= 10;
|
|
1787
|
+ bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
|
|
1788
|
+ bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
|
|
1789
|
+
|
|
1790
|
+ temp = (bluecell_Currdatastatus.DET_DL4_IN_H << 8
|
|
1791
|
+ | bluecell_Currdatastatus.DET_DL4_IN_L) * 3.3/4095;
|
|
1792
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1793
|
+ Level *= 10;
|
|
1794
|
+ bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
|
|
1795
|
+ bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
|
|
1796
|
+
|
|
1797
|
+
|
|
1798
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level1_H;
|
|
1799
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level1_L;
|
|
1800
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level2_H;
|
|
1801
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level2_L;
|
|
1802
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level3_H;
|
|
1803
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level3_L;
|
|
1804
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level4_H;
|
|
1805
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level4_L;
|
1664
|
1806
|
/*DLI LEVEL QUESTION END ???? */
|
1665
|
1807
|
|
1666
|
1808
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Alarm1;
|
|
@@ -1737,14 +1879,44 @@ bool MBIC_Operate(uint8_t* data){
|
1737
|
1879
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level_High_Threshold_L;
|
1738
|
1880
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level_High_Threshold_default;
|
1739
|
1881
|
/*ULO LEVEL QUESTION START ???? */
|
1740
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1741
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1742
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1743
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1744
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1745
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1746
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
1747
|
|
- data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default;
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+ temp = (bluecell_Currdatastatus.DET_UL1_IN_H << 8
|
|
1885
|
+ | bluecell_Currdatastatus.DET_UL1_IN_L) * 3.3/4095;
|
|
1886
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1887
|
+ Level *= 10;
|
|
1888
|
+ bluecell_Currdatastatus.ULO_Level1_H = ((Level & 0xFF00) >> 8);
|
|
1889
|
+ bluecell_Currdatastatus.ULO_Level1_L = ((Level & 0xFF00) >> 8);
|
|
1890
|
+ temp = (bluecell_Currdatastatus.DET_UL2_IN_H << 8
|
|
1891
|
+ | bluecell_Currdatastatus.DET_UL2_IN_L) * 3.3/4095;
|
|
1892
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1893
|
+ Level *= 10;
|
|
1894
|
+ bluecell_Currdatastatus.ULO_Level2_H = ((Level & 0xFF00) >> 8);
|
|
1895
|
+ bluecell_Currdatastatus.ULO_Level2_L = ((Level & 0xFF00) >> 8);
|
|
1896
|
+
|
|
1897
|
+ temp = (bluecell_Currdatastatus.DET_UL3_IN_H << 8
|
|
1898
|
+ | bluecell_Currdatastatus.DET_UL3_IN_L) * 3.3/4095;
|
|
1899
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1900
|
+ Level *= 10;
|
|
1901
|
+ bluecell_Currdatastatus.ULO_Level3_H = ((Level & 0xFF00) >> 8);
|
|
1902
|
+ bluecell_Currdatastatus.ULO_Level3_L = ((Level & 0xFF00) >> 8);
|
|
1903
|
+
|
|
1904
|
+ temp = (bluecell_Currdatastatus.DET_UL4_IN_H << 8
|
|
1905
|
+ | bluecell_Currdatastatus.DET_UL4_IN_L) * 3.3/4095;
|
|
1906
|
+ Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
|
1907
|
+ Level *= 10;
|
|
1908
|
+ bluecell_Currdatastatus.ULO_Level4_H = ((Level & 0xFF00) >> 8);
|
|
1909
|
+ bluecell_Currdatastatus.ULO_Level4_L = ((Level & 0xFF00) >> 8);
|
|
1910
|
+
|
|
1911
|
+
|
|
1912
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level1_H;
|
|
1913
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level1_L;
|
|
1914
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level2_H;
|
|
1915
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level2_L;
|
|
1916
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level3_H;
|
|
1917
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level3_L;
|
|
1918
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level4_H;
|
|
1919
|
+ data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level4_L;
|
1748
|
1920
|
/*ULO LEVEL QUESTION END ???? */
|
1749
|
1921
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level_High_Alarm1;
|
1750
|
1922
|
data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ULO_Level_High_Alarm2;
|
|
@@ -1856,6 +2028,7 @@ bool MBIC_Operate(uint8_t* data){
|
1856
|
2028
|
bluecell_Currdatastatus.Factory_Set_Initialization = data[MBIC_PAYLOADSTART + 0];
|
1857
|
2029
|
break;
|
1858
|
2030
|
case Temperature :
|
|
2031
|
+ /*I WILL MODIFY*/
|
1859
|
2032
|
bluecell_Currdatastatus.DET_TEMP_H = data[MBIC_PAYLOADSTART + 0];
|
1860
|
2033
|
break;
|
1861
|
2034
|
case Temperature_Offset :
|
|
@@ -1870,17 +2043,20 @@ bool MBIC_Operate(uint8_t* data){
|
1870
|
2043
|
|
1871
|
2044
|
break;
|
1872
|
2045
|
case Temp_High_Alarm :
|
1873
|
|
- bluecell_Currdatastatus.ALARM_TEMP_HIGH = data[MBIC_PAYLOADSTART + 0];
|
|
2046
|
+ bluecell_Currdatastatus.Temp_High_Alarm = data[MBIC_PAYLOADSTART + 0];
|
1874
|
2047
|
|
1875
|
2048
|
break;
|
1876
|
2049
|
case LED_TEST :
|
1877
|
|
- bluecell_Currdatastatus.ALARM_TEMP_HIGH = data[MBIC_PAYLOADSTART + 0];
|
|
2050
|
+ bluecell_Currdatastatus.LED_TEST = data[MBIC_PAYLOADSTART + 0];
|
1878
|
2051
|
|
1879
|
2052
|
break;
|
|
2053
|
+#if 0
|
1880
|
2054
|
case Node :
|
|
2055
|
+// bluecell_Currdatastatus.LED_TEST = data[MBIC_PAYLOADSTART + 0];
|
1881
|
2056
|
|
1882
|
2057
|
break;
|
1883
|
2058
|
case Type :
|
|
2059
|
+// bluecell_Currdatastatus.LED_TEST = data[MBIC_PAYLOADSTART + 0];
|
1884
|
2060
|
|
1885
|
2061
|
break;
|
1886
|
2062
|
case PCB_Version :
|
|
@@ -1923,81 +2099,304 @@ bool MBIC_Operate(uint8_t* data){
|
1923
|
2099
|
case ULO_P2_Level :break;
|
1924
|
2100
|
case ULO_P3_Level :break;
|
1925
|
2101
|
case ULO_P4_Level :break;
|
1926
|
|
- case DLI_RF_Path1_ON_OFF :break;
|
1927
|
|
- case DLI_RF_Path2_ON_OFF :break;
|
1928
|
|
- case DLI_RF_Path3_ON_OFF :break;
|
1929
|
|
- case DLI_RF_Path4_ON_OFF :break;
|
1930
|
|
- case DLI_Gain_Atten1 :break;
|
1931
|
|
- case DLI_Gain_Atten2 :break;
|
1932
|
|
- case DLI_Gain_Atten3 :break;
|
1933
|
|
- case DLI_Gain_Atten4 :break;
|
1934
|
|
- case DLI_Gain_Atten_Offset1 :break;
|
1935
|
|
- case DLI_Gain_Atten_Offset2 :break;
|
1936
|
|
- case DLI_Gain_Atten_Offset3 :break;
|
1937
|
|
- case DLI_Gain_Atten_Offset4 :break;
|
1938
|
|
- case DLI_Level_High_Threshold :break;
|
1939
|
|
- case DLI_Level_Low_Threshold :break;
|
1940
|
|
- case DLI_Level_High_Low_Threshold_default :break;
|
1941
|
|
- case DLI_Level :break;
|
1942
|
|
- case DLI_Level_High_Alarm1 :break;
|
1943
|
|
- case DLI_Level_High_Alarm2 :break;
|
1944
|
|
- case DLI_Level_High_Alarm3 :break;
|
1945
|
|
- case DLI_Level_High_Alarm4 :break;
|
1946
|
|
- case DLI_Level_Low_Alarm1 :break;
|
1947
|
|
- case DLI_Level_Low_Alarm2 :break;
|
|
2102
|
+#endif
|
|
2103
|
+ case DLI_RF_Path1_ON_OFF :
|
|
2104
|
+ bluecell_Currdatastatus.ATT_DL1_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2105
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2106
|
+ break;
|
|
2107
|
+ case DLI_RF_Path2_ON_OFF :
|
|
2108
|
+ bluecell_Currdatastatus.ATT_DL2_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2109
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2110
|
+ break;
|
|
2111
|
+ case DLI_RF_Path3_ON_OFF :
|
|
2112
|
+ bluecell_Currdatastatus.ATT_DL3_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2113
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2114
|
+ break;
|
|
2115
|
+ case DLI_RF_Path4_ON_OFF :
|
|
2116
|
+ bluecell_Currdatastatus.ATT_DL4_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2117
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2118
|
+ break;
|
|
2119
|
+ case DLI_Gain_Atten1 :
|
|
2120
|
+ bluecell_Currdatastatus.ATT_DL1_H = data[MBIC_PAYLOADSTART + 0];
|
|
2121
|
+ bluecell_Currdatastatus.ATT_DL1_L = data[MBIC_PAYLOADSTART + 1];
|
|
2122
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2123
|
+ break;
|
|
2124
|
+ case DLI_Gain_Atten2 :
|
|
2125
|
+ bluecell_Currdatastatus.ATT_DL2_H = data[MBIC_PAYLOADSTART + 0];
|
|
2126
|
+ bluecell_Currdatastatus.ATT_DL2_L = data[MBIC_PAYLOADSTART + 1];
|
|
2127
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2128
|
+
|
|
2129
|
+ break;
|
|
2130
|
+ case DLI_Gain_Atten3 :
|
|
2131
|
+ bluecell_Currdatastatus.ATT_DL3_H = data[MBIC_PAYLOADSTART + 0];
|
|
2132
|
+ bluecell_Currdatastatus.ATT_DL3_L = data[MBIC_PAYLOADSTART + 1];
|
|
2133
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2134
|
+
|
|
2135
|
+ break;
|
|
2136
|
+ case DLI_Gain_Atten4 :
|
|
2137
|
+ bluecell_Currdatastatus.ATT_DL4_H = data[MBIC_PAYLOADSTART + 0];
|
|
2138
|
+ bluecell_Currdatastatus.ATT_DL4_L = data[MBIC_PAYLOADSTART + 1];
|
|
2139
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2140
|
+
|
|
2141
|
+ break;
|
|
2142
|
+ case DLI_Gain_Atten_Offset1 :
|
|
2143
|
+ bluecell_Currdatastatus.bluecell_User_DL1_H = data[MBIC_PAYLOADSTART + 0];
|
|
2144
|
+ bluecell_Currdatastatus.bluecell_User_DL1_L = data[MBIC_PAYLOADSTART + 1];
|
|
2145
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2146
|
+
|
|
2147
|
+ break;
|
|
2148
|
+ case DLI_Gain_Atten_Offset2 :
|
|
2149
|
+ bluecell_Currdatastatus.bluecell_User_DL2_H = data[MBIC_PAYLOADSTART + 0];
|
|
2150
|
+ bluecell_Currdatastatus.bluecell_User_DL2_L = data[MBIC_PAYLOADSTART + 1];
|
|
2151
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2152
|
+
|
|
2153
|
+ break;
|
|
2154
|
+ case DLI_Gain_Atten_Offset3 :
|
|
2155
|
+ bluecell_Currdatastatus.bluecell_User_DL3_H = data[MBIC_PAYLOADSTART + 0];
|
|
2156
|
+ bluecell_Currdatastatus.bluecell_User_DL3_L = data[MBIC_PAYLOADSTART + 1];
|
|
2157
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2158
|
+
|
|
2159
|
+ break;
|
|
2160
|
+ case DLI_Gain_Atten_Offset4 :
|
|
2161
|
+ bluecell_Currdatastatus.bluecell_User_DL4_H = data[MBIC_PAYLOADSTART + 0];
|
|
2162
|
+ bluecell_Currdatastatus.bluecell_User_DL4_L = data[MBIC_PAYLOADSTART + 1];
|
|
2163
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2164
|
+
|
|
2165
|
+ break;
|
|
2166
|
+ case DLI_Level_High_Threshold :
|
|
2167
|
+ bluecell_Currdatastatus.DLI_Level_High_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2168
|
+ bluecell_Currdatastatus.DLI_Level_High_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2169
|
+
|
|
2170
|
+ break;
|
|
2171
|
+ case DLI_Level_Low_Threshold :
|
|
2172
|
+ bluecell_Currdatastatus.DLI_Level_Low_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2173
|
+ bluecell_Currdatastatus.DLI_Level_Low_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2174
|
+
|
|
2175
|
+ break;
|
|
2176
|
+ case DLI_Level_High_Low_Threshold_default :
|
|
2177
|
+ bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default = data[MBIC_PAYLOADSTART + 0];
|
|
2178
|
+
|
|
2179
|
+ break;
|
|
2180
|
+#if 0 // PYJ.2020.05.12_BEGIN --
|
|
2181
|
+ case DLI_Level :
|
|
2182
|
+ bluecell_Currdatastatus.DLI_Level_High_Low_Threshold_default = data[MBIC_PAYLOADSTART + 0];
|
|
2183
|
+ break;
|
|
2184
|
+ case DLI_Level_High_Alarm1 :
|
|
2185
|
+
|
|
2186
|
+ break;
|
|
2187
|
+ case DLI_Level_High_Alarm2 :
|
|
2188
|
+
|
|
2189
|
+ break;
|
|
2190
|
+ case DLI_Level_High_Alarm3 :
|
|
2191
|
+
|
|
2192
|
+ break;
|
|
2193
|
+ case DLI_Level_High_Alarm4 :
|
|
2194
|
+
|
|
2195
|
+ break;
|
|
2196
|
+ case DLI_Level_Low_Alarm1 :
|
|
2197
|
+
|
|
2198
|
+ break;
|
|
2199
|
+ case DLI_Level_Low_Alarm2 :
|
|
2200
|
+
|
|
2201
|
+ break;
|
1948
|
2202
|
case DLI_Level_Low_Alarm3 :break;
|
1949
|
2203
|
case DLI_Level_Low_Alarm4 :break;
|
1950
|
|
- case DLI_AGC_ON_OFF :break;
|
1951
|
|
- case DLI_AGC_Threshold :break;
|
1952
|
|
- case DLI_AGC_Threshold_Default :break;
|
1953
|
|
- case DLI_Shutdown_ON_OFF :break;
|
1954
|
|
- case DLI_Shutdown_Threshold :break;
|
1955
|
|
- case DLI_Shutdown_Threshold_Default :break;
|
1956
|
|
- case DLI_Shutdown_Count :break;
|
1957
|
|
- case DLI_AGC_Alarm1 :break;
|
1958
|
|
- case DLI_AGC_Alarm2 :break;
|
1959
|
|
- case DLI_AGC_Alarm3 :break;
|
1960
|
|
- case DLI_AGC_Alarm4 :break;
|
|
2204
|
+#endif // PYJ.2020.05.12_END --
|
|
2205
|
+ case DLI_AGC_ON_OFF :
|
|
2206
|
+ /*AGC multi apply*/
|
|
2207
|
+ bluecell_Currdatastatus.ATT_AGC1_ONOFF = data[MBIC_PAYLOADSTART + 0];
|
|
2208
|
+ bluecell_Currdatastatus.ATT_AGC2_ONOFF = data[MBIC_PAYLOADSTART + 0];
|
|
2209
|
+ bluecell_Currdatastatus.ATT_AGC3_ONOFF = data[MBIC_PAYLOADSTART + 0];
|
|
2210
|
+ bluecell_Currdatastatus.ATT_AGC4_ONOFF = data[MBIC_PAYLOADSTART + 0];
|
|
2211
|
+ break;
|
|
2212
|
+ case DLI_AGC_Threshold :
|
|
2213
|
+ bluecell_Currdatastatus.DLI_AGC_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2214
|
+ bluecell_Currdatastatus.DLI_AGC_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2215
|
+
|
|
2216
|
+ break;
|
|
2217
|
+ case DLI_AGC_Threshold_Default :
|
|
2218
|
+ bluecell_Currdatastatus.DLI_AGC_Threshold_default = data[MBIC_PAYLOADSTART + 0];
|
|
2219
|
+ break;
|
|
2220
|
+ case DLI_Shutdown_ON_OFF :
|
|
2221
|
+ bluecell_Currdatastatus.DLI_Shutdown_ON_OFF = data[MBIC_PAYLOADSTART + 0];
|
|
2222
|
+
|
|
2223
|
+ break;
|
|
2224
|
+ case DLI_Shutdown_Threshold :
|
|
2225
|
+ bluecell_Currdatastatus.DLI_Shutdown_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2226
|
+ bluecell_Currdatastatus.DLI_Shutdown_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2227
|
+
|
|
2228
|
+ break;
|
|
2229
|
+ case DLI_Shutdown_Threshold_Default :
|
|
2230
|
+ bluecell_Currdatastatus.DLI_Shutdown_Threshold_Default = data[MBIC_PAYLOADSTART + 0];
|
|
2231
|
+
|
|
2232
|
+ break;
|
|
2233
|
+ case DLI_Shutdown_Count :
|
|
2234
|
+ bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1 = data[MBIC_PAYLOADSTART + 0];
|
|
2235
|
+ bluecell_Currdatastatus.DLI_Shutdown_Retry_Count2 = data[MBIC_PAYLOADSTART + 1];
|
|
2236
|
+ bluecell_Currdatastatus.DLI_Shutdown_Retry_Count3 = data[MBIC_PAYLOADSTART + 2];
|
|
2237
|
+ bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4 = data[MBIC_PAYLOADSTART + 3];
|
|
2238
|
+
|
|
2239
|
+ break;
|
|
2240
|
+#if 0 // PYJ.2020.05.12_BEGIN --
|
|
2241
|
+ case DLI_AGC_Alarm1 :
|
|
2242
|
+
|
|
2243
|
+ break;
|
|
2244
|
+ case DLI_AGC_Alarm2 :
|
|
2245
|
+
|
|
2246
|
+ break;
|
|
2247
|
+ case DLI_AGC_Alarm3 :
|
|
2248
|
+
|
|
2249
|
+ break;
|
|
2250
|
+ case DLI_AGC_Alarm4 :
|
|
2251
|
+
|
|
2252
|
+ break;
|
1961
|
2253
|
case DLI_Shutdown_Alarm1 :break;
|
1962
|
2254
|
case DLI_Shutdown_Alarm2 :break;
|
1963
|
2255
|
case DLI_Shutdown_Alarm3 :break;
|
1964
|
2256
|
case DLI_Shutdown_Alarm4 :break;
|
1965
|
|
- case ULO_RF_Path1_ON_OFF1 :break;
|
1966
|
|
- case ULO_RF_Path2_ON_OFF2 :break;
|
1967
|
|
- case ULO_RF_Path3_ON_OFF3 :break;
|
1968
|
|
- case ULO_RF_Path4_ON_OFF4 :break;
|
1969
|
|
- case ULO_Gain_Atten1 :break;
|
1970
|
|
- case ULO_Gain_Atten2 :break;
|
1971
|
|
- case ULO_Gain_Atten3 :break;
|
1972
|
|
- case ULO_Gain_Atten4 :break;
|
1973
|
|
- case ULO_Gain_Atten_Offset1 :break;
|
1974
|
|
- case ULO_Gain_Atten_Offset2 :break;
|
1975
|
|
- case ULO_Gain_Atten_Offset3 :break;
|
1976
|
|
- case ULO_Gain_Atten_Offset4 :break;
|
1977
|
|
- case ULO_Level_High_Threshold :break;
|
1978
|
|
- case SERIAL_UL_NULL0 :break;
|
1979
|
|
- case ULO_Level_High_Threshold_default :break;
|
1980
|
|
- case ULO_Level :break;
|
1981
|
|
- case ULO_Level_High_Alarm1 :break;
|
1982
|
|
- case ULO_Level_High_Alarm2 :break;
|
|
2257
|
+#endif // PYJ.2020.05.12_END --
|
|
2258
|
+ case ULO_RF_Path1_ON_OFF1 :
|
|
2259
|
+ bluecell_Currdatastatus.ATT_UL1_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2260
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2261
|
+ break;
|
|
2262
|
+ case ULO_RF_Path2_ON_OFF2 :
|
|
2263
|
+ bluecell_Currdatastatus.ATT_UL2_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2264
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2265
|
+
|
|
2266
|
+ break;
|
|
2267
|
+ case ULO_RF_Path3_ON_OFF3 :
|
|
2268
|
+ bluecell_Currdatastatus.ATT_UL3_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2269
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2270
|
+
|
|
2271
|
+ break;
|
|
2272
|
+ case ULO_RF_Path4_ON_OFF4 :
|
|
2273
|
+ bluecell_Currdatastatus.ATT_UL4_PATH = data[MBIC_PAYLOADSTART + 0];
|
|
2274
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2275
|
+
|
|
2276
|
+ break;
|
|
2277
|
+ case ULO_Gain_Atten1 :
|
|
2278
|
+ bluecell_Currdatastatus.ATT_UL1_H = data[MBIC_PAYLOADSTART + 0];
|
|
2279
|
+ bluecell_Currdatastatus.ATT_UL1_L = data[MBIC_PAYLOADSTART + 1];
|
|
2280
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2281
|
+
|
|
2282
|
+ break;
|
|
2283
|
+ case ULO_Gain_Atten2 :
|
|
2284
|
+ bluecell_Currdatastatus.ATT_UL2_H = data[MBIC_PAYLOADSTART + 0];
|
|
2285
|
+ bluecell_Currdatastatus.ATT_UL2_L = data[MBIC_PAYLOADSTART + 1];
|
|
2286
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2287
|
+
|
|
2288
|
+ break;
|
|
2289
|
+ case ULO_Gain_Atten3 :
|
|
2290
|
+ bluecell_Currdatastatus.ATT_UL3_H = data[MBIC_PAYLOADSTART + 0];
|
|
2291
|
+ bluecell_Currdatastatus.ATT_UL3_L = data[MBIC_PAYLOADSTART + 1];
|
|
2292
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2293
|
+
|
|
2294
|
+ break;
|
|
2295
|
+ case ULO_Gain_Atten4 :
|
|
2296
|
+ bluecell_Currdatastatus.ATT_UL4_H = data[MBIC_PAYLOADSTART + 0];
|
|
2297
|
+ bluecell_Currdatastatus.ATT_UL4_L = data[MBIC_PAYLOADSTART + 1];
|
|
2298
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2299
|
+
|
|
2300
|
+ break;
|
|
2301
|
+ case ULO_Gain_Atten_Offset1 :
|
|
2302
|
+ bluecell_Currdatastatus.bluecell_User_UL1_H = data[MBIC_PAYLOADSTART + 0];
|
|
2303
|
+ bluecell_Currdatastatus.bluecell_User_UL1_L = data[MBIC_PAYLOADSTART + 1];
|
|
2304
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2305
|
+
|
|
2306
|
+ break;
|
|
2307
|
+ case ULO_Gain_Atten_Offset2 :
|
|
2308
|
+ bluecell_Currdatastatus.bluecell_User_UL2_H = data[MBIC_PAYLOADSTART + 0];
|
|
2309
|
+ bluecell_Currdatastatus.bluecell_User_UL2_L = data[MBIC_PAYLOADSTART + 1];
|
|
2310
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2311
|
+
|
|
2312
|
+ break;
|
|
2313
|
+ case ULO_Gain_Atten_Offset3 :
|
|
2314
|
+ bluecell_Currdatastatus.bluecell_User_UL3_H = data[MBIC_PAYLOADSTART + 0];
|
|
2315
|
+ bluecell_Currdatastatus.bluecell_User_UL3_L = data[MBIC_PAYLOADSTART + 1];
|
|
2316
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2317
|
+
|
|
2318
|
+ break;
|
|
2319
|
+ case ULO_Gain_Atten_Offset4 :
|
|
2320
|
+ bluecell_Currdatastatus.bluecell_User_UL4_H = data[MBIC_PAYLOADSTART + 0];
|
|
2321
|
+ bluecell_Currdatastatus.bluecell_User_UL4_L = data[MBIC_PAYLOADSTART + 1];
|
|
2322
|
+ CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
|
|
2323
|
+
|
|
2324
|
+ break;
|
|
2325
|
+ case ULO_Level_High_Threshold :
|
|
2326
|
+ bluecell_Currdatastatus.ULO_Level_High_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2327
|
+ bluecell_Currdatastatus.ULO_Level_High_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2328
|
+ break;
|
|
2329
|
+ case ULO_Level_High_Threshold_default :
|
|
2330
|
+ bluecell_Currdatastatus.ULO_Level_High_Threshold_default = data[MBIC_PAYLOADSTART + 0];
|
|
2331
|
+ break;
|
|
2332
|
+#if 0 // PYJ.2020.05.12_BEGIN --
|
|
2333
|
+ case ULO_Level :
|
|
2334
|
+ break;
|
|
2335
|
+ case ULO_Level_High_Alarm1 :break;
|
|
2336
|
+ case ULO_Level_High_Alarm2 :break;
|
1983
|
2337
|
case ULO_Level_High_Alarm3 :break;
|
1984
|
2338
|
case ULO_Level_High_Alarm4 :break;
|
1985
|
|
- case SERIAL_UL_NULL1 :break;
|
1986
|
|
- case ULO_ALC_ON_OFF :break;
|
1987
|
|
- case ULO_ALC_Threshold :break;
|
1988
|
|
- case ULO_ALC_Threshold_Default :break;
|
1989
|
|
- case ULO_Shutdown_ON_OFF :break;
|
1990
|
|
- case ULO_Shutdown_Threshold :break;
|
1991
|
|
- case ULO_Shutdown_Threshold_Default :break;
|
1992
|
|
- case ULO_Shutdown_Retry_Count :break;
|
1993
|
|
- case ULO_ALC_Alarm1 :break;
|
1994
|
|
- case ULO_ALC_Alarm2 :break;
|
1995
|
|
- case ULO_ALC_Alarm3 :break;
|
1996
|
|
- case ULO_ALC_Alarm4 :break;
|
1997
|
|
- case ULO_Shutdown_Alarm1 :break;
|
1998
|
|
- case ULO_Shutdown_Alarm2 :break;
|
1999
|
|
- case ULO_Shutdown_Alarm3 :break;
|
2000
|
|
- case ULO_Shutdown_Alarm4 :break;
|
|
2339
|
+ case SERIAL_UL_NULL1 :break;
|
|
2340
|
+#endif // PYJ.2020.05.12_END --
|
|
2341
|
+ case ULO_ALC_ON_OFF :
|
|
2342
|
+ bluecell_Currdatastatus.ULO_ALC_ON_OFF = data[MBIC_PAYLOADSTART + 0];
|
|
2343
|
+
|
|
2344
|
+ break;
|
|
2345
|
+ case ULO_ALC_Threshold :
|
|
2346
|
+ bluecell_Currdatastatus.ULO_ALC_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2347
|
+ bluecell_Currdatastatus.ULO_ALC_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2348
|
+
|
|
2349
|
+ break;
|
|
2350
|
+ case ULO_ALC_Threshold_Default :
|
|
2351
|
+ bluecell_Currdatastatus.ULO_ALC_Threshold_Default = data[MBIC_PAYLOADSTART + 0];
|
|
2352
|
+
|
|
2353
|
+ break;
|
|
2354
|
+ case ULO_Shutdown_ON_OFF :
|
|
2355
|
+ bluecell_Currdatastatus.ULO_Shutdown_ON_OFF = data[MBIC_PAYLOADSTART + 0];
|
|
2356
|
+
|
|
2357
|
+ break;
|
|
2358
|
+ case ULO_Shutdown_Threshold :
|
|
2359
|
+ bluecell_Currdatastatus.ULO_Shutdown_Threshold_H = data[MBIC_PAYLOADSTART + 0];
|
|
2360
|
+ bluecell_Currdatastatus.ULO_Shutdown_Threshold_L = data[MBIC_PAYLOADSTART + 1];
|
|
2361
|
+
|
|
2362
|
+ break;
|
|
2363
|
+ case ULO_Shutdown_Threshold_Default :
|
|
2364
|
+ bluecell_Currdatastatus.ULO_Shutdown_Threshold_Default = data[MBIC_PAYLOADSTART + 0];
|
|
2365
|
+
|
|
2366
|
+
|
|
2367
|
+ break;
|
|
2368
|
+ case ULO_Shutdown_Retry_Count :
|
|
2369
|
+ bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1 = data[MBIC_PAYLOADSTART + 0];
|
|
2370
|
+ bluecell_Currdatastatus.ULO_Shutdown_Retry_Count2 = data[MBIC_PAYLOADSTART + 0];
|
|
2371
|
+ bluecell_Currdatastatus.ULO_Shutdown_Retry_Count3 = data[MBIC_PAYLOADSTART + 0];
|
|
2372
|
+ bluecell_Currdatastatus.ULO_Shutdown_Retry_Count4 = data[MBIC_PAYLOADSTART + 0];
|
|
2373
|
+ break;
|
|
2374
|
+#if 0 // PYJ.2020.05.13_BEGIN --
|
|
2375
|
+ case ULO_ALC_Alarm1 :
|
|
2376
|
+
|
|
2377
|
+ break;
|
|
2378
|
+ case ULO_ALC_Alarm2 :
|
|
2379
|
+
|
|
2380
|
+ break;
|
|
2381
|
+ case ULO_ALC_Alarm3 :
|
|
2382
|
+
|
|
2383
|
+ break;
|
|
2384
|
+ case ULO_ALC_Alarm4 :
|
|
2385
|
+
|
|
2386
|
+ break;
|
|
2387
|
+ case ULO_Shutdown_Alarm1 :
|
|
2388
|
+
|
|
2389
|
+ break;
|
|
2390
|
+ case ULO_Shutdown_Alarm2 :
|
|
2391
|
+
|
|
2392
|
+ break;
|
|
2393
|
+ case ULO_Shutdown_Alarm3 :
|
|
2394
|
+
|
|
2395
|
+ break;
|
|
2396
|
+ case ULO_Shutdown_Alarm4 :
|
|
2397
|
+#endif // PYJ.2020.05.13_END --
|
|
2398
|
+
|
|
2399
|
+ break;
|
2001
|
2400
|
}
|
2002
|
2401
|
}
|
2003
|
2402
|
else{
|
|
@@ -2204,6 +2603,98 @@ void ADC_Check(void){
|
2204
|
2603
|
|
2205
|
2604
|
|
2206
|
2605
|
|
|
2606
|
+#if 1 // PYJ.2020.05.12_BEGIN --
|
|
2607
|
+
|
|
2608
|
+/*One Point round*/
|
|
2609
|
+double Bluecell_round( double value )
|
|
2610
|
+{
|
|
2611
|
+ unsigned short data = value * 1000;
|
|
2612
|
+ unsigned short temp = 0;
|
|
2613
|
+ double ret = 0;
|
|
2614
|
+// printf("1: %d\r\n",data);
|
|
2615
|
+ temp = data % 10;
|
|
2616
|
+ if(temp >= 5){
|
|
2617
|
+ data = data - temp + 10;
|
|
2618
|
+ }else{
|
|
2619
|
+ data = data - temp;
|
|
2620
|
+ }
|
|
2621
|
+// printf("2: %d\r\n",data);
|
|
2622
|
+ temp = (data % 100) / 10;
|
|
2623
|
+// printf("3: %d\r\n",temp);
|
|
2624
|
+ if(temp >= 5){
|
|
2625
|
+ data = data - (temp * 10)+ 100;
|
|
2626
|
+ }else{
|
|
2627
|
+ data = data - (temp * 10);
|
|
2628
|
+ }
|
|
2629
|
+// printf("4: %d\r\n",data);
|
|
2630
|
+ ret = data;
|
|
2631
|
+// printf("ret : %f\r\n",ret / 1000);
|
|
2632
|
+
|
|
2633
|
+ return ret / 1000;
|
|
2634
|
+}
|
|
2635
|
+
|
|
2636
|
+
|
|
2637
|
+#endif // PYJ.2020.05.12_END --
|
|
2638
|
+
|
|
2639
|
+#if 0 // PYJ.2020.05.12_BEGIN --
|
|
2640
|
+double AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size){
|
|
2641
|
+ double ret = 0xFF,CurrRet = 0,TableAdc,TableAdcret;
|
|
2642
|
+ uint8_t LastIndex = 0;
|
|
2643
|
+ double Max_ADC = 0,Min_ADC = 0;
|
|
2644
|
+ double step = 0;
|
|
2645
|
+ double dot = 0,tempret = 0xFF;
|
|
2646
|
+ for(int i =0; i < size / 2; i++){
|
|
2647
|
+ TableAdc = CompareAdc[i * 2] << 8;
|
|
2648
|
+ TableAdc += CompareAdc[i * 2 + 1];
|
|
2649
|
+ TableAdc /= 1000;
|
|
2650
|
+// printf("TableAdc[%d] : %f \r\n",i,TableAdc);
|
|
2651
|
+ CurrRet = TableAdc - CurrentAdc;
|
|
2652
|
+
|
|
2653
|
+ if(CurrRet < 0){ // plus 공식
|
|
2654
|
+ CurrRet = (CurrRet * -2) + CurrRet;
|
|
2655
|
+ }
|
|
2656
|
+ if(ret > CurrRet){
|
|
2657
|
+ ret = CurrRet;
|
|
2658
|
+ TableAdcret = TableAdc;
|
|
2659
|
+ LastIndex = i;
|
|
2660
|
+ }
|
|
2661
|
+ }
|
|
2662
|
+
|
|
2663
|
+ /*MIN*/
|
|
2664
|
+ TableAdc = CompareAdc[LastIndex * 2] << 8;
|
|
2665
|
+ TableAdc += CompareAdc[LastIndex * 2 + 1];
|
|
2666
|
+ TableAdc /= 1000;
|
|
2667
|
+ Min_ADC = TableAdc;
|
|
2668
|
+ /*MAX*/
|
|
2669
|
+ TableAdc = CompareAdc[LastIndex * 2 - 2 ] << 8;
|
|
2670
|
+ TableAdc += CompareAdc[LastIndex * 2 - 1];
|
|
2671
|
+ TableAdc /= 1000;
|
|
2672
|
+ Max_ADC = TableAdc;
|
|
2673
|
+
|
|
2674
|
+
|
|
2675
|
+ step = ((Max_ADC - Min_ADC) / 10);
|
|
2676
|
+
|
|
2677
|
+// Min_ADC = Bluecell_round(Min_ADC);
|
|
2678
|
+// CurrentAdc = Bluecell_round(CurrentAdc);
|
|
2679
|
+// printf("1:STEP : %f , %f > %f > %f \r\n",step,Max_ADC,CurrentAdc,Min_ADC);
|
|
2680
|
+ for(double d = 0; d < 1; d += 0.1){
|
|
2681
|
+ CurrRet = CurrentAdc - Min_ADC;
|
|
2682
|
+ if(tempret >= CurrRet & CurrRet > 0){
|
|
2683
|
+// printf("(%f >= %f)\r\n",tempret,CurrRet);
|
|
2684
|
+ tempret = CurrRet;
|
|
2685
|
+// printf("2:STEP : %f , %f > %f > %f \r\n",step,Max_ADC,CurrentAdc,Min_ADC);
|
|
2686
|
+ Min_ADC += step;
|
|
2687
|
+ dot = d;
|
|
2688
|
+ }
|
|
2689
|
+ }
|
|
2690
|
+// printf("dot : %f \r\n",dot);
|
|
2691
|
+ dot = AutoControl_Save[LastIndex] - dot;
|
|
2692
|
+
|
|
2693
|
+// printf("AutoControl_Save[LastIndex]:%d + dot:%f : %f \r\n",AutoControl_Save[LastIndex] + dot);
|
|
2694
|
+// printf(" %f > %f > %f \r\n",Max_ADC,CurrentAdc,Min_ADC);
|
|
2695
|
+ return dot;
|
|
2696
|
+}
|
|
2697
|
+#else
|
2207
|
2698
|
int8_t AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size){
|
2208
|
2699
|
double ret = 0xFF,CurrRet = 0,TableAdc;
|
2209
|
2700
|
uint8_t LastIndex = 0;
|
|
@@ -2226,6 +2717,8 @@ int8_t AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t siz
|
2226
|
2717
|
}
|
2227
|
2718
|
return AutoControl_Save[LastIndex];
|
2228
|
2719
|
}
|
|
2720
|
+
|
|
2721
|
+#endif // PYJ.2020.05.12_END --
|
2229
|
2722
|
int32_t MinusConvert(uint8_t Temp_h, int32_t Value){
|
2230
|
2723
|
int32_t ret;
|
2231
|
2724
|
if((((bluecell_Currdatastatus.ATT_ALC1_MAX_H << 8) & 0xFF00) & 0xF000) == 0xF000){
|
|
@@ -2248,9 +2741,10 @@ void ALC_Function(){ //DL
|
2248
|
2741
|
int32_t CurrnALC_MAX_SettingValue = 0;
|
2249
|
2742
|
int32_t CurrnALC_MIN_SettingValue = 0;
|
2250
|
2743
|
int32_t ALC_Result = 0;
|
2251
|
|
- int8_t ResdBm = 0;
|
2252
|
|
-
|
|
2744
|
+ double ResdBm = 0;
|
|
2745
|
+ uint8_t tempadc[100];
|
2253
|
2746
|
Bluecell_StructCpy(&AutoControl_Save[0],&ALC_Table_ref.DET_UL_0,sizeof(ALC_dBm_t));
|
|
2747
|
+ Bluecell_StructCpy(&tempadc[0],&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
2254
|
2748
|
if(ALCTimerCnt > 100){
|
2255
|
2749
|
if(bluecell_Currdatastatus.ATT_ALC1_ONOFF == true){
|
2256
|
2750
|
#if 1 // PYJ.2020.04.29_BEGIN --
|
|
@@ -2262,10 +2756,8 @@ void ALC_Function(){ //DL
|
2262
|
2756
|
ResdBm = AutoControl_ADC_Compare(ret,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
|
2263
|
2757
|
// printf("==================================\r\n");
|
2264
|
2758
|
// printf("Current UL ADC VALUE : %f \r\n",ret);
|
2265
|
|
-// printf("ResdBm : UL1 : %d \r\n",ResdBm);
|
2266
|
|
-
|
2267
|
|
-
|
2268
|
|
-
|
|
2759
|
+// printf("ResdBm : UL1 : %f \r\n",ResdBm);
|
|
2760
|
+// HAL_Delay(1000);
|
2269
|
2761
|
|
2270
|
2762
|
CurrnALC_MAX_SettingValue = bluecell_Currdatastatus.ATT_ALC1_MAX_H << 8;
|
2271
|
2763
|
CurrnALC_MAX_SettingValue += bluecell_Currdatastatus.ATT_ALC1_MAX_L;
|
|
@@ -2279,7 +2771,7 @@ void ALC_Function(){ //DL
|
2279
|
2771
|
// printf("I WILL GIVE YOU ATTEN MAX : %d \r\n",ResdBm - CurrnALC_MAX_SettingValue);
|
2280
|
2772
|
// printf("I WILL GIVE YOU ATTEN MIN : %d \r\n",ResdBm - CurrnALC_MIN_SettingValue);
|
2281
|
2773
|
// printf("==================================\r\n");
|
2282
|
|
- ALC_Result += ResdBm - CurrnALC_MAX_SettingValue;
|
|
2774
|
+ ALC_Result = ResdBm - CurrnALC_MAX_SettingValue;
|
2283
|
2775
|
if(ALC_Result > 0){
|
2284
|
2776
|
ALC_Result *= 100;
|
2285
|
2777
|
ALC_Result += bluecell_Currdatastatus.ATT_UL1_H << 8 | bluecell_Currdatastatus.ATT_UL1_L;
|
|
@@ -2320,7 +2812,7 @@ void ALC_Function(){ //DL
|
2320
|
2812
|
|
2321
|
2813
|
CurrnALC_MIN_SettingValue = bluecell_Currdatastatus.ATT_ALC2_MIN_H << 8;
|
2322
|
2814
|
CurrnALC_MIN_SettingValue += bluecell_Currdatastatus.ATT_ALC2_MIN_L;
|
2323
|
|
- ALC_Result += ResdBm - CurrnALC_MAX_SettingValue;
|
|
2815
|
+ ALC_Result = ResdBm - CurrnALC_MAX_SettingValue;
|
2324
|
2816
|
if(ALC_Result > 0){
|
2325
|
2817
|
ALC_Result *= 100;
|
2326
|
2818
|
ALC_Result += bluecell_Currdatastatus.ATT_UL2_H << 8 | bluecell_Currdatastatus.ATT_UL2_L;
|
|
@@ -2356,7 +2848,7 @@ void ALC_Function(){ //DL
|
2356
|
2848
|
|
2357
|
2849
|
CurrnALC_MIN_SettingValue = bluecell_Currdatastatus.ATT_ALC3_MIN_H << 8;
|
2358
|
2850
|
CurrnALC_MIN_SettingValue += bluecell_Currdatastatus.ATT_ALC3_MIN_L;
|
2359
|
|
- ALC_Result += ResdBm - CurrnALC_MAX_SettingValue;
|
|
2851
|
+ ALC_Result = ResdBm - CurrnALC_MAX_SettingValue;
|
2360
|
2852
|
if(ALC_Result > 0){
|
2361
|
2853
|
ALC_Result *= 100;
|
2362
|
2854
|
ALC_Result += bluecell_Currdatastatus.ATT_UL3_H << 8 | bluecell_Currdatastatus.ATT_UL3_L;
|
|
@@ -2393,7 +2885,7 @@ void ALC_Function(){ //DL
|
2393
|
2885
|
|
2394
|
2886
|
CurrnALC_MIN_SettingValue = bluecell_Currdatastatus.ATT_ALC4_MIN_H << 8;
|
2395
|
2887
|
CurrnALC_MIN_SettingValue += bluecell_Currdatastatus.ATT_ALC4_MIN_L;
|
2396
|
|
- ALC_Result += ResdBm - CurrnALC_MAX_SettingValue;
|
|
2888
|
+ ALC_Result = ResdBm - CurrnALC_MAX_SettingValue;
|
2397
|
2889
|
if(ALC_Result > 0){
|
2398
|
2890
|
ALC_Result *= 100;
|
2399
|
2891
|
ALC_Result += bluecell_Currdatastatus.ATT_UL4_H << 8 | bluecell_Currdatastatus.ATT_UL4_L;
|