zhangbo
2025-03-10 b0b6c44f2adbbbac2711f4531ef552e15a1e8b45
keil/lora_3029.c
@@ -3,6 +3,7 @@
#include "global_param.h"
#include "pan_port.h"
#include "pan_rf.h"
#include "dw_app_anchor.h"
//#include "WS2812.h"
//#include "pan_port.h"
//#include "pan_param.h"
@@ -30,9 +31,12 @@
static uint8_t rx_buf[10] = {0x00};
//extern uint32_t uwbled,gpsled,loraled,powerled;
extern uint8_t bat_percent,taglist_num;
uint8_t report_ancnum;
uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
//uint8_t report_ancnum;
//uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
extern void spi_transfer_callback(void *dev, uint32_t err_code);
extern uint16_t ancidlist_rec[TAG_NUM_IN_SYS],ancidlist_send[TAG_NUM_IN_SYS],rec_ancidlist[TAG_NUM_IN_SYS];
extern uint8_t report_ancnum;
extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
void Lora_init(void)
{
//    rf_write_reg(0x04, 0x55);
@@ -46,14 +50,37 @@
    set_test_mode1_reg();
         if(ret== 1)
    {
//        printf("LORA Init Fail");
        //printf("LORA Init Fail");
        while(1);
    }
      else
    {
//            printf("LORA Init OK\r\n");
            //printf("LORA Init OK\r\n");
    }
}
//void TagListUpdate(void)
//{
//    uint16_t i,j=0,k=0,temp[TAG_NUM_IN_SYS];
//    for(i=0; i<taglist_num; i++)
//    {
//        if(tagofflinetime[i]++<REPORT_TAG_KEEPTIMES)
//        {
//            report_ancid[k]=tagid_list[i];
//            report_ancdist[k++]=tagdist_list[i];
//        }
//        if(tagofflinetime[i]++<TAG_KEEPTIMES)
//        {
//            tagid_list[j]=tagid_list[i];
//            tagdist_list[j] = tagdist_list[i];
//            tagofflinetime[j++]=tagofflinetime[i];
//        }
//    }
//    report_ancnum = k;
//    taglist_num=j;
//}
extern wg_state_enum wg_state;
uint8_t lora_sendbuffer[200];
uint8_t seq_num;
@@ -132,10 +159,18 @@
uint16_t test_temp[10]={0x1306,9688,1000};
uint16_t test_temp2[10]={0xff,0xcd,0x19};
int16_t intheight;         //气压
extern uint32_t dangqian_frqe;
extern uint16_t recnum[3];
extern uint32_t freq_list[4];
extern uint8_t DMA_RXBuf_BT[200];
extern uint8_t report_ancnum;
extern uint8_t report_ancnum_bt;
uint32_t BT_SEND_flag=0;
uint8_t BT_NUM=0;
void LoraReportPoll(void)
{
    // delay_ms(100);
#ifdef _USE_BAR
    GetPressAndHeight();
    intheight = Height*100;
@@ -149,8 +184,22 @@
    LoraReportFreqPoll();
    flag_getwgresp = 0;
   // wg_report_freq = REPORT_MANGE_CHANNEL_FRQ;
     rf_set_default_para(wg_report_freq,REPORT_CHANNEL_SF);
    //Lora_init();
      uint32_t para;
      para=freq_list[2] * 100000;
//      rf_set_freq(wg_report_freq*100000);
//      rf_set_carrier_wave_off();
//      rf_set_carrier_wave_on();
      rf_set_freq(para);
      //rf_set_sf(UWB_CHANNEL_SF);
//      rf_set_tx_power(para);
//      rf_set_carrier_wave_freq(freq_list[1] * 100000);
//     rf_set_freq(para);
      rf_set_sf(REPORT_CHANNEL_SF);
     //rf_set_default_para(wg_report_freq,REPORT_CHANNEL_SF);
   // SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
     dangqian_frqe=rf_read_freq();
    if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
    {
        heatbeat_count = 0;
@@ -175,8 +224,11 @@
        }
    }
    
    if(report_ancnum>LORA_REPORT_MAXANC_NUM)    //考虑lora传输时间,最多发送10个基站数据。
        report_ancnum = LORA_REPORT_MAXANC_NUM;
    if(report_ancnum>LORA_REPORT_MAXANC_NUM)                                 //考虑lora传输时间,最多发送10个基站数据。
      {
      report_ancnum = LORA_REPORT_MAXANC_NUM;
      }
