江南摆臂机器人app
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.
 
 

85 lines
1.3 KiB

/*
* 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_ */