|
OpenLcbCLib 1.0 Alpha
OpenSource C Library to create OpenLcb/Lcc Nodes
|
Callback interface for memory-config write operations. More...
Data Fields | |
| void(* | load_datagram_received_ok_message )(openlcb_statemachine_info_t *statemachine_info, uint16_t reply_pending_time_in_seconds) |
| REQUIRED — Send Datagram Received OK with Reply Pending (always set) and timeout. | |
| void(* | load_datagram_received_rejected_message )(openlcb_statemachine_info_t *statemachine_info, uint16_t return_code) |
| REQUIRED — Send Datagram Received Rejected with error code. | |
| uint16_t(* | config_memory_write )(openlcb_node_t *openlcb_node, uint32_t address, uint16_t count, configuration_memory_buffer_t *buffer) |
| REQUIRED — Write bytes to config memory; returns bytes written. | |
| uint16_t(* | config_memory_read )(openlcb_node_t *openlcb_node, uint32_t address, uint16_t count, configuration_memory_buffer_t *buffer) |
| OPTIONAL — Read bytes from config memory; needed for write-under-mask read-modify-write. | |
| void(* | write_request_config_definition_info )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — CDI (0xFF) write handler (normally read-only). | |
| void(* | write_request_all )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — All (0xFE) write handler. | |
| void(* | write_request_config_mem )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — Config (0xFD) write handler. | |
| void(* | write_request_acdi_manufacturer )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — ACDI-Mfg (0xFC) write handler (normally read-only). | |
| void(* | write_request_acdi_user )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — ACDI-User (0xFB) write handler. | |
| void(* | write_request_train_function_config_definition_info )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — Train FDI (0xFA) write handler (normally read-only). | |
| void(* | write_request_train_function_config_memory )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — Train Fn Config (0xF9) write handler. | |
| void(* | write_request_firmware )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — Firmware (0xEF) write handler. | |
| uint16_t(* | delayed_reply_time )(openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
| Optional — Override reply delay (return N → 2^N seconds). Default 0. | |
| void(* | on_function_changed )(openlcb_node_t *openlcb_node, uint32_t fn_address, uint16_t fn_value) |
| Optional — Notifier fired when a train function changes via 0xF9 write. | |
Callback interface for memory-config write operations.
Required: load_datagram_received_ok_message, load_datagram_received_rejected_message, config_memory_write. All per-space handlers and delayed_reply_time are optional (NULL).
| void(* load_datagram_received_ok_message) (openlcb_statemachine_info_t *statemachine_info, uint16_t reply_pending_time_in_seconds) |
REQUIRED — Send Datagram Received OK with Reply Pending (always set) and timeout.
| void(* load_datagram_received_rejected_message) (openlcb_statemachine_info_t *statemachine_info, uint16_t return_code) |
REQUIRED — Send Datagram Received Rejected with error code.
| uint16_t(* config_memory_write) (openlcb_node_t *openlcb_node, uint32_t address, uint16_t count, configuration_memory_buffer_t *buffer) |
REQUIRED — Write bytes to config memory; returns bytes written.
| uint16_t(* config_memory_read) (openlcb_node_t *openlcb_node, uint32_t address, uint16_t count, configuration_memory_buffer_t *buffer) |
OPTIONAL — Read bytes from config memory; needed for write-under-mask read-modify-write.
| void(* write_request_config_definition_info) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — CDI (0xFF) write handler (normally read-only).
| void(* write_request_all) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — All (0xFE) write handler.
| void(* write_request_config_mem) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — Config (0xFD) write handler.
| void(* write_request_acdi_manufacturer) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — ACDI-Mfg (0xFC) write handler (normally read-only).
| void(* write_request_acdi_user) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — ACDI-User (0xFB) write handler.
| void(* write_request_train_function_config_definition_info) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — Train FDI (0xFA) write handler (normally read-only).
| void(* write_request_train_function_config_memory) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — Train Fn Config (0xF9) write handler.
| void(* write_request_firmware) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — Firmware (0xEF) write handler.
| uint16_t(* delayed_reply_time) (openlcb_statemachine_info_t *statemachine_info, config_mem_write_request_info_t *config_mem_write_request_info) |
Optional — Override reply delay (return N → 2^N seconds). Default 0.
| void(* on_function_changed) (openlcb_node_t *openlcb_node, uint32_t fn_address, uint16_t fn_value) |
Optional — Notifier fired when a train function changes via 0xF9 write.
Copyright (c) 2026 Jim Kueneman all rights reserved. See the License