165 void (*lock_shared_resources)(void);
168 void (*unlock_shared_resources)(void);
170#ifdef OPENLCB_COMPILE_MEMORY_CONFIGURATION
240#ifdef OPENLCB_COMPILE_FIRMWARE
279 void (*on_optional_interaction_rejected)(
openlcb_node_t *openlcb_node,
node_id_t source_node_id, uint16_t error_code, uint16_t rejected_mti);
284 void (*on_terminate_due_to_error)(
openlcb_node_t *openlcb_node,
node_id_t source_node_id, uint16_t error_code, uint16_t rejected_mti);
287 void (*on_100ms_timer)(void);
293#ifdef OPENLCB_COMPILE_EVENTS
347#ifdef OPENLCB_COMPILE_BROADCAST_TIME
379#ifdef OPENLCB_COMPILE_TRAIN
390 void (*on_train_speed_changed)(
openlcb_node_t *openlcb_node, uint16_t speed_float16);
393 void (*on_train_function_changed)(
openlcb_node_t *openlcb_node, uint32_t fn_address, uint16_t fn_value);
405 void (*on_train_controller_released)(
openlcb_node_t *openlcb_node);
424 void (*on_train_query_speeds_reply)(
openlcb_node_t *openlcb_node, uint16_t set_speed, uint8_t status, uint16_t commanded_speed, uint16_t actual_speed);
427 void (*on_train_query_function_reply)(
openlcb_node_t *openlcb_node, uint32_t fn_address, uint16_t fn_value);
431 void (*on_train_controller_assign_reply)(
openlcb_node_t *openlcb_node, uint8_t result,
node_id_t current_controller);
434 void (*on_train_controller_query_reply)(
openlcb_node_t *openlcb_node, uint8_t flags,
node_id_t controller_node_id);
437 void (*on_train_controller_changed_notify_reply)(
openlcb_node_t *openlcb_node, uint8_t result);
446 void (*on_train_listener_query_reply)(
openlcb_node_t *openlcb_node, uint8_t count, uint8_t index, uint8_t flags,
node_id_t node_id);
449 void (*on_train_reserve_reply)(
openlcb_node_t *openlcb_node, uint8_t result);
452 void (*on_train_heartbeat_request)(
openlcb_node_t *openlcb_node, uint32_t timeout_seconds);
456#if defined(OPENLCB_COMPILE_TRAIN) && defined(OPENLCB_COMPILE_TRAIN_SEARCH)
463 void (*on_train_search_matched)(
openlcb_node_t *openlcb_node, uint16_t search_address, uint8_t flags);
466 openlcb_node_t* (*on_train_search_no_match)(uint16_t search_address, uint8_t flags);