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.
86 lines
1.3 KiB
86 lines
1.3 KiB
|
3 weeks ago
|
/*
|
||
|
|
* fsm.h
|
||
|
|
*
|
||
|
|
* Created on: Oct 18, 2024
|
||
|
|
* Author: akeguo
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef INC_FSM_H_
|
||
|
|
#define INC_FSM_H_
|
||
|
|
#include "stdint.h"
|
||
|
|
|
||
|
|
|
||
|
|
extern double Error_Cont_Thresh;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
void Move_Horizontal_Vertical_Task_Backwards_Do_Backward();
|
||
|
|
void Move_Horizontal_Vertical_Task_Forwards_Do_Forwards();
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
typedef enum _MoveSTATE_t
|
||
|
|
{
|
||
|
|
Move_HALT=0,//停止
|
||
|
|
Move_Forwards,//前进
|
||
|
|
Move_Backwards,//后退
|
||
|
|
Move_TurnLeft,//左转
|
||
|
|
Move_TurnRight,//右转
|
||
|
|
Move_Vertical_Task_Forwards,//竖直方向前进 保持竖直运行
|
||
|
|
Move_Vertical_Task_Backwards,//竖直方向后退前进 保持竖直运行
|
||
|
|
Move_Horizontal_Task_Forwards,//水平方向前进,保持水平方向
|
||
|
|
Move_Horizontal_Task_Backwards,//水平方向后退,保持水平方向
|
||
|
|
} MoveSTATE_t;
|
||
|
|
|
||
|
|
typedef enum _SwingSTATE_t
|
||
|
|
{
|
||
|
|
Swing_Halt = 0,
|
||
|
|
Swing_Left = 1,
|
||
|
|
Swing_Right = 2,
|
||
|
|
Swing_Home=3,
|
||
|
|
|
||
|
|
} SwingSTATE_t;
|
||
|
|
|
||
|
|
typedef struct _transition_t
|
||
|
|
{
|
||
|
|
int State; //状态
|
||
|
|
void (*robotRun)(void); //执行相关动作
|
||
|
|
} transition_t;
|
||
|
|
|
||
|
|
typedef enum _PushRodSTATE_t
|
||
|
|
{
|
||
|
|
PushRod_HALT = 0,
|
||
|
|
PushRod_UP = 1,
|
||
|
|
PushRod_Down = 2,
|
||
|
|
} PushRod_STATE_t;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
extern MoveSTATE_t CurrentMoveState;
|
||
|
|
extern char is_upper_computer_take_over_control;
|
||
|
|
extern char Switch_Off_Flag;
|
||
|
|
|
||
|
|
void GF_Dispatch();
|
||
|
|
void action_perfrom();
|
||
|
|
void Fsm_Init();
|
||
|
|
#endif /* INC_FSM_H_ */
|