From 617d989d294c30b5f04f643b1ec7e5d9b4878a1a Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 01 三月 2022 11:52:30 +0800
Subject: [PATCH] 1对6

---
 源码/核心板/Src/application/dw_app.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
index d0f053a..861e9ab 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/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);
 		}

--
Gitblit v1.9.3