/* * fsm.h * * Created on: Oct 18, 2024 * Author: akeguo */ #ifndef INC_FSM_H_ #define INC_FSM_H_ #include "stdint.h" #define Light 1 #define Out_Polish 2 #define Out_Lift_1 2 #define Out_Lift_2 3 #define Out_Spray 4 //typedef enum _STATE_t //{ // Manual = 0, // Auto, // Abnormal, // SetLaneChangeDistance, // SetBackwardsDistance, // LaneChangeMode, // Forwards, // Backwards, // TurnLeft, // TurnRight, // HALT //} STATE_t; typedef enum _MoveSTATE_t { Move_HALT=0, Move_Forwards, Move_Backwards, Move_TurnLeft, Move_TurnRight, Move_AutoForward, Move_AutoBackward, Move_ChgLeft, Move_ChgRight, Move_ChgUp, Move_ChgDown, Move_ChgFinish, Move_Emergency, } MoveSTATE_t; //设置 换道距离和设置后退距离 typedef enum _SetSTATE_t { OtherMode=0, SetLaneChangeDistance, SetBackwardsDistance, } SetSTATE_t; typedef enum _SwingSTATE_t { SwingHALT = 0, SwingLeft = 1, SwingRight = 2, SwingHome=3, } SwingSTATE_t; typedef enum _TiltSTATE_t { TiltHALT = 0, TiltUP = 1, TiltDown = 2, TiltHome=3, TiltCurrentModeDown=5 } TiltSTATE_t; typedef struct _transition_t { int State; //状态 void (*robotRun)(void); //执行相关动作 } transition_t; extern int32_t* RobotSpeed; extern int32_t JontSwingSpeed; extern int32_t JontTiltSpeed; extern int polish_Flag; void Fsm_Init(); #endif /* INC_FSM_H_ */