#ifdef USE_GPS
    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_GPS;
    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+30;
@@ -189,7 +241,9 @@
    lora_sendbuffer[SEQNUM_IDX] = seq_num++;
    lora_sendbuffer[BAT_IDX] = bat_percent;
      //GET_USERKEY这个是那个lora——busy那个引脚
//      lora_sendbuffer[STATE_IDX]=0x01;
//      lora_sendbuffer[GATEWAY_CHANL]=0x02;
//      lora_sendbuffer[CHANL_NUM]=0x03;
   // lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
#ifdef USE_GPS
    memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8);
@@ -201,314 +255,60 @@
    lora_sendbuffer[GPS_CHAFENLINGQI] = gps_chafenlingqi;
#endif
    //  memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&bar_height,2);
      memcpy(&report_ancid,test_temp,10);
      memcpy(&report_ancdist,test_temp2,10);
      report_ancnum=3;
//      memcpy(&report_ancid,test_temp,10);
//      memcpy(&report_ancdist,test_temp2,10);
    lora_sendbuffer[ANCNUM_IDX] = report_ancnum;
    memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2);
    memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],report_ancdist,report_ancnum*2);
    checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
    memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
      uint8_t LORA_RETRANSNUSSION_BT=0;
      BT_NUM=DMA_RXBuf_BT[0];
      if(0<BT_NUM&&BT_NUM<11)
      {
     lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
    LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*4;
      //LORA_RETRANSNUSSION_BT   report_ancnum_bt
      lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D;       //蓝牙上传标识符
    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],&DMA_RXBuf_BT[0],BT_NUM*2+1);                            //基站ID
    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*2+2],&DMA_RXBuf_BT[1+BT_NUM*2],BT_NUM*2);//基站距离
      lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+2;
      }
      if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
      {
      checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+ANCID_IDX+2);
      memcpy(&lora_sendbuffer[ANCID_IDX+BT_NUM*4+report_ancnum*4+2],&checksum,2);
      BT_SEND_flag++;
      LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
      }
      else
      {
      checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
      memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
      LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2,0);
      }
      //rf_enter_continous_tx();
//    LORA_3029_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2);
    LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2,0);
