mirror of
https://gitee.com/dlmu-cone/tronone-h7-scaffold
synced 2026-07-23 19:25:09 +08:00
daemon init failed
This commit is contained in:
@@ -131,7 +131,21 @@ const osThreadAttr_t instask_attributes = {
|
||||
//@Todo:测试使用
|
||||
osThreadId insTaskHandle;
|
||||
|
||||
void StartINSTASK(void const *argument);
|
||||
void StartINSTASK(void *argument);
|
||||
|
||||
|
||||
|
||||
//@Todo:测试daemon(但是没有daemon注册)
|
||||
const osThreadAttr_t daemon_attributes = {
|
||||
.name = "daemon",
|
||||
.priority = osPriorityAboveNormal, // 较高优先级
|
||||
.stack_size = 1024 * 4 // 栈大小,单位是字节(通常是字数的4倍)
|
||||
};
|
||||
|
||||
//@Todo:测试使用
|
||||
osThreadId daemonHandle;
|
||||
|
||||
void DaemonTask();
|
||||
|
||||
/* USER CODE END FunctionPrototypes */
|
||||
|
||||
@@ -249,6 +263,10 @@ void MX_FREERTOS_Init(void)
|
||||
//@Todo:INS_Task是测试版本
|
||||
// 创建线程
|
||||
insTaskHandle = osThreadNew(StartINSTASK, NULL, &instask_attributes);
|
||||
|
||||
//@Todo:daemon是测试版本
|
||||
// 创建线程
|
||||
daemonHandle = osThreadNew(DaemonTask, NULL, &daemon_attributes);
|
||||
/* USER CODE END RTOS_THREADS */
|
||||
|
||||
/* USER CODE BEGIN RTOS_EVENTS */
|
||||
@@ -406,7 +424,7 @@ __weak void RefereeTask(void *argument)
|
||||
/* USER CODE BEGIN Application */
|
||||
|
||||
//@Todo:INS_Task是测试阶段使用。
|
||||
__attribute__((noreturn)) void StartINSTASK(void const *argument)
|
||||
__attribute__((noreturn)) void StartINSTASK(void *argument)
|
||||
{
|
||||
static float ins_start;
|
||||
static float ins_dt;
|
||||
@@ -425,6 +443,23 @@ __attribute__((noreturn)) void StartINSTASK(void const *argument)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Function implementing the reference thread.
|
||||
* @param argument: Not used
|
||||
* @retval None
|
||||
* @Todo:Deamon task
|
||||
*/
|
||||
/* USER CODE END Header_RefereeTask */
|
||||
__weak void DaemonTask()
|
||||
{
|
||||
/* USER CODE BEGIN DaemonTask */
|
||||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
osDelay(1);
|
||||
}
|
||||
/* USER CODE END RefereeTask */
|
||||
}
|
||||
|
||||
/* USER CODE END Application */
|
||||
|
||||
|
||||
@@ -31,10 +31,10 @@ void XidiPowerMeterDecode(FDCANInstance *_instance)
|
||||
XidiPowerMeter_Msg_s *measure = &power_meter_instance->powermeter_msg;
|
||||
|
||||
// 重载守护进程
|
||||
// if (power_meter_instance->daemon != NULL)
|
||||
// {
|
||||
// DaemonReload(power_meter_instance->daemon);
|
||||
// }
|
||||
if (power_meter_instance->daemon != NULL)
|
||||
{
|
||||
DaemonReload(power_meter_instance->daemon);
|
||||
}
|
||||
|
||||
// 计算时间间隔
|
||||
measure->dt = DWT_GetDeltaT(&power_meter_instance->feed_cnt);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#include "daemon.h"
|
||||
#include "bsp_dwt.h"
|
||||
#include "stdlib.h"
|
||||
#include "cmsis_os2.h"
|
||||
#include "memory.h"
|
||||
#include "stdlib.h"
|
||||
|
||||
/* 用于保存所有的daemon instance */
|
||||
static Daemon_Instance *daemon_instances[DAEMON_MAX_NUM];
|
||||
|
||||
@@ -45,9 +45,10 @@ void RobotCMDInit()
|
||||
}
|
||||
}
|
||||
// ==================== 4. 在控制任务中读取使用 ====================
|
||||
void CmdTask()
|
||||
void CmdTask(void *argument)
|
||||
{
|
||||
RobotCMDInit();
|
||||
DaemonReload(chassis_power_meter->daemon);
|
||||
while (1)
|
||||
{
|
||||
if (chassis_power_meter != NULL)
|
||||
@@ -62,4 +63,4 @@ void CmdTask()
|
||||
|
||||
osDelay(10); // 根据实际需要调整读取频率
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,22 @@
|
||||
// //
|
||||
// // Created by ASUS on 2025/12/15.
|
||||
// //
|
||||
//
|
||||
// #ifndef TRONONEH7_SCAFFOLD_DEV_CMD_H
|
||||
// #define TRONONEH7_SCAFFOLD_DEV_CMD_H
|
||||
// Created by ASUS on 2025/12/15.
|
||||
//
|
||||
// /**
|
||||
// * @brief 机器人核心控制任务初始化,会被RobotInit()调用
|
||||
// *
|
||||
// */
|
||||
// void RobotCMDInit();
|
||||
//
|
||||
// /**
|
||||
// * @brief 机器人核心控制任务,200Hz频率运行(必须高于视觉发送频率)
|
||||
// *
|
||||
// */
|
||||
// void RobotCMDTask();
|
||||
//
|
||||
// #endif //TRONONEH7_SCAFFOLD_DEV_CMD_H
|
||||
|
||||
#ifndef TRONONEH7_SCAFFOLD_DEV_CMD_H
|
||||
#define TRONONEH7_SCAFFOLD_DEV_CMD_H
|
||||
|
||||
// 如果用到了 FreeRTOS 的 API,可以在这里包含,或者在需要用到的源文件里包含
|
||||
// #include "cmsis_os2.h"
|
||||
|
||||
/**
|
||||
* @brief 机器人指令控制及外设初始化
|
||||
*/
|
||||
void RobotCMDInit(void);
|
||||
|
||||
/**
|
||||
* @brief 指令下发主任务 (FreeRTOS 线程)
|
||||
* @param argument 线程传入参数
|
||||
*/
|
||||
void CmdTask(void *argument);
|
||||
|
||||
#endif // TRONONEH7_SCAFFOLD_DEV_CMD_H
|
||||
|
||||
Reference in New Issue
Block a user