Pārlūkot izejas kodu

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

PYJ 5 gadi atpakaļ
vecāks
revīzija
e3eb958a29

+ 12 - 0
Bluecell_Inc/Bluecell_operate.h

@@ -632,6 +632,18 @@ typedef enum{
632 632
 	ULO_P3_ATT_Accuracy_Table_Number = 0x52,
633 633
 	ULO_P4_ATT_Accuracy_Table_Number = 0x53,
634 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 647
 #define UNIT_TYPE_MBIC 0x01
636 648
 /*FLAG BIT START */
637 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 1353
     dst[MBIC_TableIndex_Number] = dst[MBIC_TableIndex_Number];
1354 1354
 //    printf("\r\dst[MBIC_TableIndex_Number] : %d \r\n",dst[MBIC_TableIndex_Number]);   
1355 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 1383
     if(dst[MBIC_TableIndex_Number] >= DLI_P1_ATT_Accuracy_Table_Number
1357 1384
      &&dst[MBIC_TableIndex_Number] <= ULO_P4_ATT_Accuracy_Table_Number ){
1358 1385
         dst[MBIC_TableIndex_Length] = size;   //
@@ -1554,105 +1581,107 @@ void Bluecell_TableSave(uint8_t* data,uint8_t type){
1554 1581
             Bluecell_DataCopy(&Att_DL1.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1555 1582
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE)              ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1556 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 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 1588
             Bluecell_DataCopy(&Att_DL2.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1560 1589
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL1_TABLE_ADDRESDS),&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
1561 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 1592
 //            printf("ADDRESS : %d \r\n",EEPROM_ATT_DL1_TABLE_ADDRESDS );
1564 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 1595
             Bluecell_DataCopy(&Att_DL3.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1567 1596
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1568 1597
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL2_TABLE_ADDRESDS),&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1569 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 1600
             Bluecell_DataCopy(&Att_DL4.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1572 1601
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1573 1602
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL3_TABLE_ADDRESDS),&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1574 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 1605
             Bluecell_DataCopy(&Att_UL1.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1577 1606
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1578 1607
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_DL4_TABLE_ADDRESDS),&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1579 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 1610
             Bluecell_DataCopy(&Att_UL2.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1582 1611
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1583 1612
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL1_TABLE_ADDRESDS),&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1584 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 1615
             Bluecell_DataCopy(&Att_UL3.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1587 1616
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1588 1617
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL2_TABLE_ADDRESDS),&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st));        
1589 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 1620
             Bluecell_DataCopy(&Att_UL4.Table_0_0_dBm,&data[BLUECELL_DATA + 1],sizeof(ATT_TABLE_st));
1592 1621
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1593 1622
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL3_TABLE_ADDRESDS),&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st));
1594 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 1625
             Bluecell_DataCopy(&Det_DL1.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1597 1626
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1598 1627
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_ATT_UL4_TABLE_ADDRESDS),&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1599 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 1630
             Bluecell_DataCopy(&Det_DL2.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1602 1631
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1603 1632
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL1_TABLE_ADDRESDS),&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1604 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 1635
             Bluecell_DataCopy(&Det_DL3.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1607 1636
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1608 1637
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL2_TABLE_ADDRESDS),&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1609 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 1640
             Bluecell_DataCopy(&Det_DL4.Table_Det5_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEDL_st));
1612 1641
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));
1613 1642
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL3_TABLE_ADDRESDS),&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st));        
1614 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 1645
             Bluecell_DataCopy(&Det_UL1.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1617 1646
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1618 1647
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_DL4_TABLE_ADDRESDS),&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1619 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 1650
             Bluecell_DataCopy(&Det_UL2.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1622 1651
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1623 1652
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL1_TABLE_ADDRESDS),&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1624 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 1655
             Bluecell_DataCopy(&Det_UL3.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1627 1656
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1628 1657
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL2_TABLE_ADDRESDS),&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1629 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 1660
             Bluecell_DataCopy(&Det_UL4.Table_Det_15_dBm_H,&data[BLUECELL_DATA + 1],sizeof(DET_TABLEUL_st));
