From 4d64e302d4fee46ee010495ce1a8592d14ad6fbe Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 08 一月 2024 09:44:57 +0800 Subject: [PATCH] 1 --- FML/lora.c | 80 +++++++++++++++++++++++----------------- 1 files changed, 46 insertions(+), 34 deletions(-) diff --git a/FML/lora.c b/FML/lora.c index 1814982..26ed0ef 100644 --- a/FML/lora.c +++ b/FML/lora.c @@ -264,7 +264,9 @@ * Return : * Author : hido.ltd *******************************************************************************/ - +extern void delay_ms(uint32_t nTimer) ; +extern uint8_t lora_sendfinal_rx_bag_flag; +uint8_t flag_lorainit=1; void Lora_Poll(void) { HIDO_UINT8 u8Byte = 0; @@ -274,42 +276,52 @@ { Lora_RecvByte(u8Byte); lora_rxbuf[lora_rxbufnum++]=u8Byte; - if(lora_rxbuf[lora_rxbufnum-1]==0xAA) + if(lora_rxbuf[0]==0x55&&lora_rxbuf[1]==0xAA&&lora_rxbuf[9]==0x55&&lora_rxbuf[10]==0xAA) { - if(lora_rxbuf[lora_rxbufnum-2]==0x55) - { - memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); - lora_rxbufnum=0; - } - } - memcpy(&lora_recv_devid,&lora_rxbuf[2],2); - if(lora_recv_devid==dev_id) - { - if(lora_rxbuf[4]==0x01&&lora_rxbuf[5]==0x00&&lora_rxbuf[6]==0x01)//接收GPS回复的OK - { - memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); - lora_rxbufnum=0; - lora_sendfinalbag_flag=0; - } - if(lora_rxbuf[4]==0x02)//接收下发修改GPS开关时间参数 - { - memcpy(&lora_recv_gpstime,&lora_rxbuf[5],2); - g_com_map[GPS_ONTIME]=lora_recv_gpstime; - save_com_map_to_flash(); - delay_ms(100); - NVIC_SystemReset(); - } - if(lora_rxbuf[4]==0x03)//接收下发修改静止休眠时间参数 - { - memcpy(&lora_recv_gpstime,&lora_rxbuf[5],2); - g_com_map[NOMOVESLEEP_TIME]=lora_recv_gpstime; - save_com_map_to_flash(); - delay_ms(100); - NVIC_SystemReset(); + memcpy(&lora_recv_devid,&lora_rxbuf[4],2); + if(lora_recv_devid==dev_id) + { + if(lora_rxbuf[6]==0x01&&lora_rxbuf[7]==0x01&&lora_rxbuf[8]==0x00)//接收GPS回复的OK + { + lora_sendfinalbag_flag=0; + lora_sendfinal_rx_bag_flag=0; + HIDO_Debug("收到GPS的OK\r\n"); + memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); + lora_rxbufnum=0; + } + if(lora_rxbuf[6]==0x02)//接收下发修改GPS开关时间参数 + { + memcpy(&lora_recv_gpstime,&lora_rxbuf[7],2); + if(lora_recv_gpstime<=1800) + lora_recv_gpstime=1800; + g_com_map[GPS_ONTIME]=lora_recv_gpstime; + save_com_map_to_flash(); + HIDO_Debug("收到修改GPS开关时间:%d\r\n",lora_recv_gpstime); + delay_ms(100); + NVIC_SystemReset(); + } + if(lora_rxbuf[6]==0x03)//接收下发修改静止休眠时间参数 + { + memcpy(&lora_recv_gpstime,&lora_rxbuf[7],2); + if(lora_recv_gpstime<=10) + lora_recv_gpstime=10; + g_com_map[NOMOVESLEEP_TIME]=lora_recv_gpstime; + save_com_map_to_flash(); + HIDO_Debug("收到修改静止休眠时间:%d\r\n",lora_recv_gpstime); + delay_ms(100); + NVIC_SystemReset(); + } + } + + } - } - } } + if(Lora_IsIdle() == HIDO_TRUE&&flag_lorainit) + { + memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); + flag_lorainit=0; + lora_rxbufnum=0; + } } /******************************************************************************* -- Gitblit v1.9.3