/* * Handset_Status_Setting.h * * Created on: 2026年1月15日 * Author: bm673 */ #ifndef FSM_INC_HANDSET_STATUS_SETTING_H_ #define FSM_INC_HANDSET_STATUS_SETTING_H_ // 按键定义 typedef enum { EMERGENCE_STOP=0, // SE和SF同时按下触发急停 INPUT_NONE , // 无输入 // 摇杆方向 INPUT_ROCKER_STOP, // 摇杆停止 INPUT_ROCKER_FORWARD, // 摇杆前进 INPUT_ROCKER_BACKWARD, // 摇杆后退 INPUT_ROCKER_TURN_LEFT, // 摇杆左转 INPUT_ROCKER_TURN_RIGHT, // 摇杆右转 // 按键 INPUT_KEY_LANE_CHANGE_UP, // CH4_SA = -1000 换道上 INPUT_KEY_LANE_CHANGE_DOWN, // CH4_SA = 1000 换道下 INPUT_KEY_FORWARD_CRUISE, // CH5_SB = -1000 前进巡航 INPUT_KEY_BACKWARD_CRUISE, // CH5_SB = 1000 后退巡航 INPUT_KEY_AUTO_WORK_UP, // CH7_SD = -1000 自动作业上 INPUT_KEY_AUTO_WORK_DOWN, // CH7_SD = 1000 自动作业下 INPUT_KEY_AUTO_WELD, // CH6_SC = -1000 焊缝跟踪 //摆臂 INPUT_ROCKER_SWING, //动摆臂了 KEY_COUNT, // 输入总数 } InputEvent; // 主状态枚举,串口状态定义 typedef enum { Serial_Mode_Config, Action_Execute, Action_Shut_down, MAIN_STATE_COUNT } MainState; // 机器人模式枚举 typedef enum { Halt_Mode = 0, Manual_Mode, Horizontal_Mode, Flat_Mode, Vertical_Mode_Left, Vertical_Mode_Right, Regional_Horizontal_Automatic_Task, Regional_Flat_Automatic_Task, MODE_COUNT // 模式总数 } Robot_Mode; // IO状态枚举 typedef enum { IO_STATE_NONE, IO_STATE_RISE, IO_STATE_DESCEND } IO_State; // 函数声明 Robot_Mode RobotRockerState(void); InputEvent RemoteControl_GetKeyIndex(Robot_Mode current_mode); void PV_control(void); void IV_control(void); IO_State GetIOState(void); #endif /* FSM_INC_HANDSET_STATUS_SETTING_H_ */