WXK
2024-07-18 a146034365a3ae06d9e4310a40c3857fcf4cc2ff
Src/main.c
@@ -222,6 +222,7 @@
        HAL_UART_DMAStop(&hlpuart1); //  停止DMA传输,防止  
        while(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))   
      {
          HAL_IWDG_Refresh(&hiwdg);
        UART_CheckReceive();
      UART_CheckSend();
      nomove_count = 0;
@@ -314,7 +315,7 @@
   hardware_pici = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2);
   hardware_type = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4);
   //deca_sleep(1000);
   g_com_map[VERSION] = (1<<8)|23;
   g_com_map[VERSION] = (1<<8)|29;
//    g_com_map[DEV_ID]=1158;
//    #ifdef DEBUG_MODE
//   // g_com_map[GROUP_ID]=21;
@@ -449,7 +450,8 @@
      //  SystemClock_Config();
     //   irq_num++;
        lora_irq_flag = 1;
    //    RadioIrqProcess();
        if(shengji_flag)
        RadioIrqProcess();
    }
    if(GPIO_Pin == GPIO_PIN_1)//按键
    {
@@ -618,19 +620,20 @@
uint8_t debugnum;
uint8_t Lora_send_flag;
extern uint8_t rec_secdelay;
extern u16 uwb_rx_remaintime_ms;
void Lora_Send_Poll(void)
{
    
    if(Lora_send_flag)
    if(Lora_send_flag&&uwb_rx_remaintime_ms==0)
    { 
        debugnum++;
        Lora_send_flag=0; 
        if(rec_secdelay>0)
            {
                loraled=YELLOW;
                rec_secdelay--;
                return;
            }
//        if(rec_secdelay>0)
//            {
//                loraled=YELLOW;
//                rec_secdelay--;
//                return;
//            }
        loraled=BLUE;
        LoraReportPoll();
        flag_onesecond = 1;
@@ -1357,6 +1360,9 @@
}
#define NOGPS_RESET_TIME 300
u8 state_count = 0;
extern u8 lora_jianting_flag,seq_num;
extern u32 wg_lost_count;
extern u16 uwb_rx_remaintime_ms;
void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim)
{
 if(chongqi_flag==0&&shengji_flag==0)
@@ -1376,18 +1382,34 @@
            {HAL_NVIC_SystemReset();}
        }
        Yuying_Poll();
        state_count++;
        switch(state_count)
        {
            case 0:
                state_count = 1;
           if(lora_jianting_flag)
           {
                uwb_rx_remaintime_ms = 990;
                UWB_RXStart(0);
           }else{
               seq_num--;
               Lora_send_flag=1;
           }
                break;
            case 1:
                if(wg_lost_count>0)
                {
                    seq_num--;
                 Lora_send_flag=1;
                }
                state_count = 2;
                break;
            case 2:
                 Lora_send_flag=1;
                state_count = 0;
                break;
            default:
                state_count = 0;
        }
        Lora_send_flag=1;
        if(nomove_count++>g_com_map[STATIONARY_TIME])
        {
            stationary_flag = 1;