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
97 lines
1.3 KiB
2 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_ */
|