87 lines
2.8 KiB
C
87 lines
2.8 KiB
C
/*
|
||
初始化任务
|
||
根据机器人的FLASH配置,决定生成哪些任务。
|
||
*/
|
||
|
||
/* Includes ----------------------------------------------------------------- */
|
||
|
||
#include "attrTask.h"
|
||
|
||
/* Private typedef ---------------------------------------------------------- */
|
||
/* Private define ----------------------------------------------------------- */
|
||
/* Private macro ------------------------------------------------------------ */
|
||
/* Private variables -------------------------------------------------------- */
|
||
/* Private function --------------------------------------------------------- */
|
||
/* Exported functions ------------------------------------------------------- */
|
||
|
||
/**
|
||
* \brief 初始化
|
||
*
|
||
* \param argument 未使用
|
||
*/
|
||
void Task_Init(void *argument) {
|
||
(void)argument; /* 未使用argument,消除警告 */
|
||
|
||
// Config_Get(&task_runtime.cfg); /* 获取机器人配置 */
|
||
|
||
osKernelLock();
|
||
|
||
/* 任务 */
|
||
|
||
// led
|
||
task_runtime.thread.led =
|
||
osThreadNew(Task_Led, NULL, &attr_led);
|
||
//can
|
||
task_runtime.thread.can =
|
||
osThreadNew(Task_Can, NULL, &attr_can);
|
||
// dji_motor
|
||
task_runtime.thread.dji_motor =
|
||
osThreadNew(Task_Motor, NULL, &attr_motor);
|
||
// odrive_shoot
|
||
task_runtime.thread.shoot =
|
||
osThreadNew(Task_Shoot, NULL, &attr_shoot);
|
||
// go
|
||
task_runtime.thread.go =
|
||
osThreadNew(Task_Go, NULL, &attr_go);
|
||
//
|
||
// task_runtime.thread.left_gimbal =
|
||
// osThreadNew(Task_Left_Gimbal, NULL, &attr_left_gimbal);
|
||
|
||
// task_runtime.thread.right_gimbal =
|
||
// osThreadNew(Task_Right_Gimbal, NULL, &attr_right_gimbal);
|
||
|
||
// task_runtime.thread.gimbal_rec =
|
||
// osThreadNew(Task_Gimbal_Rec, NULL, &attr_gimbal_rec);
|
||
/* 消息队列 */
|
||
//can
|
||
// task_runtime.queue.can.feedback.chassis =
|
||
// osMessageQueueNew(1u, sizeof(CAN_ChassisMotor_t), NULL);
|
||
// task_runtime.queue.can.feedback.gimbal =
|
||
// osMessageQueueNew(1u, sizeof(CAN_GimbalMotor_t), NULL);
|
||
// task_runtime.queue.feedback_left=
|
||
// osMessageQueueNew(1u, sizeof(Parsing_Data_t), NULL);
|
||
// task_runtime.queue.feedback_right =
|
||
// osMessageQueueNew(1u, sizeof(Parsing_Data_t), NULL);
|
||
// task_runtime.queue.cmd_left=
|
||
// osMessageQueueNew(1u, sizeof(CMD_gimbal_t), NULL);
|
||
// task_runtime.queue.cmd_right =
|
||
// osMessageQueueNew(1u, sizeof(CMD_gimbal_t), NULL);
|
||
|
||
/* 互斥量 */
|
||
|
||
// task_runtime.mutex.can.er_2 =
|
||
// xSemaphoreCreateMutex();
|
||
//
|
||
// task_runtime.mutex.cmd_left =
|
||
// xSemaphoreCreateMutex();
|
||
// task_runtime.mutex.cmd_right =
|
||
// xSemaphoreCreateMutex();
|
||
// task_runtime.mutex.feedback_left =
|
||
// xSemaphoreCreateMutex();
|
||
// task_runtime.mutex.feedback_right =
|
||
// xSemaphoreCreateMutex();
|
||
|
||
osKernelUnlock();
|
||
osThreadTerminate(osThreadGetId()); /* 结束自身 */
|
||
}
|