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.

97 lines
1.3 KiB

3 days ago
/*
* 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_ */