WXK
2024-10-21 f152f0dd5cb4aaf867b8976e357291001bb2eebe
Src/application/dw_app.c
@@ -74,7 +74,7 @@
//#define _UWB_4G
static dwt_config_t config = {
dwt_config_t config = {
#ifdef _UWB_4G
   2,               /* Channel number. */
#else
@@ -260,7 +260,7 @@
#define BAT_IDX             7   //标签电量
#define STATE_IDX           8
#define ANCID_IDX           30   //校验在4*ancnum+ANCID_IDX 位置
#define LORA5_CHANNEL_FRQ 484
#define LORA5_CHANNEL_FRQ 478
#define LORA5_CHANNEL_SF 7
uint8_t poll_state;
void Lora_Poll(void)
@@ -292,6 +292,10 @@
extern uint8_t Lorahuifu_flag;
extern  int16_t intheight;
extern   u16 uwbdistance;
extern float bat_volt;
extern uint8_t shuzu[3];
extern uint8_t datashuju[50];
extern uint8_t datachangdu;
void Tag_App(void)//发送模式(TAG标签)
{     
//    SyncStateSwitch();
@@ -314,14 +318,47 @@
      poll_state=UWB;
      Lora_Poll();
      if(intheight!=0)
      printf("高度值:%d\r\n",intheight);
      {
//      printf("高度值:%d\r\n",intheight);
      uartsend(6,intheight);
        memset(datashuju,0,sizeof(datashuju));
        USART_puts(shuzu, 3);//开始结束都要发
        datachangdu=sprintf(datashuju,"t2.bco=2024");
        USART_puts(datashuju, datachangdu);
        USART_puts(shuzu, 3);
      }
      if(uwbdistance!=0)
      printf("UWB测距值:%d\r\n",uwbdistance);
      {
//      printf("UWB测距值:%d\r\n",uwbdistance);
      uartsend(4,uwbdistance);
        memset(datashuju,0,sizeof(datashuju));
        USART_puts(shuzu, 3);//开始结束都要发
        datachangdu=sprintf(datashuju,"t0.bco=2024");
        USART_puts(datashuju, datachangdu);
        USART_puts(shuzu, 3);
      }
      if(Lorahuifu_flag)
      {
      Lorahuifu_flag=0;    
      printf("收到网关回复,LORA成功\r\n");
      uartsend(5,0);
        memset(datashuju,0,sizeof(datashuju));
        USART_puts(shuzu, 3);//开始结束都要发
        datachangdu=sprintf(datashuju,"t1.bco=2024");
        USART_puts(datashuju, datachangdu);
        USART_puts(shuzu, 3);
      }
    memset(datashuju,0,sizeof(datashuju));
    USART_puts(shuzu, 3);//开始结束都要发
    datachangdu=sprintf(datashuju,"t7.txt=\"%.2f\"",bat_volt);
    USART_puts(datashuju, datachangdu);
    USART_puts(shuzu, 3);
      if(bat_volt>0)
      {
        memset(datashuju,0,sizeof(datashuju));
        USART_puts(shuzu, 3);//开始结束都要发
        datachangdu=sprintf(datashuju,"t3.bco=2024");
        USART_puts(datashuju, datachangdu);
        USART_puts(shuzu, 3);
      }
//     LoraSyncRecPoll();
//      if(GetRangeState())  //获取当前测距状态,是否开启。如果开启下次为测距,否为同步