/* * fsm.h * * Created on: Oct 18, 2024 * Author: akeguo */ #ifndef INC_FSM_H_ #define INC_FSM_H_ #include "stdint.h" //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, } 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; void Fsm_Init(); #endif /* INC_FSM_H_ */