Appendix A — MTI Quick Reference

This appendix lists all Message Type Indicator (MTI) values defined in openlcb_defines.h, grouped by protocol area. The MTI is a 16-bit value that identifies the message type, addressing mode, and priority.

A.1 MTI Bit Field Layout

The 16-bit MTI encodes several flags:

BitsMaskFieldMeaning
120x01000Stream/Datagram1 = Stream or Datagram type
11-100x00C00Priority00 = highest, 11 = lowest
40x00010Simple Protocol1 = Simple Node variant
30x00008Dest Address Present1 = addressed message
20x00004Event ID Present1 = carries Event ID in payload
1-00x00003Priority ModifierFine-grained priority adjustment

A.2 Message Network Protocol

MTI ValueConstantDirAddrHandler ModuleCh
0x0100MTI_INITIALIZATION_COMPLETEOutGlobalopenlcb_login_statemachine9
0x0101MTI_INITIALIZATION_COMPLETE_SIMPLEOutGlobalopenlcb_login_statemachine9
0x0488MTI_VERIFY_NODE_ID_ADDRESSEDInAddressedprotocol_message_network12
0x0490MTI_VERIFY_NODE_ID_GLOBALInGlobalprotocol_message_network12
0x0170MTI_VERIFIED_NODE_IDOutGlobalprotocol_message_network12
0x0171MTI_VERIFIED_NODE_ID_SIMPLEOutGlobalprotocol_message_network12
0x0068MTI_OPTIONAL_INTERACTION_REJECTEDOutAddressedprotocol_message_network12
0x00A8MTI_TERMINATE_DUE_TO_ERRORBothAddressedprotocol_message_network12
0x0828MTI_PROTOCOL_SUPPORT_INQUIRYInAddressedprotocol_message_network12
0x0668MTI_PROTOCOL_SUPPORT_REPLYOutAddressedprotocol_message_network12

A.3 Event Transport Protocol

MTI ValueConstantDirAddrHandler ModuleCh
0x08F4MTI_CONSUMER_IDENTIFYInGlobalprotocol_event_transport13
0x04A4MTI_CONSUMER_RANGE_IDENTIFIEDOutGlobalprotocol_event_transport13
0x04C7MTI_CONSUMER_IDENTIFIED_UNKNOWNOutGlobalprotocol_event_transport13
0x04C4MTI_CONSUMER_IDENTIFIED_SETOutGlobalprotocol_event_transport13
0x04C5MTI_CONSUMER_IDENTIFIED_CLEAROutGlobalprotocol_event_transport13
0x04C6MTI_CONSUMER_IDENTIFIED_RESERVEDOutGlobalprotocol_event_transport13
0x0914MTI_PRODUCER_IDENTIFYInGlobalprotocol_event_transport13
0x0524MTI_PRODUCER_RANGE_IDENTIFIEDOutGlobalprotocol_event_transport13
0x0547MTI_PRODUCER_IDENTIFIED_UNKNOWNOutGlobalprotocol_event_transport13
0x0544MTI_PRODUCER_IDENTIFIED_SETOutGlobalprotocol_event_transport13
0x0545MTI_PRODUCER_IDENTIFIED_CLEAROutGlobalprotocol_event_transport13
0x0546MTI_PRODUCER_IDENTIFIED_RESERVEDOutGlobalprotocol_event_transport13
0x0968MTI_EVENTS_IDENTIFY_DESTInAddressedprotocol_event_transport13
0x0970MTI_EVENTS_IDENTIFYInGlobalprotocol_event_transport13
0x0594MTI_EVENT_LEARNInGlobalprotocol_event_transport13
0x05B4MTI_PC_EVENT_REPORTBothGlobalprotocol_event_transport13
0x0F14MTI_PC_EVENT_REPORT_WITH_PAYLOADBothGlobalprotocol_event_transport13

A.4 Simple Node Information Protocol (SNIP)

MTI ValueConstantDirAddrHandler ModuleCh
0x0DE8MTI_SIMPLE_NODE_INFO_REQUESTInAddressedprotocol_snip15
0x0A08MTI_SIMPLE_NODE_INFO_REPLYOutAddressedprotocol_snip15

A.5 Train Control Protocol

MTI ValueConstantDirAddrHandler ModuleCh
0x05EBMTI_TRAIN_PROTOCOLInAddressedprotocol_train_handler17
0x01E9MTI_TRAIN_REPLYOutAddressedprotocol_train_handler17
0x0DA8MTI_SIMPLE_TRAIN_INFO_REQUESTInAddressedprotocol_train_handler17
0x09C8MTI_SIMPLE_TRAIN_INFO_REPLYOutAddressedprotocol_train_handler17

A.6 Datagram Protocol

MTI ValueConstantDirAddrHandler ModuleCh
0x1C48MTI_DATAGRAMBothAddressedprotocol_datagram_handler14
0x0A28MTI_DATAGRAM_OK_REPLYOutAddressedprotocol_datagram_handler14
0x0A48MTI_DATAGRAM_REJECTED_REPLYOutAddressedprotocol_datagram_handler14

A.7 Stream Protocol

MTI ValueConstantDirAddrHandler ModuleCh
0x0CC8MTI_STREAM_INIT_REQUESTInAddressedNot yet implemented--
0x0868MTI_STREAM_INIT_REPLYOutAddressedNot yet implemented--
0x1F88MTI_STREAM_SENDBothAddressedNot yet implemented--
0x0888MTI_STREAM_PROCEEDBothAddressedNot yet implemented--
0x08A8MTI_STREAM_COMPLETEBothAddressedNot yet implemented--
Source Reference

All MTI constants are defined in openlcb_defines.h. The handler module column shows which .c file processes incoming messages with that MTI. "Not yet implemented" indicates the MTI constant is defined but no handler exists (the dispatcher will send OIR for these).

← Prev: Ch 28 — Porting to a Platform Next: Appendix B — CAN Frame Format →