Ver código fonte

1. API 부팅 메모리 주소 변경
2.EEPROM 에서 Table Length 정하도록 수정
3.

PYJ 5 anos atrás
pai
commit
e3eb958a29

+ 12 - 0
Bluecell_Inc/Bluecell_operate.h

@@ -632,6 +632,18 @@ typedef enum{
632
 	ULO_P3_ATT_Accuracy_Table_Number = 0x52,
632
 	ULO_P3_ATT_Accuracy_Table_Number = 0x52,
633
 	ULO_P4_ATT_Accuracy_Table_Number = 0x53,
633
 	ULO_P4_ATT_Accuracy_Table_Number = 0x53,
634
 }MBIC_Table_Number;
634
 }MBIC_Table_Number;
635
+#define ATTENTABLEDLUL_LENGTH 64
636
+#define ATTENTABLEDET_DL_LENGTH 31
637
+#define ATTENTABLEDET_UL_LENGTH 46
638
+
639
+#define ATTENTABLE_TEMP_LENGTH 10
640
+
641
+#define ATTENTABLEDL_REF   0
642
+#define ATTENTABLEUL_REF   0
643
+#define ATTENTABLEDET_DL_REF 5
644
+#define ATTENTABLEDET_UL_REF -15
645
+#define ATTENTABLE_TEMP_REF  -10
646
+
635
 #define UNIT_TYPE_MBIC 0x01
647
 #define UNIT_TYPE_MBIC 0x01
636
 /*FLAG BIT START */
648
 /*FLAG BIT START */
637
 #define ENVIRONMENT_TEMPHIGH 0x80
649
 #define ENVIRONMENT_TEMPHIGH 0x80

+ 117 - 38
Bluecell_Src/Bluecell_operate.c

