You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.9 KiB
73 lines
1.9 KiB
/*
|
|
* 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_ */
|
|
|