1
WXK
2023-12-18 37e61b5bf9aba18b6d0a5a4892494f0016c6e9c6
FML/lora.c
@@ -266,6 +266,7 @@
 *******************************************************************************/
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,44 +275,53 @@
    while(Uart_GetChar(UART_ID_LORA, &u8Byte) == HIDO_OK)
   {
       Lora_RecvByte(u8Byte);
        lora_rxbuf[lora_rxbufnum++]=u8Byte;
        if(lora_rxbuf[lora_rxbufnum-1]==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;
            lora_sendfinal_rx_bag_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();
//        lora_rxbuf[lora_rxbufnum++]=u8Byte;
//        if(lora_rxbuf[0]==0x55&&lora_rxbuf[1]==0xAA&&lora_rxbuf[9]==0x55&&lora_rxbuf[10]==0xAA)
//        {
//          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;
//    }
}
/*******************************************************************************