yincheng.zhong
2024-03-04 83543cdc379fce99175e3b15936c97a49fe73bfa
Src/main.c
@@ -100,6 +100,7 @@
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
void LedTask(void);
uint32_t dev_id;
uint16_t heartbeat_timer,poll_timer,sync_timer;
uint8_t aRxBuffer[1],group_id;
@@ -247,9 +248,9 @@
    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)|5;
    g_com_map[VERSION] = (1<<8)|6;
//    g_com_map[DEV_ID]=1158;
    g_com_map[GROUP_ID]=0;
    g_com_map[GROUP_ID]=1;
//    g_com_map[COM_INTERVAL] = 1000;
    if(g_com_map[COM_INTERVAL]<1000)
    {
@@ -451,6 +452,42 @@
        flag_onesecond = 0;
    }
}
uint8_t Lora_send_flag;
void Lora_Send_Poll(void)
{
        if(Lora_send_flag)
        {
        Lora_send_flag=0;
        LedTask();
        LoraReportPoll();
        flag_onesecond = 1;
    LED_TB_OFF;
    LED_TR_OFF;
    LED2_TB_OFF;
    LED2_TR_OFF;
        }
#ifndef DEBUG_MODE
        if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&imu_enable)
        {
            if(sleep_flag==0)
            {
                Radio.Standby();
                Radio.Sleep();
                sleep_flag = 1;
            }
        } else {
            if(sleep_flag)
            {
                SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
            }
        }
#endif
}
/* USER CODE END 0 */
/**
@@ -533,7 +570,7 @@
//    HAL_IWDG_Refresh(&hiwdg);
        OneSecondTask();
        IdleTask();
        Lora_Send_Poll();
#ifndef DEBUG_MODE
        if(!HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))
            HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
@@ -1112,10 +1149,7 @@
    } else {
        if(!sleep_flag)
        {
        LedTask();
        LoraReportPoll();
        flag_onesecond = 1;
        Lora_send_flag=1;
        if(nomove_count++>g_com_map[STATIONARY_TIME])
        {
            stationary_flag = 1;
@@ -1129,26 +1163,6 @@
            gotosleep_flag=0;
        }
    }
#ifndef DEBUG_MODE
        if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&imu_enable)
        {
            if(sleep_flag==0)
            {
                Radio.Standby();
                Radio.Sleep();
                sleep_flag = 1;
            }
        } else {
            if(sleep_flag)
            {
                SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
            }
        }
#endif
    }
    if(!GET_USERKEY)    //长按重启逻辑
    {
@@ -1160,11 +1174,6 @@
    } else {
        key_keeptime=0;
    }
    LED_TB_OFF;
    LED_TR_OFF;
    LED2_TB_OFF;
    LED2_TR_OFF;
}
/* USER CODE END 4 */