1632 1661
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));            
1633 1662
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL3_TABLE_ADDRESDS),&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));                    
1634 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 1665
             Bluecell_DataCopy(&Temp_DL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1637 1666
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1638 1667
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_DET_UL4_TABLE_ADDRESDS),&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1639 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 1670
             Bluecell_DataCopy(&Temp_DL2.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1642 1671
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1643 1672
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL1_TABLE_ADDRESDS),&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1644 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 1675
             Bluecell_DataCopy(&Temp_DL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1647 1676
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1648 1677
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL2_TABLE_ADDRESDS),&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1649 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 1680
             Bluecell_DataCopy(&Temp_DL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1652 1681
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                    
1653 1682
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL3_TABLE_ADDRESDS),&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1654 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 1685
             Bluecell_DataCopy(&Temp_UL1.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1657 1686
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_DL4_TABLE_ADDRESDS),&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1658 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 1691
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1663 1692
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL1_TABLE_ADDRESDS),&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1664 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 1695
             Bluecell_DataCopy(&Temp_UL3.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1667 1696
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                            
1668 1697
             EEPROM_M24C08_Read(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL2_TABLE_ADDRESDS),&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st));                                    
1669 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 1700
             Bluecell_DataCopy(&Temp_UL4.Table_1_Temp,&data[BLUECELL_DATA + 1],sizeof(TEMP_TABLE_st));
1672 1701
             EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_TEMP_UL3_TABLE_ADDRESDS),&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st));                                
1673 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 1878
             data[MBIC_PAYLOADSTART + MBIC_TableIndex_Length] = Temp_UL4.Table_Length;                
1850 1879
             break;
1851 1880
     }
1881
+    
1852 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 2499
 		break;
2470 2500
     case ATT_TableSet:
2471 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 2512
     case ATT_TableGet:
2473 2513
         Bluecell_TableLoad(data, data[BLUECELL_DATA]);
2474 2514
         data[BLUECELL_TYPE] = ATT_TableGet;
