|
OpenLcbCLib 1.0 Alpha
OpenSource C Library to create OpenLcb/Lcc Nodes
|
Callback interface for config memory reads. Datagram ACK and config_memory_read are REQUIRED; SNIP loaders and per-space handlers are optional. More...
Data Fields | |
| void(* | load_datagram_received_ok_message )(openlcb_statemachine_info_t *statemachine_info, uint16_t reply_pending_time_in_seconds) |
| Build Datagram Received OK with Reply Pending (always set) and timeout. REQUIRED. | |
| void(* | load_datagram_received_rejected_message )(openlcb_statemachine_info_t *statemachine_info, uint16_t return_code) |
| Build Datagram Rejected with error code. REQUIRED. | |
| uint16_t(* | config_memory_read )(openlcb_node_t *openlcb_node, uint32_t address, uint16_t count, configuration_memory_buffer_t *buffer) |
| Read bytes from config memory into buffer. Returns bytes read. REQUIRED. | |
| uint16_t(* | snip_load_manufacturer_version_id )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load mfg version ID into payload. Optional (for 0xFC). | |
| uint16_t(* | snip_load_name )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load mfg name into payload. Optional (for 0xFC). | |
| uint16_t(* | snip_load_model )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load model into payload. Optional (for 0xFC). | |
| uint16_t(* | snip_load_hardware_version )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load HW version into payload. Optional (for 0xFC). | |
| uint16_t(* | snip_load_software_version )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load SW version into payload. Optional (for 0xFC). | |
| uint16_t(* | snip_load_user_version_id )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load user version ID into payload. Optional (for 0xFB). | |
| uint16_t(* | snip_load_user_name )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load user name into payload. Optional (for 0xFB). | |
| uint16_t(* | snip_load_user_description )(openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
| Load user description into payload. Optional (for 0xFB). | |
| void(* | read_request_config_definition_info )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom CDI (0xFF) read handler. Optional. | |
| void(* | read_request_all )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom All (0xFE) read handler. Optional. | |
| void(* | read_request_config_mem )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom Config (0xFD) read handler. Optional. | |
| void(* | read_request_acdi_manufacturer )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom ACDI-Mfg (0xFC) read handler. Optional. | |
| void(* | read_request_acdi_user )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom ACDI-User (0xFB) read handler. Optional. | |
| void(* | read_request_train_function_config_definition_info )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom Train FDI (0xFA) read handler. Optional. | |
| void(* | read_request_train_function_config_memory )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Custom Train Fn Config (0xF9) read handler. Optional. | |
| uint16_t(* | delayed_reply_time )(openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
| Override reply delay (return N means 2^N seconds). Optional (default 0). | |
Callback interface for config memory reads. Datagram ACK and config_memory_read are REQUIRED; SNIP loaders and per-space handlers are optional.
| void(* load_datagram_received_ok_message) (openlcb_statemachine_info_t *statemachine_info, uint16_t reply_pending_time_in_seconds) |
Build Datagram Received OK with Reply Pending (always set) and timeout. REQUIRED.
| void(* load_datagram_received_rejected_message) (openlcb_statemachine_info_t *statemachine_info, uint16_t return_code) |
Build Datagram Rejected with error code. REQUIRED.
| uint16_t(* config_memory_read) (openlcb_node_t *openlcb_node, uint32_t address, uint16_t count, configuration_memory_buffer_t *buffer) |
Read bytes from config memory into buffer. Returns bytes read. REQUIRED.
| uint16_t(* snip_load_manufacturer_version_id) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load mfg version ID into payload. Optional (for 0xFC).
| uint16_t(* snip_load_name) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load mfg name into payload. Optional (for 0xFC).
| uint16_t(* snip_load_model) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load model into payload. Optional (for 0xFC).
| uint16_t(* snip_load_hardware_version) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load HW version into payload. Optional (for 0xFC).
| uint16_t(* snip_load_software_version) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load SW version into payload. Optional (for 0xFC).
| uint16_t(* snip_load_user_version_id) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load user version ID into payload. Optional (for 0xFB).
| uint16_t(* snip_load_user_name) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load user name into payload. Optional (for 0xFB).
| uint16_t(* snip_load_user_description) (openlcb_node_t *openlcb_node, openlcb_msg_t *worker_msg, uint16_t payload_index, uint16_t requested_bytes) |
Load user description into payload. Optional (for 0xFB).
| void(* read_request_config_definition_info) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom CDI (0xFF) read handler. Optional.
| void(* read_request_all) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom All (0xFE) read handler. Optional.
| void(* read_request_config_mem) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom Config (0xFD) read handler. Optional.
| void(* read_request_acdi_manufacturer) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom ACDI-Mfg (0xFC) read handler. Optional.
| void(* read_request_acdi_user) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom ACDI-User (0xFB) read handler. Optional.
| void(* read_request_train_function_config_definition_info) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom Train FDI (0xFA) read handler. Optional.
| void(* read_request_train_function_config_memory) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Custom Train Fn Config (0xF9) read handler. Optional.
| uint16_t(* delayed_reply_time) (openlcb_statemachine_info_t *statemachine_info, config_mem_read_request_info_t *config_mem_read_request_info) |
Override reply delay (return N means 2^N seconds). Optional (default 0).
Copyright (c) 2026 Jim Kueneman all rights reserved. See the License