@@ -1353,6 +1353,33 @@ void MBIC_TableDataCopy(uint8_t* dst,uint8_t* src,uint16_t size){
1353
     dst[MBIC_TableIndex_Number] = dst[MBIC_TableIndex_Number];
1353
     dst[MBIC_TableIndex_Number] = dst[MBIC_TableIndex_Number];
1354
 //    printf("\r\dst[MBIC_TableIndex_Number] : %d \r\n",dst[MBIC_TableIndex_Number]);   
1354
 //    printf("\r\dst[MBIC_TableIndex_Number] : %d \r\n",dst[MBIC_TableIndex_Number]);   
1355
     dst[MBIC_TableIndex_Ref] = UNIT_TYPE_MBIC;    // Check
1355
     dst[MBIC_TableIndex_Ref] = UNIT_TYPE_MBIC;    // Check
1356
+    
1357
+
1358
+//    Att_DL1.Table_Length  = ATTENTABLEDLUL_LENGTH;
1359
+//    Att_DL2.Table_Length  = ATTENTABLEDLUL_LENGTH;
1360
+//    Att_DL3.Table_Length  = ATTENTABLEDLUL_LENGTH;
1361
+//    Att_DL4.Table_Length  = ATTENTABLEDLUL_LENGTH;
1362
+//    Att_UL1.Table_Length  = ATTENTABLEDLUL_LENGTH;
1363
+//    Att_UL2.Table_Length  = ATTENTABLEDLUL_LENGTH;
1364
+//    Att_UL3.Table_Length  = ATTENTABLEDLUL_LENGTH;
1365
+//    Att_UL4.Table_Length  = ATTENTABLEDLUL_LENGTH;
1366
+//    Det_DL1.Table_Length  = ATTENTABLEDET_DL_LENGTH;
1367
+//    Det_DL2.Table_Length  = ATTENTABLEDET_DL_LENGTH;
1368
+//    Det_DL3.Table_Length  = ATTENTABLEDET_DL_LENGTH;
1369
+//    Det_DL4.Table_Length  = ATTENTABLEDET_DL_LENGTH;
1370
+//    Det_UL1.Table_Length  = ATTENTABLEDET_UL_LENGTH;
1371
+//    Det_UL2.Table_Length  = ATTENTABLEDET_UL_LENGTH;
1372
+//    Det_UL3.Table_Length  = ATTENTABLEDET_UL_LENGTH;
1373
+//    Det_UL4.Table_Length  = ATTENTABLEDET_UL_LENGTH;
1374
+//    Temp_DL1.Table_Length = ATTENTABLE_TEMP_LENGTH;
1375
+//    Temp_DL2.Table_Length = ATTENTABLE_TEMP_LENGTH;
1376
+//    Temp_DL3.Table_Length = ATTENTABLE_TEMP_LENGTH;
1377
+//    Temp_DL4.Table_Length = ATTENTABLE_TEMP_LENGTH;
1378
+//    Temp_UL1.Table_Length = ATTENTABLE_TEMP_LENGTH;
1379
+//    Temp_UL2.Table_Length = ATTENTABLE_TEMP_LENGTH;
1380
+//    Temp_UL3.Table_Length = ATTENTABLE_TEMP_LENGTH;
1381
+//    Temp_UL4.Table_Length = ATTENTABLE_TEMP_LENGTH;  
1382
+    
1356
     if(dst[MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
1383
     if(dst[MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
1357
      &&dst[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){
1384
      &&dst[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){
1358
         dst[MBIC_TableIndex_Length] = size;   //
1385
         dst[MBIC_TableIndex_Length] = size;   //
@@ -1554,105 +1581,107 @@ void Bluecell_TableSave(uint8_t* data,uint8_t type){
1554
             Bluecell_DataCopy(&Att_DL1.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1581
             Bluecell_DataCopy(&Att_DL1.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1555
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1582
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1556
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1583
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1584
+
1585
+            printf("Function : %s Line %d \r\n",__func__,__LINE__);
1557
             break;
1586
             break;
1558
-        case DLI_P2_ATT_Accuracy_Table_Number: 
1587
+        case DLI_P2_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1559
             Bluecell_DataCopy(&Att_DL2.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1588
             Bluecell_DataCopy(&Att_DL2.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1560
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1589
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1561
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1590
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1562
 
1591
 
1563
 //            printf("ADDRESS : %d \r\n",EEPROM_ATT_DL1_TABLE_ADDRESDS );
1592
 //            printf("ADDRESS : %d \r\n",EEPROM_ATT_DL1_TABLE_ADDRESDS );
1564
             break;
1593
             break;
1565
-        case DLI_P3_ATT_Accuracy_Table_Number: 
1594
+        case DLI_P3_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1566
             Bluecell_DataCopy(&Att_DL3.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1595
             Bluecell_DataCopy(&Att_DL3.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1567
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1596
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1568
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1597
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1569
             break;
1598
             break;
1570
-        case DLI_P4_ATT_Accuracy_Table_Number: 
1599
+        case DLI_P4_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1571
             Bluecell_DataCopy(&Att_DL4.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1600
             Bluecell_DataCopy(&Att_DL4.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1572
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1601
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1573
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1602
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1574
             break;
1603
             break;
1575
-        case ULO_P1_ATT_Accuracy_Table_Number: 
1604
+        case ULO_P1_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1576
             Bluecell_DataCopy(&Att_UL1.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1605
             Bluecell_DataCopy(&Att_UL1.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1577
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1606
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1578
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1607
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1579
             break;
1608
             break;
1580
-        case ULO_P2_ATT_Accuracy_Table_Number: 
1609
+        case ULO_P2_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1581
             Bluecell_DataCopy(&Att_UL2.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1610
             Bluecell_DataCopy(&Att_UL2.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1582
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1611
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1583
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1612
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1584
             break;
1613
             break;
1585
-        case ULO_P3_ATT_Accuracy_Table_Number: 
1614
+        case ULO_P3_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1586
             Bluecell_DataCopy(&Att_UL3.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1615
             Bluecell_DataCopy(&Att_UL3.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1587
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1616
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1588
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1617
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1589
             break;
1618
             break;
1590
-        case ULO_P4_ATT_Accuracy_Table_Number: 
1619
+        case ULO_P4_ATT_Accuracy_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1591
             Bluecell_DataCopy(&Att_UL4.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1620
             Bluecell_DataCopy(&Att_UL4.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1592
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1621
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1593
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1622
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1594
             break;
1623
             break;
1595
-        case DLI_P1_Level_Table_Number: 
1624
+        case DLI_P1_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1596
             Bluecell_DataCopy(&Det_DL1.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1625
             Bluecell_DataCopy(&Det_DL1.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1597
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1626
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1598
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1627
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1599
             break;
1628
             break;
1600
-        case DLI_P2_Level_Table_Number: 
1629
+        case DLI_P2_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1601
             Bluecell_DataCopy(&Det_DL2.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1630
             Bluecell_DataCopy(&Det_DL2.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1602
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1631
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1603
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1632
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1604
             break;
1633
             break;
1605
-        case DLI_P3_Level_Table_Number: 
1634
+        case DLI_P3_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1606
             Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1635
             Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1607
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1636
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1608
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1637
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1609
             break;
1638
             break;
1610
-        case DLI_P4_Level_Table_Number: 
1639
+        case DLI_P4_Level_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__); 
1611
             Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1640
             Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1612
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1641
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1613
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1642
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1614
             break;
1643
             break;
1615
-        case ULO_P1_Level_Table_Number: 
1644
+        case ULO_P1_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1616
             Bluecell_DataCopy(&Det_UL1.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1645
             Bluecell_DataCopy(&Det_UL1.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1617
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1646
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1618
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1647
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1619
             break;
1648
             break;
1620
-        case ULO_P2_Level_Table_Number: 
1649
+        case ULO_P2_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1621
             Bluecell_DataCopy(&Det_UL2.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1650
             Bluecell_DataCopy(&Det_UL2.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1622
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1651
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1623
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1652
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1624
         break;
1653
         break;
1625
-        case ULO_P3_Level_Table_Number: 
1654
+        case ULO_P3_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1626
             Bluecell_DataCopy(&Det_UL3.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1655
             Bluecell_DataCopy(&Det_UL3.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1627
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1656
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1628
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1657
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1629
             break;
1658
             break;
1630
-        case ULO_P4_Level_Table_Number: 
1659
+        case ULO_P4_Level_Table_Number: printf("Function : %s Line %d \r\n",__func__,__LINE__);
1631
             Bluecell_DataCopy(&Det_UL4.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1660
             Bluecell_DataCopy(&Det_UL4.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1632
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1661
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1633
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1662
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1634
             break;
1663
             break;
1635
-        case DLI_P1_ATT_Temp_guarantee_Table_Number:
1664
+        case DLI_P1_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1636
             Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1665
             Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1637
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1666
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1638
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1667
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1639
             break;
1668
             break;
1640
-        case DLI_P2_ATT_Temp_guarantee_Table_Number:
1669
+        case DLI_P2_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1641
             Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1670
             Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1642
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1671
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1643
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1672
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1644
             break;
1673
             break;
1645
-        case DLI_P3_ATT_Temp_guarantee_Table_Number:
1674
+        case DLI_P3_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1646
             Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1675
             Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1647
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1676
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1648
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1677
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1649
             break;
1678
             break;
1650
-        case DLI_P4_ATT_Temp_guarantee_Table_Number:
1679
+        case DLI_P4_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1651
             Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1680
             Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1652
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1681
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1653
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1682
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1654
             break;
1683
             break;
1655
-        case ULO_P1_ATT_Temp_guarantee_Table_Number:
1684
+        case ULO_P1_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1656
             Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1685
             Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1657
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1686
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1658
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1687
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
@@ -1662,12 +1691,12 @@ void Bluecell_TableSave(uint8_t* data,uint8_t type){
1662
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1691
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1663
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1692
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1664
             break;
1693
             break;
1665
-        case ULO_P3_ATT_Temp_guarantee_Table_Number:
1694
+        case ULO_P3_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1666
             Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1695
             Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1667
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1696
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1668
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1697
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1669
             break;
1698
             break;
1670
-        case ULO_P4_ATT_Temp_guarantee_Table_Number:
1699
+        case ULO_P4_ATT_Temp_guarantee_Table_Number:printf("Function : %s Line %d \r\n",__func__,__LINE__);
1671
             Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1700
             Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1672
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1701
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1673
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                        
1702
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                        
@@ -1849,6 +1878,7 @@ void MBIC_TableLoad(uint8_t* data,uint8_t type){
1849
             data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL4.Table_Length;                
1878
             data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL4.Table_Length;                
1850
             break;
1879
             break;
1851
     }
1880
     }
1881
+    
1852
      printf("\rLoad MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);
1882
      printf("\rLoad MBIC_TableIndex_Number : %x \r\n",data[MBIC_PAYLOADSTART + MBIC_TableIndex_Number]);
1853
     
1883
     
1854
 }
1884
 }
@@ -2469,6 +2499,16 @@ bool Bluecell_Operate(uint8_t* data){
2469
 		break;
2499
 		break;
2470
     case ATT_TableSet:
2500
     case ATT_TableSet:
2471
         Bluecell_TableSave(data, data[BLUECELL_DATA]);
2501
         Bluecell_TableSave(data, data[BLUECELL_DATA]);
2502
+        Bluecell_TableLoad(data, data[BLUECELL_DATA]);
2503
+        data[BLUECELL_TYPE] = ATT_TableGet;
2504
+        Crcret = CRC16_Generate(&data[BLUECELL_TYPE], data[BLUECELL_LENGTH_L]);
2505
+        data[data[BLUECELL_LENGTH_L] + 1] = ((Crcret & 0xFF00) >> 8);
2506
+        data[data[BLUECELL_LENGTH_L] + 2] = (Crcret & 0x00FF);
2507
+        data[data[BLUECELL_LENGTH_L] + 3] = 0xEB;
2508
+        
2509
+        Bluecell_StructCpy(&Txdata[0],&data[0],data[BLUECELL_LENGTH_L] + 4);
2510
+        Uart1_Data_Send(&Txdata[0], Txdata[BLUECELL_LENGTH_L] + 4);        
2511
+        break;
2472
     case ATT_TableGet:
2512
     case ATT_TableGet:
2473
         Bluecell_TableLoad(data, data[BLUECELL_DATA]);
2513
         Bluecell_TableLoad(data, data[BLUECELL_DATA]);
2474
         data[BLUECELL_TYPE] = ATT_TableGet;
2514
         data[BLUECELL_TYPE] = ATT_TableGet;
@@ -2567,6 +2607,25 @@ bool Bluecell_Operate(uint8_t* data){
2567
             bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & ALARM_ULO_SHUTDOWN_P3,
2607
             bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & ALARM_ULO_SHUTDOWN_P3,
2568
             bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & ALARM_ULO_SHUTDOWN_P4
2608
             bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & ALARM_ULO_SHUTDOWN_P4
2569
         );
2609
         );
2610
+        printf("DLI HIGH Threas High Hold 1: %d 2:  %d 3: %d 4: %d\r\n",
2611
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P1_LEVEL_HIGH,
2612
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P2_LEVEL_HIGH,
2613
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P3_LEVEL_HIGH,
2614
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P4_LEVEL_HIGH
2615
+        );        
2616
+
2617
+        printf("DLI LOW Threas High Hold 1: %d 2:  %d 3: %d 4: %d\r\n",
2618
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P1_LEVEL_LOW,
2619
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P2_LEVEL_LOW,
2620
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P3_LEVEL_LOW,
2621
+            bluecell_Currdatastatus.ALARM_DLI_Level & ALARM_DLI_P4_LEVEL_LOW
2622
+        );              
2623
+        printf("ULO HIGH Threas High Hold 1: %d 2:  %d 3: %d 4: %d\r\n",
2624
+            bluecell_Currdatastatus.ALARM_ULO_Level & ALARM_ULO_P1_LEVEL_HIGH,
2625
+            bluecell_Currdatastatus.ALARM_ULO_Level & ALARM_ULO_P2_LEVEL_HIGH,
2626
+            bluecell_Currdatastatus.ALARM_ULO_Level & ALARM_ULO_P3_LEVEL_HIGH,
2627
+            bluecell_Currdatastatus.ALARM_ULO_Level & ALARM_ULO_P4_LEVEL_HIGH
2628
+        );        
2570
         printf("===================END=======================\r\n");
2629
         printf("===================END=======================\r\n");
2571
 
2630
 
2572
 //        printf("Level DL Alarm %d \r\n");
2631
 //        printf("Level DL Alarm %d \r\n");
@@ -2906,7 +2965,9 @@ bool Bluecell_Operate(uint8_t* data){
2906
   }
2965
   }
2907
   
2966
   
2908
   if(datatype != Bluecell_StatusReq
2967
   if(datatype != Bluecell_StatusReq
2909
-  && datatype != Bluecell_LED_TEST)
2968
+  && datatype != Bluecell_LED_TEST
2969
+  && datatype != ATT_TableSet
2970
+  && datatype != ATT_TableGet)
2910
   {
2971
   {
2911
       Bluecell_StructCpy(&DataWrite[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
2972
       Bluecell_StructCpy(&DataWrite[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
2912
       EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_WINDOW_STATUS_ADDRESDS),&DataWrite[0],sizeof(BLUESTATUS_st));
2973
       EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_WINDOW_STATUS_ADDRESDS),&DataWrite[0],sizeof(BLUESTATUS_st));
@@ -4400,6 +4461,7 @@ bool MBIC_Operate(uint8_t* data){
4400
         /*Table Get */
4461
         /*Table Get */
4401
 //            data[MBIC_PAYLOADSTART + 1] //Reserve Data
4462
 //            data[MBIC_PAYLOADSTART + 1] //Reserve Data
4402
         //protocolTableLoadReplay:
4463
         //protocolTableLoadReplay:
4464
+       
4403
 
4465
 
4404
         switch(data[MBIC_PAYLOADSTART + 2]){
4466
         switch(data[MBIC_PAYLOADSTART + 2]){
4405
         	case DLI_P1_Level_Table_Number                 :
4467
         	case DLI_P1_Level_Table_Number                 :
@@ -7144,28 +7206,37 @@ void DLI_ShutdownAlarmCheck(){
7144
 
7206
 
7145
 }
7207
 }
7146
 #else
7208
 #else
7209
+typedef enum{
7210
+    DL_Shutdown_H = 0,
7211
+    DL_Shutdown_L, 
7212
+};
7147
 
7213
 
7148
-void DL_Shutdown_Operate(uint8_t index,uint8_t* path,uint8_t* retrycnt){
7214
+void DL_Shutdown_Operate(uint8_t index,uint8_t* path,uint8_t* retrycnt,uint8_t* ShutdownAlarm,uint8_t* MainAtten){
7149
     GPIO_TypeDef *Port;
7215
     GPIO_TypeDef *Port;
7150
     uint16_t Pin;
7216
     uint16_t Pin;
7217
+    uint8_t AlarmFlag = 0;
7151
 
7218
 
7152
 
7219
 
7153
     switch(index){
7220
     switch(index){
7154
         case DET_Alarm_DL1_Shutdown_Index:
7221
         case DET_Alarm_DL1_Shutdown_Index:
7155
             Port = PATH_EN_DL1_GPIO_Port;
7222
             Port = PATH_EN_DL1_GPIO_Port;
7156
             Pin = PATH_EN_DL1_Pin;
7223
             Pin = PATH_EN_DL1_Pin;
7224
+            AlarmFlag = ALARM_DLI_SHUTDOWN_P1;
7157
             break;
7225
             break;
7158
         case DET_Alarm_DL2_Shutdown_Index:
7226
         case DET_Alarm_DL2_Shutdown_Index:
7159
             Port = PATH_EN_DL2_GPIO_Port;
7227
             Port = PATH_EN_DL2_GPIO_Port;
7160
-            Pin = PATH_EN_DL2_Pin;            
7228
+            Pin = PATH_EN_DL2_Pin;   
7229
+            AlarmFlag = ALARM_DLI_SHUTDOWN_P2;
7161
             break;
7230
             break;
7162
         case DET_Alarm_DL3_Shutdown_Index:
7231
         case DET_Alarm_DL3_Shutdown_Index:
7163
             Port = PATH_EN_DL3_GPIO_Port;
7232
             Port = PATH_EN_DL3_GPIO_Port;
7164
-            Pin = PATH_EN_DL3_Pin;             
7233
+            Pin = PATH_EN_DL3_Pin;       
7234
+            AlarmFlag = ALARM_DLI_SHUTDOWN_P3;
7165
             break;
7235
             break;
7166
         case DET_Alarm_DL4_Shutdown_Index:            
7236
         case DET_Alarm_DL4_Shutdown_Index:            
7167
             Port = PATH_EN_DL4_GPIO_Port;
7237
             Port = PATH_EN_DL4_GPIO_Port;
7168
-            Pin = PATH_EN_DL4_Pin;             
7238
+            Pin = PATH_EN_DL4_Pin;        
7239
+            AlarmFlag = ALARM_DLI_SHUTDOWN_P4;
7169
             break;
7240
             break;
7170
     }
7241
     }
7171
     if(MBIC_DL_ShutdownCount[index] < 3
7242
     if(MBIC_DL_ShutdownCount[index] < 3
@@ -7184,30 +7255,30 @@ void DL_Shutdown_Operate(uint8_t index,uint8_t* path,uint8_t* retrycnt){
7184
         && DL_PathUserHandl[index] == false){
7255
         && DL_PathUserHandl[index] == false){
7185
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_SET);//CLOCK
7256
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_SET);//CLOCK
7186
         *path = true;            
7257
         *path = true;            
7187
-        bluecell_Prevdatastatus.ATT_DL1_H = 0xFF;
7188
-        bluecell_Prevdatastatus.ATT_DL1_L = 0xFF;
7258
+        MainAtten[DL_Shutdown_H] = 0xFF;
7259
+        MainAtten[DL_Shutdown_L] = 0xFF;
7189
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus); 
7260
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus); 
7190
     }                  
7261
     }                  
7191
     if(DET_DL_Shutdown_On_AlarmTimerCnt[index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
7262
     if(DET_DL_Shutdown_On_AlarmTimerCnt[index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
7192
     {
7263
     {
7193
         /*Shutdown 5sec Alarm*/
7264
         /*Shutdown 5sec Alarm*/
7194
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_RESET);//CLOCK      
7265
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_RESET);//CLOCK      
7195
-        printf("SHUTDOWN ON DL %d\r\n",index + 1);
7266
+//        printf("SHUTDOWN ON DL %d\r\n",index + 1);
7196
         *path = false;
7267
         *path = false;
7197
         (*retrycnt)++;
7268
         (*retrycnt)++;
7198
         DET_DL_Shutdown_On_AlarmTimerCnt[index] = 0;
7269
         DET_DL_Shutdown_On_AlarmTimerCnt[index] = 0;
7199
         
7270
         
7200
         if((*retrycnt) >= RETRYCNT_MAX){
7271
         if((*retrycnt) >= RETRYCNT_MAX){
7201
             (*retrycnt) = RETRYCNT_MAX;
7272
             (*retrycnt) = RETRYCNT_MAX;
7202
-            bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN |= ALARM_DLI_SHUTDOWN_P1;
7203
-            bluecell_Currdatastatus.DLI_Shutdown_Alarm1       = true;
7273
+            bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN |= AlarmFlag;
7274
+            *ShutdownAlarm       = true;
7204
         }
7275
         }
7205
     }
7276
     }
7206
     else{
7277
     else{
7207
         if(DET_DL_Shutdown_Off_AlarmTimerCnt[index] >= MBIC_OFF_MAINTAIN_SEC
7278
         if(DET_DL_Shutdown_Off_AlarmTimerCnt[index] >= MBIC_OFF_MAINTAIN_SEC
7208
             && (*retrycnt) != RETRYCNT_MAX){
7279
             && (*retrycnt) != RETRYCNT_MAX){
7209
-            bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN &= ~ALARM_DLI_SHUTDOWN_P1;
7210
-            bluecell_Currdatastatus.DLI_Shutdown_Alarm1       = false;            
7280
+            bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN &= ~AlarmFlag;
7281
+            *ShutdownAlarm       = false;            
7211
         }
7282
         }
7212
     } 
7283
     } 
7213
 
7284
 
@@ -7226,16 +7297,24 @@ void DLI_ShutdownAlarmCheck()
7226
         /***************************************************************************************************************/  
7297
         /***************************************************************************************************************/  
7227
         DL_Shutdown_Operate(DET_Alarm_DL1_Shutdown_Index,
7298
         DL_Shutdown_Operate(DET_Alarm_DL1_Shutdown_Index,
7228
                                 &bluecell_Currdatastatus.ATT_DL1_PATH,
7299
                                 &bluecell_Currdatastatus.ATT_DL1_PATH,
7229
-                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1);
7300
+                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1,
7301
+                                &bluecell_Currdatastatus.DLI_Shutdown_Alarm1,
7302
+                                &bluecell_Prevdatastatus.ATT_DL1_H);
7230
         DL_Shutdown_Operate(DET_Alarm_DL2_Shutdown_Index,
7303
         DL_Shutdown_Operate(DET_Alarm_DL2_Shutdown_Index,
7231
                                 &bluecell_Currdatastatus.ATT_DL2_PATH,
7304
                                 &bluecell_Currdatastatus.ATT_DL2_PATH,
7232
-                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count2);
7305
+                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count2,
7306
+                                &bluecell_Currdatastatus.DLI_Shutdown_Alarm2,
7307
+                                &bluecell_Prevdatastatus.ATT_DL2_H);
7233
         DL_Shutdown_Operate(DET_Alarm_DL3_Shutdown_Index,
7308
         DL_Shutdown_Operate(DET_Alarm_DL3_Shutdown_Index,
7234
                                 &bluecell_Currdatastatus.ATT_DL3_PATH,
7309
                                 &bluecell_Currdatastatus.ATT_DL3_PATH,
7235
-                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count3);
7310
+                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count3,
7311
+                                &bluecell_Currdatastatus.DLI_Shutdown_Alarm3,
7312
+                                &bluecell_Prevdatastatus.ATT_DL3_H);
7236
         DL_Shutdown_Operate(DET_Alarm_DL4_Shutdown_Index,
7313
         DL_Shutdown_Operate(DET_Alarm_DL4_Shutdown_Index,
7237
                                 &bluecell_Currdatastatus.ATT_DL4_PATH,
7314
                                 &bluecell_Currdatastatus.ATT_DL4_PATH,
7238
-                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4);
7315
+                                &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4,
7316
+                                &bluecell_Currdatastatus.DLI_Shutdown_Alarm4,
7317
+                                &bluecell_Prevdatastatus.ATT_DL4_H);
7239
         
7318
         
7240
         
7319
         
7241
         
7320
         

+ 124 - 43
Bluecell_Src/eeprom.c

@@ -24,19 +24,51 @@ extern BLUESTATUS_st bluecell_Currdatastatus;
24
 
24
 
25
 
25
 
26
 uint8_t testdata[120];
26
 uint8_t testdata[120];
27
-#define ATTENTABLEDLUL_LENGTH 64
28
-#define ATTENTABLEDET_DL_LENGTH 31
29
-#define ATTENTABLEDET_UL_LENGTH 46
30
 
27
 
31
-#define ATTENTABLE_TEMP_LENGTH 10
32
-
33
-#define ATTENTABLEDL_REF   0
34
-#define ATTENTABLEUL_REF   0
35
-#define ATTENTABLEDET_DL_REF 5
36
-#define ATTENTABLEDET_UL_REF -15
37
-#define ATTENTABLE_TEMP_REF  -10
28
+typedef enum{
29
+    Test_DL1 = 0,
30
+    Test_DL2 = 0,
31
+    Test_DL3 = 0,
32
+    Test_DL4 = 0,    
33
+};
34
+typedef enum{
35
+    Test_UL1 = 0,
36
+    Test_UL2 = 0,
37
+    Test_UL3 = 0,
38
+    Test_UL4 = 0,    
39
+};
38
 void EEPROM_M24C08_Init(void){
40
 void EEPROM_M24C08_Init(void){
39
     uint8_t* data = 0;
41
     uint8_t* data = 0;
42
+    int16_t DL_Main_Atten[4] = {0,};
43
+    int16_t DL_Offset_Atten[4] = {0,};
44
+
45
+    int16_t UL_Main_Atten[4] = {0,};
46
+    int16_t UL_Offset_Atten[4] = {0,};
47
+    int16_t UL_ALC_Atten[4] = {0,};
48
+
49
+    int16_t DL_High_ThreasHold = 0;
50
+    int16_t DL_Low_ThreasHold = 0;
51
+
52
+    int16_t UL_Hihh_ThreasHold = 0;
53
+
54
+    bool DL_Path[4] = {0,};
55
+
56
+    bool UL_Path[4] = {0,};    
57
+
58
+    bool ALC_Path = 0;        
59
+    bool AGC_Path = 0;            
60
+
61
+    bool DL_shutdown_Path = 0;
62
+    bool UL_shutdown_Path = 0;
63
+
64
+    int16_t DL_Shutdown_ThreadHold = 0;        
65
+    int16_t UL_Shutdown_ThreadHold = 0; 
66
+
67
+//    DL_High_ThreasHold = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
68
+//    ALC_TEMP[0] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L;
69
+//    ALC_TEMP[1] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_L;
70
+//    ALC_TEMP[2] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_L;
71
+//    ALC_TEMP[3] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
40
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
72
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
41
 
73
 
42
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
74
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
@@ -55,8 +87,13 @@ void EEPROM_M24C08_Init(void){
55
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
87
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
56
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
88
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
57
 
89
 
58
-
90
+    uint8_t* tmpdata;
59
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
91
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
92
+    tmpdata = &Det_UL1.Table_Det_15_dBm_H;
93
+    for(int i =0; i < sizeof(DET_TABLEUL_st) ; i++){
94
+        printf("[%d]%f \r\n",i,(tmpdata[i * 2] << 8 | tmpdata[i*2+1])*0.001);
95
+    }
96
+    printf("");
60
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
97
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
61
 //    data = &Det_UL2.Table_Det_15_dBm_H;
98
 //    data = &Det_UL2.Table_Det_15_dBm_H;
62
 //    for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
99
 //    for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
@@ -80,7 +117,47 @@ void EEPROM_M24C08_Init(void){
80
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
117
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
81
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
118
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
82
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
119
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
120
+
121
+#if 0 // PYJ.2020.06.28_BEGIN -- 
122
+    DL_Main_Atten[Test_DL1] = (bluecell_Currdatastatus.ATT_DL1_H << 8) | bluecell_Currdatastatus.ATT_DL1_L;
123
+    DL_Main_Atten[Test_DL2] = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
124
+    DL_Main_Atten[Test_DL3] = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
125
+    DL_Main_Atten[Test_DL4] = bluecell_Currdatastatus.ATT_DL4_H << 8 | bluecell_Currdatastatus.ATT_DL4_L;
126
+
127
+    DL_Offset_Atten[Test_DL1] = bluecell_Currdatastatus.bluecell_User_DL1_H << 8 | bluecell_Currdatastatus.bluecell_User_DL1_L;
128
+    DL_Offset_Atten[Test_DL2] = bluecell_Currdatastatus.bluecell_User_DL2_H << 8 | bluecell_Currdatastatus.bluecell_User_DL2_L;
129
+    DL_Offset_Atten[Test_DL3] = bluecell_Currdatastatus.bluecell_User_DL3_H << 8 | bluecell_Currdatastatus.bluecell_User_DL3_L;
130
+    DL_Offset_Atten[Test_DL4] = bluecell_Currdatastatus.bluecell_User_DL4_H << 8 | bluecell_Currdatastatus.bluecell_User_DL4_L;
83
     
131
     
132
+
133
+    UL_Main_Atten[Test_UL1] = bluecell_Currdatastatus.ATT_UL1_H << 8 | bluecell_Currdatastatus.ATT_UL1_L;
134
+    UL_Main_Atten[Test_UL2] = bluecell_Currdatastatus.ATT_UL2_H << 8 | bluecell_Currdatastatus.ATT_UL2_L;
135
+    UL_Main_Atten[Test_UL3] = bluecell_Currdatastatus.ATT_UL3_H << 8 | bluecell_Currdatastatus.ATT_UL3_L;
136
+    UL_Main_Atten[Test_UL4] = bluecell_Currdatastatus.ATT_UL4_H << 8 | bluecell_Currdatastatus.ATT_UL4_L;
137
+
138
+    UL_Offset_Atten[Test_UL1] = bluecell_Currdatastatus.bluecell_User_UL1_H << 8 | bluecell_Currdatastatus.bluecell_User_UL1_L;
139
+    UL_Offset_Atten[Test_UL2] = bluecell_Currdatastatus.bluecell_User_UL2_H << 8 | bluecell_Currdatastatus.bluecell_User_UL2_L;
140
+    UL_Offset_Atten[Test_UL3] = bluecell_Currdatastatus.bluecell_User_UL3_H << 8 | bluecell_Currdatastatus.bluecell_User_UL3_L;
141
+    UL_Offset_Atten[Test_UL4] = bluecell_Currdatastatus.bluecell_User_UL4_H << 8 | bluecell_Currdatastatus.bluecell_User_UL4_L;
142
+
143
+    UL_ALC_Atten[Test_UL1] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L;
144
+    UL_ALC_Atten[Test_UL2] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_L;
145
+    UL_ALC_Atten[Test_UL3] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_L;
146
+    UL_ALC_Atten[Test_UL4] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
147
+#endif // PYJ.2020.06.28_END -- 
148
+#if 0 // PYJ.2020.06.28_BEGIN -- 
149
+
150
+    for(int i = 0; i < 4; i++)
151
+        printf("DL       : %d \r\n",DL_Main_Atten[Test_DL1+i]);
152
+    for(int i = 0; i < 4; i++)
153
+        printf("DL Offset: %d \r\n",DL_Offset_Atten[Test_DL1+i]);
154
+    for(int i = 0; i < 4; i++)
155
+        printf("UL       : %d \r\n",UL_Main_Atten[Test_DL1+i]);
156
+    for(int i = 0; i < 4; i++)
157
+        printf("UL Offset: %d \r\n",UL_Offset_Atten[Test_DL1+i]);
158
+    for(int i = 0; i < 4; i++)
159
+        printf("UL ALC: %d \r\n",UL_ALC_Atten[Test_DL1+i]);    
160
+#endif // PYJ.2020.06.28_END -- 
84
     /*Table Initial Length Setting */
161
     /*Table Initial Length Setting */
85
 #if 0 // PYJ.2020.06.23_BEGIN -- 
162
 #if 0 // PYJ.2020.06.23_BEGIN -- 
86
         printf("Init Temp_UL3 Length : %d \r\n",Temp_UL3.Table_Length);
163
         printf("Init Temp_UL3 Length : %d \r\n",Temp_UL3.Table_Length);
@@ -107,30 +184,8 @@ void EEPROM_M24C08_Init(void){
107
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
184
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
108
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
185
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
109
 //    bluecell_Currdatastatus.CPUVERSION3 = 8;
186
 //    bluecell_Currdatastatus.CPUVERSION3 = 8;
110
-    Att_DL1.Table_Length  = ATTENTABLEDLUL_LENGTH;
111
-    Att_DL2.Table_Length  = ATTENTABLEDLUL_LENGTH;
112
-    Att_DL3.Table_Length  = ATTENTABLEDLUL_LENGTH;
113
-    Att_DL4.Table_Length  = ATTENTABLEDLUL_LENGTH;
114
-    Att_UL1.Table_Length  = ATTENTABLEDLUL_LENGTH;
115
-    Att_UL2.Table_Length  = ATTENTABLEDLUL_LENGTH;
116
-    Att_UL3.Table_Length  = ATTENTABLEDLUL_LENGTH;
117
-    Att_UL4.Table_Length  = ATTENTABLEDLUL_LENGTH;
118
-    Det_DL1.Table_Length  = ATTENTABLEDET_DL_LENGTH;
119
-    Det_DL2.Table_Length  = ATTENTABLEDET_DL_LENGTH;
120
-    Det_DL3.Table_Length  = ATTENTABLEDET_DL_LENGTH;
121
-    Det_DL4.Table_Length  = ATTENTABLEDET_DL_LENGTH;
122
-    Det_UL1.Table_Length  = ATTENTABLEDET_UL_LENGTH;
123
-    Det_UL2.Table_Length  = ATTENTABLEDET_UL_LENGTH;
124
-    Det_UL3.Table_Length  = ATTENTABLEDET_UL_LENGTH;
125
-    Det_UL4.Table_Length  = ATTENTABLEDET_UL_LENGTH;
126
-    Temp_DL1.Table_Length = ATTENTABLE_TEMP_LENGTH;
127
-    Temp_DL2.Table_Length = ATTENTABLE_TEMP_LENGTH;
128
-    Temp_DL3.Table_Length = ATTENTABLE_TEMP_LENGTH;
129
-    Temp_DL4.Table_Length = ATTENTABLE_TEMP_LENGTH;
130
-    Temp_UL1.Table_Length = ATTENTABLE_TEMP_LENGTH;
131
-    Temp_UL2.Table_Length = ATTENTABLE_TEMP_LENGTH;
132
-    Temp_UL3.Table_Length = ATTENTABLE_TEMP_LENGTH;
133
-    Temp_UL4.Table_Length = ATTENTABLE_TEMP_LENGTH;
187
+#if 1 // PYJ.2020.06.28_BEGIN -- 
188
+
134
     Att_DL1.Table_Ref = ATTENTABLEDL_REF;
189
     Att_DL1.Table_Ref = ATTENTABLEDL_REF;
135
     Att_DL2.Table_Ref = ATTENTABLEDL_REF;
190
     Att_DL2.Table_Ref = ATTENTABLEDL_REF;
136
     Att_DL3.Table_Ref = ATTENTABLEDL_REF;
191
     Att_DL3.Table_Ref = ATTENTABLEDL_REF;
@@ -188,6 +243,7 @@ void EEPROM_M24C08_Init(void){
188
       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
243
       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
189
       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
244
       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
190
 
245
 
246
+#endif // PYJ.2020.06.28_END -- 
191
 
247
 
192
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
248
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
193
     bluecell_Currdatastatus.ALARM_DLI_Level          = 0;
249
     bluecell_Currdatastatus.ALARM_DLI_Level          = 0;
@@ -238,18 +294,42 @@ void eepromtest(){
238
 
294
 
239
 HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* data,uint16_t size){
295
 HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* data,uint16_t size){
240
    HAL_StatusTypeDef ret = HAL_ERROR;
296
    HAL_StatusTypeDef ret = HAL_ERROR;
297
+   uint8_t sizecnt = 0,sizeremain = 0; 
298
+   uint16_t addrees_inc = 0;
299
+   sizecnt = size /MAXEEPROM_LENG;
300
+   sizeremain = size % MAXEEPROM_LENG;
301
+   addrees_inc = 0;
302
+
241
  //  uint16_t sizecnt = 0,
303
  //  uint16_t sizecnt = 0,
242
    //uint16_t sizeremain = 0;
304
    //uint16_t sizeremain = 0;
243
   // uint16_t addrees_inc = 0;
305
   // uint16_t addrees_inc = 0;
244
 //   ret = HAL_I2C_Mem_Read(&hi2c2, devid | ((Address & 0x0300) >> 7),((Address )),  I2C_MEMADD_SIZE_8BIT, &data[0], size, 1024);
306
 //   ret = HAL_I2C_Mem_Read(&hi2c2, devid | ((Address & 0x0300) >> 7),((Address )),  I2C_MEMADD_SIZE_8BIT, &data[0], size, 1024);
245
 
307
 
246
-   ret = HAL_I2C_Mem_Read(&hi2c2, devid ,((Address )),  I2C_MEMADD_SIZE_16BIT, &data[0], size, 1024);
308
+
309
+#if 1 // PYJ.2020.06.28_BEGIN -- 
310
+   ret = HAL_I2C_Mem_Read(&hi2c2, devid ,((Address )),  I2C_MEMADD_SIZE_16BIT, &data[0], size, 0xFFFF);
247
 //      EEPROM24XX_Load( Address,data, size);
311
 //      EEPROM24XX_Load( Address,data, size);
248
 
312
 
249
       if(ret == HAL_ERROR)
313
       if(ret == HAL_ERROR)
250
             printf("Write ERR\r\n");
314
             printf("Write ERR\r\n");
251
-//        else
252
-//            HAL_Delay(20);
315
+#else
316
+    if(sizecnt > 0){
317
+        for(int i = 0 ; i < sizecnt; i++ ){
318
+             addrees_inc = i * MAXEEPROM_LENG;
319
+             ret = HAL_I2C_Mem_Read(&hi2c2, devid  ,((Address + addrees_inc) & 0xFFFF) ,  I2C_MEMADD_SIZE_16BIT, &data[addrees_inc], MAXEEPROM_LENG, 1024);
320
+    
321
+             if(ret == HAL_ERROR)
322
+                 printf("Write ERR\r\n");
323
+             
324
+             HAL_Delay(20);
325
+        }
326
+        addrees_inc += MAXEEPROM_LENG;
327
+    }
328
+
329
+#endif // PYJ.2020.06.28_END -- 
330
+
331
+
332
+//    HAL_Delay(20);
253
 
333
 
254
     return ret;   
334
     return ret;   
255
 }
335
 }
@@ -285,8 +365,8 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
285
 
365
 
286
              if(ret == HAL_ERROR)
366
              if(ret == HAL_ERROR)
287
                  printf("Write ERR\r\n");
367
                  printf("Write ERR\r\n");
288
-             else
289
-                 HAL_Delay(20);
368
+             
369
+             HAL_Delay(20);
290
         }
370
         }
291
         addrees_inc += MAXEEPROM_LENG;
371
         addrees_inc += MAXEEPROM_LENG;
292
     }
372
     }
@@ -300,10 +380,11 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
300
          //       EEPROM24XX_Save( Address,data, size);
380
          //       EEPROM24XX_Save( Address,data, size);
301
          if(ret == HAL_ERROR)
381
          if(ret == HAL_ERROR)
302
              printf("Write ERR\r\n");
382
              printf("Write ERR\r\n");
303
-         else
304
-             HAL_Delay(20);
383
+         
384
+          HAL_Delay(20);
305
         }
385
         }
306
     }
386
     }
387
+    printf("EEPROM WRITE\r\n");
307
 
388
 
308
 #endif // PYJ.2020.04.25_END -- 
389
 #endif // PYJ.2020.04.25_END -- 
309
     return ret;
390
     return ret;
@@ -315,7 +396,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Zerowrite(uint8_t devid,uint16_t Address){
315
     uint16_t addrees_inc = 0;
396
     uint16_t addrees_inc = 0;
316
     addrees_inc = 0;
397
     addrees_inc = 0;
317
     uint8_t data[4096] = {0,};
398
     uint8_t data[4096] = {0,};
318
-
399
+    printf("EEPROM ALL ERASE \r\n");
319
 
400
 
320
     for(int i = 0 ; i < 128; i++ ){
401
     for(int i = 0 ; i < 128; i++ ){
321
          addrees_inc = i * MAXEEPROM_LENG;
402
          addrees_inc = i * MAXEEPROM_LENG;

+ 1 - 1
STM32F103ZE_FLASH.ld

@@ -62,7 +62,7 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
62
 MEMORY
62
 MEMORY
63
 {
63
 {
64
 RAM (xrw)      : ORIGIN = 0x20002800, LENGTH = 54K
64
 RAM (xrw)      : ORIGIN = 0x20002800, LENGTH = 54K
65
-FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 512K - 20K
65
+FLASH (rx)      : ORIGIN = 0x8008000, LENGTH = 512K - 20K
66
 }
66
 }
67
 
67
 
68
 /* Define output sections */
68
 /* Define output sections */

+ 1 - 1
Src/system_stm32f1xx.c

@@ -92,7 +92,7 @@
92
 /*!< Uncomment the following line if you need to relocate your vector Table in
92
 /*!< Uncomment the following line if you need to relocate your vector Table in
93
      Internal SRAM. */ 
93
      Internal SRAM. */ 
94
 /* #define VECT_TAB_SRAM */
94
 /* #define VECT_TAB_SRAM */
95
-#define VECT_TAB_OFFSET  0x0000 /* Original Value : 0x00000000U*/ /*!< Vector Table base offset field.
95
+#define VECT_TAB_OFFSET  0x8000 /* Original Value : 0x00000000U*/ /*!< Vector Table base offset field.
96
                                   This value must be a multiple of 0x200. */
96
                                   This value must be a multiple of 0x200. */
97
 
97
 
98
 
98