2025-11-16 17:19:14 +08:00
/**
* @ file robot . c
* @ brief
* @ author TuxMonkey ( nqx2004 @ gmail . com )
* @ version 1.0
* @ date 2025 - 07 - 08
*
* @ copyright Copyright ( c ) 2025 DLMU - C . ONE
*
* @ par 修 改 日 志 :
* < table >
* < tr > < th > Date < th > Version < th > Author < th > Description
* < tr > < td > 2025 - 07 - 08 < td > 1.0 < td > TuxMonkey < td > 内 容
* < / table >
*/
# include "bsp_init.h"
# include "robot.h"
2026-07-14 21:56:46 +08:00
# include "rc.h"
# include "robot_def.h"
2025-11-16 17:19:14 +08:00
# include "cmsis_gcc.h"
// #include "robot_def.h"
// #include "robot_task.h"
// // 编译warning,提醒开发者修改机器人参数
// #ifndef ROBOT_DEF_PARAM_WARNING
// #define ROBOT_DEF_PARAM_WARNING
// #pragma message "check if you have configured the parameters in robot_def.h, IF NOT, please refer to the comments AND DO IT, otherwise the robot will have FATAL ERRORS!!!"
// #endif // !ROBOT_DEF_PARAM_WARNING
2026-07-14 21:56:46 +08:00
volatile RobotMode_t RobotMode = REMOTE_NOT_CONNECTED ;
2025-11-16 17:19:14 +08:00
// #if defined(ONE_BOARD) || defined(CHASSIS_BOARD)
// #include "chassis.h"
// #endif
// #if defined(ONE_BOARD) || defined(GIMBAL_BOARD)
// #include "gimbal.h"
// #include "shoot.h"
// #include "robot_cmd.h"
// #endif
/**
* @ brief 机 器 人 初 始 化 函 数
*
* @ note 该 函 数 在 系 统 启 动 时 调 用 , 用 于 初 始 化 机 器 人 各 个 模 块
*
* @ attention 请 不 要 在 初 始 化 过 程 中 使 用 中 断 和 延 时 函 数 !
* 若 必 须 , 则 只 允 许 使 用 DWT_Delay ( )
*/
void RobotInit ( )
{
// 关闭中断,防止在初始化过程中发生中断
// 请不要在初始化过程中使用中断和延时函数!
// 若必须,则只允许使用DWT_Delay()
__disable_irq ( ) ;
2026-02-24 16:05:17 +08:00
// HAL_GPIO_WritePin(Power1_GPIO_Port, Power1_Pin, GPIO_PIN_SET);//使能24V电源
// HAL_GPIO_WritePin(Power2_GPIO_Port, Power2_Pin, GPIO_PIN_SET);//使能24V电源
// HAL_GPIO_WritePin(Power_5V_EN_GPIO_Port, Power_5V_EN_Pin, GPIO_PIN_SET);//使能5V电源
2025-11-16 17:19:14 +08:00
BSPInit ( ) ;
2026-07-14 21:56:46 +08:00
if ( RemoteControlInit ( & huart5 ) = = NULL )
RobotMode = SYS_ERROR_OCCURRED ;
2025-11-16 17:19:14 +08:00
# if defined(ONE_BOARD) || defined(GIMBAL_BOARD)
RobotCMDInit ( ) ;
// GimbalInit();
// ShootInit();
# endif
# if defined(ONE_BOARD) || defined(CHASSIS_BOARD)
ChassisInit ( ) ;
# endif
// OSTaskInit(); // 创建基础任务
// 初始化完成,开启中断
__enable_irq ( ) ;
}
// void RobotTask()
// {
// #if defined(ONE_BOARD) || defined(GIMBAL_BOARD)
// RobotCMDTask();
// // GimbalTask();
// // ShootTask();
// #endif
// #if defined(ONE_BOARD) || defined(CHASSIS_BOARD)
// ChassisTask();
// #endif
// }