@@ -2567,6 +2607,25 @@ bool Bluecell_Operate(uint8_t* data){
2567 2607
             bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & ALARM_ULO_SHUTDOWN_P3,
2568 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 2629
         printf("===================END=======================\r\n");
2571 2630
 
2572 2631
 //        printf("Level DL Alarm %d \r\n");
@@ -2906,7 +2965,9 @@ bool Bluecell_Operate(uint8_t* data){
2906 2965
   }
2907 2966
   
2908 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 2972
       Bluecell_StructCpy(&DataWrite[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
2912 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 4461
         /*Table Get */
4401 4462
 //            data[MBIC_PAYLOADSTART + 1] //Reserve Data
4402 4463
         //protocolTableLoadReplay:
4464
+       
4403 4465
 
4404 4466
         switch(data[MBIC_PAYLOADSTART + 2]){
4405 4467
         	case DLI_P1_Level_Table_Number                 :
@@ -7144,28 +7206,37 @@ void DLI_ShutdownAlarmCheck(){
7144 7206
 
7145 7207
 }
7146 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 7215
     GPIO_TypeDef *Port;
7150 7216
     uint16_t Pin;
7217
+    uint8_t AlarmFlag = 0;
7151 7218
 
7152 7219
 
7153 7220
     switch(index){
7154 7221
         case DET_Alarm_DL1_Shutdown_Index:
7155 7222
             Port = PATH_EN_DL1_GPIO_Port;
7156 7223
             Pin = PATH_EN_DL1_Pin;
7224
+            AlarmFlag = ALARM_DLI_SHUTDOWN_P1;
7157 7225
             break;
7158 7226
         case DET_Alarm_DL2_Shutdown_Index:
7159 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 7230
             break;
7162 7231
         case DET_Alarm_DL3_Shutdown_Index:
7163 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 7235
             break;
7166 7236
         case DET_Alarm_DL4_Shutdown_Index:            
7167 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 7240
             break;
7170 7241
     }
7171 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 7255
         && DL_PathUserHandl[index] == false){
7185 7256
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_SET);//CLOCK
7186 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 7260
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus); 
7190 7261
     }                  
7191 7262
     if(DET_DL_Shutdown_On_AlarmTimerCnt[index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
7192 7263
     {
7193 7264
         /*Shutdown 5sec Alarm*/
7194 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 7267
         *path = false;
7197 7268
         (*retrycnt)++;
7198 7269
         DET_DL_Shutdown_On_AlarmTimerCnt[index] = 0;
7199 7270
         
7200 7271
         if((*retrycnt) >= RETRYCNT_MAX){
7201 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 7277
     else{
7207 7278
         if(DET_DL_Shutdown_Off_AlarmTimerCnt[index] >= MBIC_OFF_MAINTAIN_SEC
7208 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 7298
         DL_Shutdown_Operate(DET_Alarm_DL1_Shutdown_Index,
7228 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 7303
         DL_Shutdown_Operate(DET_Alarm_DL2_Shutdown_Index,
7231 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 7308
         DL_Shutdown_Operate(DET_Alarm_DL3_Shutdown_Index,
7234 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 7313
         DL_Shutdown_Operate(DET_Alarm_DL4_Shutdown_Index,
7237 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 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 40
 void EEPROM_M24C08_Init(void){
39 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 72
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
41 73
 
42 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 87
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
56 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 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 97
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
61 98
 //    data = &Det_UL2.Table_Det_15_dBm_H;
62 99
 //    for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
@@ -80,7 +117,47 @@ void EEPROM_M24C08_Init(void){
80 117
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
81 118
     EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
82 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 161
     /*Table Initial Length Setting */
85 162
 #if 0 // PYJ.2020.06.23_BEGIN -- 
86 163
         printf("Init Temp_UL3 Length : %d \r\n",Temp_UL3.Table_Length);
@@ -107,30 +184,8 @@ void EEPROM_M24C08_Init(void){
107 184
 //    bluecell_Currdatastatus.CPUVERSION1 =  0;
108 185
 //    bluecell_Currdatastatus.CPUVERSION2 = 0;
109 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 189
     Att_DL1.Table_Ref = ATTENTABLEDL_REF;
135 190
     Att_DL2.Table_Ref = ATTENTABLEDL_REF;
136 191
     Att_DL3.Table_Ref = ATTENTABLEDL_REF;
@@ -188,6 +243,7 @@ void EEPROM_M24C08_Init(void){
188 243
       EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
189 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 248
     bluecell_Currdatastatus.ALARM_TEMP_HIGH          = 0;
193 249
     bluecell_Currdatastatus.ALARM_DLI_Level          = 0;
@@ -238,18 +294,42 @@ void eepromtest(){
238 294
 
239 295
 HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* data,uint16_t size){
240 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 303
  //  uint16_t sizecnt = 0,
242 304
    //uint16_t sizeremain = 0;
243 305
   // uint16_t addrees_inc = 0;
244 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 311
 //      EEPROM24XX_Load( Address,data, size);
248 312
 
249 313
       if(ret == HAL_ERROR)
250 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 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 366
              if(ret == HAL_ERROR)
287 367
                  printf("Write ERR\r\n");
288
-             else
289
-                 HAL_Delay(20);
368
+             
369
+             HAL_Delay(20);
290 370
         }
291 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 380
          //       EEPROM24XX_Save( Address,data, size);
301 381
          if(ret == HAL_ERROR)
302 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 389
 #endif // PYJ.2020.04.25_END -- 
309 390
     return ret;
@@ -315,7 +396,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Zerowrite(uint8_t devid,uint16_t Address){
315 396
     uint16_t addrees_inc = 0;
316 397
     addrees_inc = 0;
317 398
     uint8_t data[4096] = {0,};
318
-
399
+    printf("EEPROM ALL ERASE \r\n");
319 400
 
320 401
     for(int i = 0 ; i < 128; i++ ){
321 402
          addrees_inc = i * MAXEEPROM_LENG;

+ 1 - 1
STM32F103ZE_FLASH.ld

@@ -62,7 +62,7 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
62 62
 MEMORY
63 63
 {
64 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 68
 /* Define output sections */

+ 1 - 1
Src/system_stm32f1xx.c

@@ -92,7 +92,7 @@
92 92
 /*!< Uncomment the following line if you need to relocate your vector Table in
93 93
      Internal SRAM. */ 
94 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 96
                                   This value must be a multiple of 0x200. */
97 97
 
98 98