| 
					
				 | 
			
			
				@@ -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));
 
			 |