yincheng.zhong
2024-05-14 d4dd674e5706f74a4bcf05f175c4e7cf62337b22
Src/decadriver/deca_device.c
@@ -147,6 +147,24 @@
//   
//    Spi_ChangePrescaler(SPI_BAUDRATEPRESCALER_8);
//}
#define DWT_LNA_PA_DISABLE     0x00
#define DWT_LNA_ENABLE         0x01
#define DWT_PA_ENABLE          0x02
#define GPIO_PIN4_EXTPA         0x00004000UL    /* The pin operates as the EXTPA output */
void dwt_setlnapamode(int lna_pa)
{
    uint32_t gpio_mode = dwt_read32bitoffsetreg(GPIO_CTRL_ID, GPIO_MODE_OFFSET);
    gpio_mode &= ~(GPIO_MSGP4_MASK | GPIO_MSGP5_MASK | GPIO_MSGP6_MASK);
    if (lna_pa & DWT_LNA_ENABLE)
    {
        gpio_mode |= GPIO_PIN6_EXTRXE;
    }
    if (lna_pa & DWT_PA_ENABLE)
    {
        gpio_mode |= (GPIO_PIN5_EXTTXE | GPIO_PIN4_EXTPA);
    }
    dwt_write32bitoffsetreg(GPIO_CTRL_ID, GPIO_MODE_OFFSET, gpio_mode);
}
#define LDOTUNE_ADDRESS (0x04)
#define PARTID_ADDRESS (0x06)
#define LOTID_ADDRESS  (0x07)
@@ -232,14 +250,25 @@
    // Read system register / store local copy
    dw1000local.sysCFGreg = dwt_read32bitreg(SYS_CFG_ID) ; // Read sysconfig register
   {
      uint32_t reg;
      reg = dwt_read32bitreg(GPIO_CTRL_ID);
      reg |= 0x00014000;
      reg |= 0x00050000;
      dwt_write32bitreg(GPIO_CTRL_ID,reg);
      dwt_write16bitoffsetreg(PMSC_ID,PMSC_TXFINESEQ_OFFSET ,PMSC_TXFINESEQ_DIS_MASK);
        // dwt_setlnapamode(DWT_PA_ENABLE|DWT_LNA_ENABLE);
//      uint32_t reg;
//      reg = dwt_read32bitreg(GPIO_CTRL_ID);
//      reg |= 0x00014000;
//      reg |= 0x00050000;
//      dwt_write32bitreg(GPIO_CTRL_ID,reg);
//      dwt_write16bitoffsetreg(PMSC_ID,PMSC_TXFINESEQ_OFFSET ,PMSC_TXFINESEQ_DIS_MASK);
   
   }
    if(g_com_map[MODBUS_MODE])
    {
        dwt_configcontinuousframemode(124800);
      dwt_writetxfctrl(13, 0);
      dwt_starttx(DWT_START_TX_IMMEDIATE);
        while(1)
        {
          IdleTask();
        }
    }
//   CheckCPUID();   
    dw1000local.deviceID =  dwt_readdevid() ;
    return DWT_SUCCESS ;