//         rf_single_tx_data(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2,2);
    //rf_enter_continous_rx();
      memset(DMA_RXBuf_BT, 0,200);
      memset(&lora_sendbuffer[ANCID_IDX],0,200);
    //LED_TB_ON;
   // bat_percent=Get_Battary();
    
    for(uint8_t i=0;i<3;i++)
    recnum[i] = 0;
}
extern uint8_t report_ancnum;
static uint16_t delaytime = 1200;
static uint16_t source_id;
uint8_t rec_index,rec_secdelay;
//uint16_t rec_value,rec_delaytime,rx_count;
//uint16_t rec_value,rec_delaytime,rx_count,datalen_offset;
int32_t target_count;
uint8_t shengji_flag,time=5;
extern uint32_t uwbled,gpsled,loraled,powerled;
extern struct RxDoneMsg RxDoneParams;
//void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
//{        uint16_t checksum1;
//        BufferSize = size;
//         memcpy(RX_Buffer,RxDoneParams.Payload,RxDoneParams.Size);
//       // memcpy( RX_Buffer, payload, BufferSize );
//        RssiValue = rssi;
//        SnrValue = snr;
//        //Radio.Standby();
//        no_rx_flag = 0;
//        lora_up_rec_flag=1;
////    if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL)
////    {
////         UwbRange();
////         rf_delay_us(time*1000);
////       // UWB_RXStart(10);
////       // delay_ms(time);
////    }
//    if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG)
//    {
//        checksum1=Checksum_u16(RX_Buffer,BufferSize-2);
//        if(!memcmp(&checksum1,&RX_Buffer[BufferSize-2],2))
//        if(!memcmp(&dev_id,&RX_Buffer[DEST_ID_IDX],2))
//        {
//           memcpy(&source_id,&RX_Buffer[SOURCE_ID_IDX],2);
//            if(wg_state==WG_Lost)
//            {
//                wg_state = WG_Connected;
//                wg_report_id = source_id;
//            }
//            if(!memcmp(&wg_report_id,&RX_Buffer[SOURCE_ID_IDX],2))
//            {
//                wg_lost_count = 0;
//                // loraled=GREEN;
//                switch(RX_Buffer[PWTAG_RW_FLAG_IDX])
//                {
//                    case WGRSP_RWTAG_NONE:
//                       // current_count = HAL_LPTIM_ReadCounter(&hlptim1);
//                        wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400;
//                        memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2);
//                    rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX];
//                    if(BufferSize!=13||rec_secdelay>20)
//                    {
//                        rec_secdelay = 0;
//                    }
//
//                    if(report_ancnum<2)
//                    {
//                        datalen_offset = report_ancnum*85;
//                    }else{
//                        datalen_offset = (report_ancnum-1)*46+85;
//                    }
//
//                        target_count = current_count + rec_delaytime*3.2768 - delaytime-datalen_offset;
//                        while(target_count>=32768)
//                            target_count-=32768;
////                         __HAL_LPTIM_COMPARE_SET(&hlptim1, target_count);
////                        rx_count = HAL_LPTIM_ReadCounter(&hlptim1);
//                     //   printf("tx %d,rx %d,delay %d",current_count>>5,rx_count>>5,rec_delaytime);
//                        break;
//                    case WGRSP_RWTAG_READ:
//                        no_rx_flag = 1;
//                        //LoraSendComMap(WGRSP_RWTAG_READ);
//                        break;
//                    case WGRSP_RWTAG_WRITE:
//                        rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX];
//                        if(rec_index<=DEV_ID)
//                            return;
//                        if(rec_index==0xDD)
//                        {
////                             if(usart5_state==1)
////                             {
////                                Usart5Init();
////                                usart5_state=0;
////                             }
////                            HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7, GPIO_PIN_SET);
////                            HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
////                            memcpy(&xiafayuyin_data,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],BufferSize-PWTAG_WRITE_VALUE_IDX-2);
////                            yuyin_sendflag=1;
////                            yuyinzidongguan_time=0;
////                            yuyin_no_sleep_flag=1;
////                            SYN_FrameInfo(0,xiafayuyin_data); //播放内容
////                            memset(xiafayuyin_data,0,sizeof(xiafayuyin_data));
//                           // LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA);
//                              no_rx_flag = 1;
//                        }else{
//                            memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2);
//                            g_com_map[rec_index/2] = rec_value;
//                            save_com_map_to_flash();
//                          //  LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA);
////                            flag_writepara_needreset = 1;
//                            no_rx_flag = 1;
//                        }
//                        break;
//                    case WGRSP_RWTAG_UPDATE:
//                    rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX];
//                    switch(rec_index)
//                    {
//                        case 0xaa:  //升级下发
////                        memcpy(&rec_wenjian_daxiao,&RX_Buffer[WRITEPARA_VALUE_IDX],2);//文件大小
////                        if(rec_wenjian_daxiao>APP_SIZE||rec_wenjian_daxiao==0)
////                        {}//文件过大,超出范围
////                        else
////                        {
////                        memcpy(&wangguan_up_id,&RX_Buffer[SOURCE_ID_IDX],2);//网关ID 占用2个字节
////                        shengji_flag=1;
////                        LoraUp_flag=1;
////                        }
//                            break;
//                    }
//                        break;
//                }
//            }
//        }
//    }
////    if(!no_rx_flag&&LoraUp_flag==0)
////    {
////        if(RX_Buffer[MSG_TYPE_IDX]!=LORA_MSGTYPE_RANGEPOLL)
////        SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0);
////        Radio.Rx(0);
////    }
//}
//void LORA_mode_select(void)
//{
//   if(TX_RX_SELECT==1)
//   {
//    rf_enter_continous_tx();
//    printf("fasong \n");
//   }
//   else
//   {
//    rf_enter_continous_rx();
//    printf("jieshou\n");
//   }
//}
//void OnMaster(void)
//{
//   TX_RX_SELECT=1;
//  LORA_mode_select();
//   //frame header
//   send_buffer[MSG_F]=MSG_LORA_FH0;
//  send_buffer[MSG_H]=MSG_LORA_FH1;
//
//   send_buffer[MSG_Substance_event]=MSG_TTS;
//   send_buffer[MSG_Substance2]=0;
//
//   send_buffer[MESSAGE_TYPE_IDX] = DATA_LORA_TTS;
//   send_buffer[GROUP_ID_LORA] = GROUP_TAG_NUM;
//   rf_set_transmit_flag(RADIO_FLAG_TXDONE);
//  // tx
//  if(rf_get_transmit_flag()==RADIO_FLAG_TXDONE)
//   {
//      if(rf_continous_tx_send_data(send_buffer, 11) == OK)
//      {
//         printf("tx ok!\n");
//      }
//   while (rf_get_transmit_flag() == RADIO_FLAG_IDLE)
//    ;
//  rf_set_transmit_flag(RADIO_FLAG_IDLE);
//   }
//  //delay_ms(10000);
//
//}
//void OnSlave(void)
//{
//  uint8_t Rev_Frequency = 0;
//   rf_irq_process();
//    int j=2;
//  if (rf_get_recv_flag() == RADIO_FLAG_RXDONE)
//  {
//    // Rssi_dBm = RxDoneParams.Rssi; // RSSI 的测量范围是-60 到-140
//    // Snr_value = RxDoneParams.Snr;
//     // printf("Rx : SNR: %f ,RSSI: %f ,size: %d\r\n", Rssi_dBm, Snr_value,RxDoneParams.Size);
//    //rf_set_recv_flag(RADIO_FLAG_IDLE);
//      //printf("pack_size: %d\n",RxDoneParams.Size);
//      //printf("\n");
//      //memset(RF_RX_temp,0,RxDoneParams.Size);
//      switch(j)
//      {
//         case 1:
//         {
//           memcpy(RF_RX_temp1,RxDoneParams.Payload,RxDoneParams.Size);
//            Uart_Send(UART_ID_GPS, &RF_RX_temp1[11], RxDoneParams.Size-11);
//        rf_enter_continous_rx(); //重新进入接收模式
//            j++;
//            break;
//         }
//         case 2:
//         {
//        Warn_TTS_play();
////           memcpy(RF_RX_temp2,RxDoneParams.Payload,RxDoneParams.Size);
////            Uart_Send(UART_ID_GPS, &RF_RX_temp2[11], RxDoneParams.Size-11);
////        rf_enter_continous_rx(); //重新进入接收模式
////            j=0;
//          break;
//         }
//         memset(RF_RX_temp1,0,250);
//         memset(RF_RX_temp2,0,250);
//      }
//      //Rev_Frequency++;
//    //printf("Rev_Frequency: %d \n",Rev_Frequency);
//  }
//
//   if((rf_get_recv_flag() == RADIO_FLAG_RXTIMEOUT) || (rf_get_recv_flag() == RADIO_FLAG_RXERR))
//  {
//     rf_set_recv_flag(RADIO_FLAG_IDLE);
//     printf("Rxerr\r\n");
//  }
//}
//void Warn_TTS_play()
//{
//   uint8_t data[15]={0};
//   static HIDO_UINT32 Power_r = 0,Open_PJ,Group_id;
//   uint8_t MSG_DATA=0;
//
//   memcpy(data,RxDoneParams.Payload,11);
//   Group_id=data[GROUP_ID_LORA];
//
//   //delay_ms(5000);
//  //copy 数据内容
//   MSG_DATA=data[MSG_Substance_event];
//   data[MSG_Substance2]=0;
////   if(EC6000_FLAG==1)
////   {
//////   Open_PJ = sprintf(TTS_Lora_Open, "您已离开规定区域,请立刻返回");
////   //Open_PJ = sprintf(TTS_Lora_Open, "设备");
////   TTS_Play((HIDO_UINT8 *)TTS_Lora_Open, strlen(TTS_Lora_Open));
////   }
//   if(data[MSG_F]==MSG_LORA_FH0&&data[MSG_H]==MSG_LORA_FH1&&data[MESSAGE_TYPE_IDX]==DATA_LORA_TTS&&EC6000_FLAG==1)
//   {
//            if(Group_id==2)
//            {
//            switch(MSG_DATA)
//            {
//               case 0x10 :
//               {
//               Open_PJ = sprintf(TTS_Lora_Open, "高压危险,请保持安全距离");
//               TTS_Play((HIDO_UINT8 *)TTS_Lora_Open, strlen(TTS_Lora_Open));
//               delay_ms(1000);
//               break;
//               }
//               case 0x11 :
//               {
//               Open_PJ = sprintf(TTS_Lora_Open, "您已离开规定区域,请立刻返回");
//               TTS_Play((HIDO_UINT8 *)TTS_Lora_Open, strlen(TTS_Lora_Open+5));
//               break;
//               }
//               case 0x12 :
//               {
//               Open_PJ = sprintf(TTS_Lora_Open, "实验语音3");
//               TTS_Play((HIDO_UINT8 *)TTS_Lora_Open, strlen(TTS_Lora_Open));
//               break;
//               }
//            }
//
//            }
//   }
//   memset(data,0,15);
//
//
//}
//extern     uint8_t Lora_tx_ancnum;
//extern   u8 lora_seq_nb2;
extern uint16_t lora_yingda_num;
@@ -535,6 +335,7 @@
        checksum = Checksum_u16(lora_sendbuffer,11+data_length);
        memcpy(&lora_sendbuffer[11+data_length],&checksum,2);
        LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+13,0);
         //++;
  //  Delay_Ms(100);
}
void LoraRspWriteCommap(uint8_t index)
@@ -562,6 +363,12 @@
extern uint8_t group_id;
uint16_t lora_send_count;
uint8_t mode_flag=0;
uint32_t frqe,dangqian_frqe;
uint32_t freq_list[4] = {DEFAULT_up_FREQ/100000,4730,4780,4910};
#define TX_LEN  10
extern uint8_t tx_test_buf[TX_LEN];
void Lora_Tx_Poll()
{
  
@@ -573,6 +380,8 @@
//      }
 if(lora_tx_flag)
    {
//         gpio_pin_set(IO_PIN_5);
        if(lora_send_count++%10==0||lora_jianting_flag)
        {
            lora_tx_flag=0;
@@ -614,37 +423,46 @@
                ti=0;
         //  group_min_dist[group_id] = 0xffff;
         //   Radio.Standby();
                  //rf_antenna_close();
//                  rf_set_mode(RF_MODE_STB3);
//                  uint32_t para;
//                  frqe=((UWB_CHANNEL_FRQ+group_id)*100000);
//                  para=freq_list[1] * 100000;
////                  rf_set_default_para(frqe,UWB_CHANNEL_SF);
//                  rf_set_carrier_wave_off();
////               rf_set_carrier_wave_on();
//                  rf_set_freq(para);
//                  rf_set_sf(5);
////                  rf_set_tx_power(para);
////               rf_set_carrier_wave_freq(freq_list[1] * 100000);
//            //SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
//                 dangqian_frqe=rf_read_freq();
            //      LoraSendComMap(WGRSP_RWTAG_READ);
                  
                  //rf_set_default_para(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF);
           // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
                  //rf_enter_single_timeout_rx(0);
                  //delay_us(5000);
//            rf_enter_continous_rx();
            //LedTask();
                  //LoraHeartBeartPoll();
//                 if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK)
//            {
//               while(1);
//            }
               //   rf_get_mode();
            LoraReportPoll();
            // LedOff_task();
        }
    }
     
}
uint8_t TX_RX_SELECT=0;
//void OnMaster()
//{
//
//   rf_set_default_para(DEFAULT_WG_SET_FREQ,DEFAULT_WG_SET_SF);
//  rf_enter_continous_tx();//send_frame1, 19
// // LORA_3029_SEND(send_frame1, 19);
//
//}
int LORA_3029_SINGLE_SEND(uint8_t *buffer, uint8_t size,uint8_t time)
{
    if((rf_single_tx_data(lora_sendbuffer,size,time))!= OK)
      {
      //while(1);
      while(1);
      }   
      rf_delay_us(1);
      
@@ -657,29 +475,7 @@
}
//         rf_enter_continous_tx();
//         //rf_set_default_para(DEFAULT_WG_SET_FREQ,DEFAULT_WG_SET_SF);
//
//
//
//       rf_set_transmit_flag(RADIO_FLAG_TXDONE);
//
//
//          if(rf_get_transmit_flag() == RADIO_FLAG_TXDONE)
//        {
//          //
//               if(rf_continous_tx_send_data(send_frame1, 20) == OK)
//               {
//               //printf("tx ok!\n");
//               }
////               while (rf_get_transmit_flag() ==!RADIO_FLAG_TXDONE)
////               ;
//            while (rf_get_transmit_flag() ==!RADIO_FLAG_TXDONE)
//            ;
//
//        }
//