/****************************************************************************** 版权所有 (C), 2018-2099, Radkil ****************************************************************************** 文 件 名 : BHBF.h 版 本 号 : 初稿 作 者 : radkil 生成日期 : 2026年6月8日 最近修改 : 功能描述 : BHBF.c 的头文件 修改历史 : 1.日 期 : 2026年6月8日 作 者 : radkil 修改内容 : 创建文件 ******************************************************************************/ /*----------------------------------------------* * 外部变量说明 * *----------------------------------------------*/ /*----------------------------------------------* * 外部函数原型说明 * *----------------------------------------------*/ /*----------------------------------------------* * 内部函数原型说明 * *----------------------------------------------*/ /*----------------------------------------------* * 全局变量 * *----------------------------------------------*/ /*----------------------------------------------* * 模块级变量 * *----------------------------------------------*/ /*----------------------------------------------* * 常量定义 * *----------------------------------------------*/ /*----------------------------------------------* * 宏定义 * *----------------------------------------------*/ #ifndef __BHBF_H__ #define __BHBF_H__ #ifdef __cplusplus #if __cplusplus extern "C"{ #endif #endif /* __cplusplus */ /*==============================================* * include header files * *----------------------------------------------*/ #include "drv_interface.h" #include "rd_time.h" #include "cmsis_os.h" #include /*==============================================* * constants or macros define * *----------------------------------------------*/ #define MODULE_NAME_RBCORE "RBcore" #define MODULE_NAME_MOTOR "motor" #define MODULE_NAME_CUSTOM "custom" #define MODULE_NAME_SENDIV "sendiv" #define MODULE_NAME_DAEMON "daemon" #define MODULE_NAME_TIMER "timer" typedef enum { CMD_SHOW_INFO, // 终端信息展示 CMD_STOP, // 机器人停止(建议各个控制硬件的模块都要实现) CMD_STRAIGHT_DRIVE, // 机器人直线行驶命令格式为BHBF_straight_drive_Cmd RESET_STRAIGHT_DRIVE, // CMD_STRAIGHT_DRIVE命令支持计时前进,这里重置计时 CMD_TURN_ANGLE, // 机器人转向目标角度(带PID) CMD_SEND_IV, // 发送IV GET_VEHICLE_SPEED, // 获取机器人速度(旋钮值) GET_VEHICLE_REAL_SPEED, // 获取机器人速度(电机回码) SET_VEHICLE_SPEED, // 设置速度 CMD_MOTOR_POWER_ENABLE, // 电机上电 CMD_MOTOR_POWER_DISABLE, // 电机失电 CMD_STOP_ALL, // 此命令统一调用机器人各个模块的CMD_STOP GET_PV, // 获取PV GET_MK32, // 获取MK32 GET_TL720D_ROLL, // 获取陀螺仪横滚角(IV显示) GET_MOTOR_FAULT_CODE, // 获取错误码(电机回码) GET_DAEMON_CODE, // 获取daemon错误码 GET_MOTOR_OK, // 获取电机初始化完毕 CMD_PAINTGUN, // 控制喷枪 CMD_STRAIGHT_DRIVE_FINISH, // CMD_STRAIGHT_DRIVE命令停止后回调 CMD_TURN_ANGLE_FINISH, // CMD_TURN_ANGLE命令停止后回调 CMD_STOP_AFTER_PAINTOFF, // 先关枪后停车 SET_STOP_OFF_PAINT, // 停车关枪CMD_STOP_AFTER_PAINTOFF标志位置1 RESET_PAINT, // 停车关枪CMD_STOP_AFTER_PAINTOFF逻辑中用于重置开枪状态 DAEMON_SET_MK32_SBUS, // 置位ComError_MK32_SBus DAEMON_SET_TL720D, // 置位ComError_TL720D DAEMON_SET_LEFT_MOTOR, // 置位ComError_LS_LeftMotor DAEMON_SET_RIGHT_MOTOR, // 置位ComError_LS_RightMotor DAEMON_SET_BUTTON_RESET, // 置位ComError_Remote_Button_Reset_State DAEMON_SET_MK32_SERIAL, // 置位ComError_MK32_Serial DAEMON_SET_MK32_UDP, // 置位ComError_MK32_UDP } BHBF_Cmd_e; #define THREAD_DEFAULT_STACK 4096 typedef struct { int m_iMode; //正数表示前进,负数表示倒退 int m_iAngle; //目标角度 int m_iTime; //行驶时间(单位毫秒)计时,负数表示一直行走 int m_iSpeed; //车速 } BHBF_straight_drive_Cmd; /*==============================================* * project-wide global variables * *----------------------------------------------*/ int32_t Get_BIT(int32_t* num,int32_t k); /*==============================================* * routines' or functions' implementations * *----------------------------------------------*/ #ifdef __cplusplus #if __cplusplus } #endif #endif /* __cplusplus */ #endif /* __BHBF_ROBOT_H__ */