feat: 新增自定义事件队列的初始化方式
This commit is contained in:
28
fsm.c
28
fsm.c
@@ -1,4 +1,30 @@
|
||||
//
|
||||
// Created by Hydro on 2026/4/21.
|
||||
//
|
||||
#include "fsm.h"
|
||||
#include "fsm.h"
|
||||
fsm_result_e
|
||||
fsm_init_with_queue (fsm_handle_t *handle_ptr,
|
||||
const fsm_event_queue_init event_queue_init,
|
||||
const fsm_event_queue_put event_queue_put,
|
||||
const fsm_event_queue_get event_queue_get)
|
||||
{
|
||||
fsm_result_e result = FSM_OK;
|
||||
do
|
||||
{
|
||||
if (!(handle_ptr && event_queue_init && event_queue_put
|
||||
&& event_queue_get))
|
||||
{
|
||||
result = FSM_FAIL;
|
||||
break;
|
||||
}
|
||||
handle_ptr->event_queue_get = event_queue_get;
|
||||
handle_ptr->event_queue_put = event_queue_put;
|
||||
handle_ptr->event_queue_init = event_queue_init;
|
||||
|
||||
result = handle_ptr->event_queue_init(handle_ptr->event_queue_handle,
|
||||
handle_ptr->event_queue,
|
||||
EVENT_QUEUE_LEN
|
||||
* sizeof(fsm_event_t));
|
||||
} while (0);
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user