feat: 新增接口实现,基础功能完成

This commit is contained in:
赵天浩
2026-04-21 07:00:49 +08:00
parent 80e4dd2fc5
commit 1a2aeca518
2 changed files with 152 additions and 6 deletions

11
fsm.h
View File

@@ -46,9 +46,9 @@ struct qf_fsm_event
};
struct qf_fsm
{
uint16_t current_state;
uint16_t num_states;
fsm_state_t *current_state;
char *name;
uint16_t num_states;
fsm_state_t *p_state_list;
uint32_t num_trans;
fsm_transition_t *p_trans_list;
@@ -59,13 +59,14 @@ struct qf_fsm
fsm_event_queue_put event_queue_put;
fsm_event_queue_get event_queue_get;
};
fsm_result_e fsm_init(fsm_handle_t *handle_ptr);
fsm_result_e fsm_init(fsm_handle_t *handle_ptr, uint16_t init_state);
fsm_result_e fsm_init_with_queue(fsm_handle_t *handle_ptr,
uint16_t init_state,
fsm_event_queue_init event_queue_init,
fsm_event_queue_put event_queue_put,
fsm_event_queue_get event_queue_get);
fsm_result_e fsm_event_put(fsm_handle_t *handle_ptr, fsm_event_t *event);
fsm_result_e fsm_process_queue(fsm_handle_t *handle_ptr);
fsm_result_e fsm_dispatch(fsm_handle_t *handle_ptr, fsm_event_t *event);
uint16_t fsm_get_state(fsm_handle_t *h);
fsm_result_e fsm_dispatch(fsm_handle_t *handle_ptr, const fsm_event_t *event);
fsm_state_t *fsm_get_state(const fsm_handle_t *h);
#endif // QF_FSM_FSM_H