keil/include/src/Radio/lora_1268.c
@@ -187,117 +187,6 @@
#define GET_USERKEY gpio_pin_get_val(SOS_PIN)
void LoraReportPoll(void)
{
////    // delay_ms(100);
////#ifdef _USE_BAR
////    GetPressAndHeight();
////    intheight = Height*100;
////#endif
////#ifdef _SMT_TEST
////    printf("气压值:%d",intheight);
////#endif
//////    TagListUpdate();
////    LoraReportFreqPoll();
////    flag_getwgresp = 0;
//    SwitchLoraSettings(478,REPORT_CHANNEL_SF,22);
////    if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
////    {
////        heatbeat_count = 0;
////        LoraHeartBeartPoll();
////        return;
////    }
////    for(uint16_t i=0; i<report_ancnum-1; i++)
////    {
////        for(uint16_t j=0; j<report_ancnum-1-i; j++)
////        {
////            if(report_ancdist[j]>report_ancdist[j+1])
////            {
////                uint16_t id,dist;
////                uint8_t bat;
////                id = report_ancid[j];
////                dist = report_ancdist[j];
////                report_ancid[j] = report_ancid[j+1];
////                report_ancdist[j] = report_ancdist[j+1];
////                report_ancid[j+1] = id;
////                report_ancdist[j+1] = dist;
////            }
////        }
////    }
////
////    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;
////#else
////      BT_NUM=DMA_RXBuf_BT[0];
////      if(SOS_KEY_STATE)
////      {
////         BT_NUM=0;
//////      }
////    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG;
//      lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
//    //lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+3;
////#endif
//    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
//    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
//    lora_sendbuffer[SEQNUM_IDX] = seq_num++;
//    lora_sendbuffer[BAT_IDX] = bat_percent;
////      lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
////      //GET_USERKEY这个是那个lora——busy那个引脚
//////      lora_sendbuffer[STATE_IDX]=0x01;
//////      lora_sendbuffer[GATEWAY_CHANL]=0x02;
//////      lora_sendbuffer[CHANL_NUM]=0x03;
////
////#ifdef USE_GPS
////    memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8);
////    memcpy(&lora_sendbuffer[GPS_WEIDU_IDX],&gps_jingdu,8);
////    memcpy(&lora_sendbuffer[GPS_HEIGHT_IDX],&gps_height,8);
////    lora_sendbuffer[GPS_STATE_IDX] = gps_state;
////    lora_sendbuffer[GPS_SATEL_NUM_IDX] = gps_satel_num;
////    lora_sendbuffer[GPS_SPOWER_IDX] = gps_signalpower;
////    lora_sendbuffer[GPS_CHAFENLINGQI] = gps_chafenlingqi;
////#endif
////    memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&intheight,2);
////    lora_sendbuffer[BT_ANCID_IDX] = report_ancnum;
////    memcpy(&lora_sendbuffer[BT_ANCID_IDX+1],report_ancid,report_ancnum*2);
////    memcpy(&lora_sendbuffer[BT_ANCID_IDX+report_ancnum*2+1],report_ancdist,report_ancnum*2);
////      uint8_t LORA_RETRANSNUSSION_BT=0;
//////
//////      num[0]=REV_RX_NUM;
//////      num[1]=REV_POLL_NUM;
//////      num[2]=REPLY_POLL_NUM;
////      LORA_RETRANSNUSSION_BT=BT_ANCID_IDX+report_ancnum*4+1;
////      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] = LORA_RETRANSNUSSION_BT+4*BT_NUM+2;
//////      }
//////      if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
//////      {
////      checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+BT_ANCID_IDX+3);
////      memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*4+2],&checksum,2);
//      BT_SEND_flag=BT_ANCID_IDX+report_ancnum*4+BT_NUM*4+5;
//      Radio.Send(lora_sendbuffer,BT_SEND_flag);
////      LORA_POLL_COUNT++;
//////      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);
//////      Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2);
//////      }
#ifdef _USE_BAR
    GetPressAndHeight();
    intheight = Height*100;
@@ -424,7 +313,7 @@
   checksum = Checksum_u16(lora_sendbuffer,9+data_length);
   memcpy(&lora_sendbuffer[9+data_length],&checksum,2);
   Radio.Send(lora_sendbuffer,data_length+11);
LOG_INFO(TRACE_MODULE_APP, "进入回复\r\n");
  //LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+11,0);
  //  Delay_Ms(100);
}
@@ -471,7 +360,19 @@
     
}
void lora_in_sleep(void)
{
             //SPI0/MOSI/MISO/CLK/CS
//   gpio_pin_set(LORA_CS);
//   gpio_pin_clr(LORA_MOSI);
//   gpio_pin_clr(LORA_MISO);
//   gpio_pin_clr(LORA_CLK);
//   gpio_pin_clr(LORA_IRQ);
   //gpio_pin_clr(LORA_NRST);
   //gpio_pin_clr(LORA_NRST);//lora休眠
    Radio.Standby();
    Radio.Sleep();
}
////States_t State = LOWPOWER;
//////int8_t RssiValue = 0;
@@ -488,9 +389,11 @@
//uint16_t current_count;
//extern wg_state_enum wg_state;
uint8_t txdone=0;
uint8_t send_flag;
void OnTxDone( void )
     txdone++;
    if(flag_writepara_needreset) //配置写入完成设备需要重启
    {
        printf("网关下发配置写入完成,重启");
@@ -504,7 +407,9 @@
    }
    else
    {
    Radio.Rx( 50 );
         send_flag=1;
    //LORA_LED_OFF;
    }
}
@@ -538,6 +443,8 @@
uint8_t LoraUp_flag;
uint16_t REV_WG_pack=0; 
uint8_t rxdone=0;
extern uint16_t set_mk_time;
extern mk_send_message_to_BLE(void);
void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
{  
            uint16_t checksum1;
@@ -570,8 +477,8 @@
                              switch(RX_Buffer[PWTAG_RW_FLAG_IDX])
                              {
                                    case WGRSP_RWTAG_NONE:
//                                    REV_WG_pack++;
//                        wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400;
                                    REV_WG_pack++;//此处刚放开
                        wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400;//此处刚放开未测试
//                        memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2);
//                        if(report_ancnum<2)
@@ -627,9 +534,15 @@
                        default :
                            memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2);
                            g_com_map[rec_index/2] = rec_value;
                            save_com_map_to_flash();
//                                          if(rec_index/2==POWER)//新增判断
//                                          {
//                                           memcpy(&set_mk_time,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2);
//                                             //mk_send_message_to_BLE();   //发送给蓝牙
//                                             //LOG_INFO(TRACE_MODULE_APP, "修改成功g_com表为%#x,时间为%#x\r\n",g_com_map[POWER],set_mk_time);
//                                          }
                           // save_com_map_to_flash();
                            LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA);
                            //flag_writepara_needreset = 1;
                            flag_writepara_needreset = 1;
                            no_rx_flag = 1;                           
                                             }
@@ -657,7 +570,8 @@
                           }
                        }
                     }
                     }
LOG_INFO(TRACE_MODULE_APP, "进入回复2\r\n");
    if(!no_rx_flag)
    {
        if(lora_jianting_flag&&LoraUp_flag==0)
@@ -681,6 +595,7 @@
void OnRxTimeout( void )
{
    Radio.Standby();
    if(lora_jianting_flag)
    {
        SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);