|
@@ -253,7 +253,7 @@ void RF_TX_CheckResult(uint8_t *ucAckPayload, uint8_t length)
|
|
|
// XN297L_Initial
|
|
|
// Initial RF
|
|
|
/******************************************************************************/
|
|
|
-void RF_Init(void)
|
|
|
+void RF_Init(uint8_t __rfPower)
|
|
|
{
|
|
|
#if (DATA_RATE == DR_1M || DATA_RATE == DR_2M)
|
|
|
uint8_t BB_cal_data[] = {0x0A, 0x6D, 0x67, 0x9C, 0x46};
|
|
@@ -294,7 +294,7 @@ void RF_Init(void)
|
|
|
RF_WriteBuf(W_REGISTER + RF_CAL, RF_cal_data, sizeof(RF_cal_data));
|
|
|
RF_WriteBuf(W_REGISTER + DEM_CAL2, Dem_cal2_data, sizeof(Dem_cal2_data));
|
|
|
RF_WriteReg(W_REGISTER + DYNPD, 0x00);
|
|
|
- RF_WriteReg(W_REGISTER + RF_SETUP, RF_POWER); // 8dbm 1Mbps
|
|
|
+ RF_WriteReg(W_REGISTER + RF_SETUP, __rfPower |DATA_RATE); // 8dbm 1Mbps
|
|
|
RF_WriteReg(ACTIVATE, 0x73);
|
|
|
|
|
|
#if (TRANSMIT_TYPE == TRANS_ENHANCE_MODE)
|
|
@@ -313,11 +313,21 @@ void RF_Init(void)
|
|
|
#if (EN_ACK_PAYLOAD == 1)
|
|
|
feature |= 0x02;
|
|
|
#endif
|
|
|
-
|
|
|
if (PAYLOAD_WIDTH > 32)
|
|
|
feature |= 0x18;
|
|
|
|
|
|
RF_WriteReg(W_REGISTER + FEATURE, feature);
|
|
|
+
|
|
|
+ uint8_t R_BB_cal_data[5] = {0};
|
|
|
+ RF_ReadBuf(R_REGISTER + BB_CAL, R_BB_cal_data, sizeof(R_BB_cal_data));
|
|
|
+ printf("R_BB_cal_data: %02x %02x %02x %02x %02x\n", R_BB_cal_data[0], R_BB_cal_data[1], R_BB_cal_data[2], R_BB_cal_data[3], R_BB_cal_data[4]);
|
|
|
+ if (memcmp(R_BB_cal_data, BB_cal_data, sizeof(BB_cal_data)) != 0)
|
|
|
+ {
|
|
|
+ printf("BB_cal_data error\n");
|
|
|
+ // while (1)
|
|
|
+ // ;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
void RF_Reset(void)
|
|
|
{
|
|
@@ -326,7 +336,7 @@ void RF_Reset(void)
|
|
|
/******************************************************************************/
|
|
|
// 进入载波模式
|
|
|
/******************************************************************************/
|
|
|
-void RF_Carrier(uint8_t ucChannel_Set)
|
|
|
+void RF_Carrier(uint8_t ucChannel_Set, uint8_t rfPower)
|
|
|
{
|
|
|
uint8_t BB_cal_data[] = {0x0A, 0x6D, 0x67, 0x9C, 0x46};
|
|
|
uint8_t RF_cal_data[] = {0xF6, 0x37, 0x5D};
|
|
@@ -347,7 +357,7 @@ void RF_Carrier(uint8_t ucChannel_Set)
|
|
|
delay_us(500); // delay 500us
|
|
|
RF_WriteReg(W_REGISTER + CONFIG, 0X8E); // tx mode
|
|
|
RF_WriteReg(W_REGISTER + RF_CH, ucChannel_Set); // 单载波频点
|
|
|
- RF_WriteReg(W_REGISTER + RF_SETUP, RF_POWER); // 13dbm
|
|
|
+ RF_WriteReg(W_REGISTER + RF_SETUP, rfPower |DATA_RATE); // 13dbm
|
|
|
RF_WriteBuf(W_REGISTER + BB_CAL, BB_cal_data, sizeof(BB_cal_data));
|
|
|
RF_WriteBuf(W_REGISTER + RF_CAL2, RF_cal2_data, sizeof(RF_cal2_data));
|
|
|
RF_WriteBuf(W_REGISTER + DEM_CAL, Dem_cal_data, sizeof(Dem_cal_data));
|