Release:5.20灰测

This commit is contained in:
2026-05-21 10:01:28 +08:00
parent 8a5a32b139
commit fd65e9c6a2
68 changed files with 4329 additions and 1489 deletions

82
Core/User/App/task_sys.c Normal file
View File

@@ -0,0 +1,82 @@
/**
******************************************************************************
* @file user\task\HeartBeatTask.c
* @author luhuaishuai
* @version v0.1
* @date 2026-1-12
* @brief 心跳任务,负责发送心跳包和处理云快充的响应
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "task_sys.h"
void HeartBeat_Sign(void);
/**
* @funNm : HeartbeatTask_Function
* @brief : 心跳
* @param : argument
* @retval: void
*/
void sys_task_function(void const *argument)
{
while (1)
{
TaskRunTimeStat.HeartBeatTask.threads_runtime = GetTask_RunTime(HeartBeatTaskID);
TaskRunTimeStat.HeartBeatTask.threads_counter = GetTask_Beatcnt(HeartBeatTaskID);
TaskRunTimeStat.HeartBeatTask.threads_freestack = Get_Free_Stack(HeartBeatTaskID);
HeartBeat_Sign(); // 指示灯、蜂鸣器
// HAL_IWDG_Refresh(&hiwdg); //喂狗
osDelay(50);
}
}
/**
* @funNm : HeartBeat_Sign
* @brief : 心跳指示灯、蜂鸣器 云快充心跳
* @param : none
* @retval: void
*/
static uint32_t last_heartbeat_tick[MAX_CHARGER_COUNT] = {0};
void HeartBeat_Sign(void)
{
int i;
uint32_t now = HAL_GetTick();
bool any_online = false;
/* 6路桩独立心跳互不影响 */
for (i = 0; i < MAX_CHARGER_COUNT; i++)
{
if (g_charger_manager.charger_piles[i].is_online)
{
any_online = true;
if ((now - last_heartbeat_tick[i]) >= 8000)
{
last_heartbeat_tick[i] = now;
charger_to_server_0X03(i + 1, 1);
}
}
}
if (any_online)
{
RUN_EVERY(50, tick_B, {
System_Mode_Led_Toggle();
});
}
else
{
RUN_EVERY(500, tick_C, {
System_Mode_Led_Toggle();
});
}
RUN_EVERY(1000, tick_D, {
System_Run_Led_Toggle();
});
}