58 void (*lock_shared_resources)(void);
61 void (*unlock_shared_resources)(void);
71 uint8_t (*get_current_tick)(void);
84 bool (*openlcb_node_is_last)(uint8_t key);
87 uint16_t (*openlcb_node_get_count)(void);
142 bool (*handle_outgoing_openlcb_message)(void);
145 bool (*handle_try_reenumerate)(void);
148 bool (*handle_try_pop_next_incoming_openlcb_message)(void);
151 bool (*handle_try_enumerate_first_node)(void);
154 bool (*handle_try_enumerate_next_node)(void);
bool OpenLcbMainStatemachine_handle_try_enumerate_first_node(void)
Starts node enumeration from the first node. Returns true if processed.
Definition openlcb_main_statemachine.c:996
bool OpenLcbMainStatemachine_handle_try_reenumerate(void)
Re-enters the state processor if the enumerate flag is set.
Definition openlcb_main_statemachine.c:932
bool OpenLcbMainStatemachine_does_node_process_msg(openlcb_statemachine_info_t *statemachine_info)
Address filter. Returns true if the node should process this message.
Definition openlcb_main_statemachine.c:223
void OpenLcbMainStatemachine_load_interaction_rejected(openlcb_statemachine_info_t *statemachine_info)
Builds an Interaction Rejected response for the current incoming message. Internal use.
Definition openlcb_main_statemachine.c:275
bool OpenLcbMainStatemachine_handle_try_enumerate_next_node(void)
Advances to the next node; frees message at end. Returns true if processed.
Definition openlcb_main_statemachine.c:1040
void OpenLcbMainStatemachine_run(void)
Runs one non-blocking step of protocol processing.
Definition openlcb_main_statemachine.c:1081
void OpenLcbMainStatemachine_initialize(const interface_openlcb_main_statemachine_t *interface_openlcb_main_statemachine)
Stores the callback interface and prepares internal state.
Definition openlcb_main_statemachine.c:107
void OpenLcbMainStatemachine_process_main_statemachine(openlcb_statemachine_info_t *statemachine_info)
MTI dispatcher. Routes incoming message to the correct handler.
Definition openlcb_main_statemachine.c:337
bool OpenLcbMainStatemachine_handle_try_pop_next_incoming_openlcb_message(void)
Pops the next message from the FIFO (thread-safe). Returns true if popped.
Definition openlcb_main_statemachine.c:957
openlcb_statemachine_info_t * OpenLcbMainStatemachine_get_statemachine_info(void)
Returns pointer to internal static state machine info. For unit testing only — do not modify.
Definition openlcb_main_statemachine.c:1122
bool OpenLcbMainStatemachine_handle_outgoing_openlcb_message(void)
Tries to send the pending message. Returns true if one was pending.
Definition openlcb_main_statemachine.c:892
Dependency-injection interface for the main state machine. Required pointers must be non-NULL; option...
Definition openlcb_main_statemachine.h:51