zhyinch
2022-03-01 617d989d294c30b5f04f643b1ec7e5d9b4878a1a
Ô´Âë/ºËÐİå/Src/application/dw_app.c
@@ -808,12 +808,13 @@
      dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR);
   }
}
u8 frame_len;
u8 frame_len,jumptime;
u8 rec_gpsdata[1000];
extern u8 RTCMdata[2000];
u16 recgpsdata_i,recdata_len;
void UWBSendOnePackData(u8* data_addr,u8 len)
{
   delay_ms(jumptime);
   g_Resttimer = 0;
   LED0_BLINK;
   g_start_sync_flag=1;
@@ -861,7 +862,11 @@
            USART_puts(rec_gpsdata,recgpsdata_i);
            break;
         }
      }else{
         jumptime=time32_incr%20;
      }
   }else{
      jumptime=time32_incr%20;
   }
}
}
@@ -1016,6 +1021,7 @@
extern u8 gpsdataready_flag;
extern u16 gps_packlen;
u8 totalpack_num,currentpack_num;
u16 sendtimes;
void RecOnePackData(void)
{
   dwt_setrxtimeout(0);//设定接收超时时间,0位没有超时时间
@@ -1043,7 +1049,7 @@
      {
         recdata_len = frame_len-14;   
         memcpy(rec_gpsdata,&rx_buffer[DATA_IDX],recdata_len);
         if(gpsdataready_flag)
      //   if(gpsdataready_flag)
         {
            gpsdataready_flag = 0;
            tx_sync_msg[MESSAGE_TYPE_IDX]=DATA_RESPONSE;
@@ -1061,13 +1067,15 @@
                  dwt_writetxdata(110+14, tx_sync_msg, 0);//将Poll包数据传给DW1000,将在开启发送时传出去
                  dwt_writetxfctrl(110+14, 0);//设置超宽带发送数据长度
                  dwt_starttx(DWT_START_TX_IMMEDIATE);
                  sendtimes++;
               }else{
                  tx_sync_msg[CURENTPACKNUM_IDX] = 1;
                  memcpy(&tx_sync_msg[DATA_IDX],&RTCMdata[send_i],remain_i);
                  dwt_writetxdata(remain_i+14, tx_sync_msg, 0);//将Poll包数据传给DW1000,将在开启发送时传出去
                  dwt_writetxfctrl(remain_i+14, 0);//设置超宽带发送数据长度
                  dwt_starttx(DWT_START_TX_IMMEDIATE);
                  remain_i = 0;
                  remain_i = 0;
                  sendtimes++;
               }
               delay_us(1000);
            }
@@ -1078,16 +1086,19 @@
         
         GPS_ParseGGA(rec_gpsdata,recdata_len);
         
         const char *fmt = "{\"battery\":4.2,\"dev_type\":\"11\",\"device_sn\":\"15625411\",\"gps_type\":%d,\"high\":%.8lf,\"lat\":%.8lf,\"lng\":%.8lf}";
         const char *fmt = "{\"battery\":4.2,\"dev_type\":\"11\",\"device_sn\":\"15625394\",\"gps_type\":%d,\"high\":%.8lf,\"lat\":%.8lf,\"lng\":%.8lf}";
         
         double lat = 0;
         double lon = 0;
         double high = 0;
         uint8_t gps_type;
         gps_type = HIDO_UtilStrBufToInt(stPosState[2].m_pData,1);
         if(gps_type!=0)
         {
         GPS_ParseLon(&stPosState[1], &lon);
         GPS_ParseLat(&stPosState[0], &lat);
         GPS_ParseHeight(&stPosState[3], &high);
         }
         printf(fmt,gps_type, high, lat, lon);
   //USART_puts(rec_gpsdata,recdata_len);
      }