|
OpenLcbCLib 1.0 Alpha
OpenSource C Library to create OpenLcb/Lcc Nodes
|
| Node Login State Machine States | CAN alias allocation sequence: CID → RID → AMD → Init Complete → Run |
| CAN Frame Format and Masks | CAN 29-bit extended identifier bit definitions and frame type codes |
| Message Network MTI Codes | Node initialization, identification, protocol discovery, and error reporting |
| Event Transport Protocol MTI Codes | Producer/Consumer event identification, learning, and PCER |
| Simple Node Information Protocol MTI Codes | SNIP request/reply for human-readable node identification |
| Train Protocol MTI Codes | Speed, direction, function, and consist control for train nodes |
| Stream Protocol MTI Codes | Bulk data streaming with flow control |
| Datagram Protocol MTI Codes | Reliable up-to-72-byte datagram transport with ACK/reject |
| Data Field Bit Masks and Values | Multi-frame indicator bits in the first data byte |
| MTI Bit Field Masks | Masks for priority, stream/datagram, dest address, and event presence |
| CAN Control Frame Identifiers | CID, RID, AMD, AME, AMR frames for alias allocation and mapping |
| CAN Identifier Field Masks | Extract fields from the CAN 29-bit extended identifier |
| Protocol Support Indicator Bits | 48-bit field returned in Protocol Support Reply |
| ▼Well-Known Event IDs | Standard-defined Event IDs: auto-routed (emergency), local, and DCC |
| Auto-Routed Well-Known Events | 0x0100000000xxxxxx — automatically forwarded by gateways |
| Non-Auto-Routed Well-Known Events | 0x0101xxxxxxxxxxxx — segment-local, not forwarded by gateways |
| OpenLCB Error Codes | Permanent (0x1xxx) and temporary (0x2xxx) error codes |
| Datagram Protocol Flags | Flag bits used in datagram protocol |
| Configuration Memory Protocol Commands | Datagram byte 0 = 0x20, byte 1 = command code |
| Configuration Memory Read Commands | Read command and reply codes for each address space encoding |
| Configuration Memory Read Stream Commands | Stream-based read commands for large transfers |
| Configuration Memory Write Commands | Write command codes and reply codes |
| Configuration Memory Write Under Mask Commands | Write commands that only modify specified bits |
| Configuration Memory Write Stream Commands | Stream-based write commands for large data transfers |
| Configuration Memory Operation Commands | General configuration memory operation commands |
| Configuration Memory Address Spaces | Well-known space identifiers (0xFF CDI through 0xEF Firmware) |
| ACDI Manufacturer Space Memory Layout | Space 0xFC: read-only manufacturer strings (version, name, model, hw, sw) |
| ACDI User Space Memory Layout | Space 0xFB: user-assignable name and description strings |
| Configuration Memory Reply Code Offsets | Add to command code: +0x10 = OK reply, +0x18 = FAIL reply |
| Configuration Options Bit Flags | Capability flags returned by Get Configuration Options |
| Configuration Write Length Flags | Flags for write length capabilities |
| Address Space Information Flags | Flags returned in Get Address Space Information reply |
| Node Enumeration Key Management | User keys (0-3) and internal keys (4-6) for independent node enumeration |
| Broadcast Time Protocol Event IDs | Clock IDs (upper 6 bytes) + time/date/year/rate/command (lower 2 bytes) |
| Train Control Protocol Defines | Instruction bytes and sub-commands for MTI_TRAIN_PROTOCOL / MTI_TRAIN_REPLY |
| User-Configurable Constants | Compile-time buffer depths, node limits, and event counts |
| Message Buffer Size Constants | Number of BASIC message buffers (16 bytes each) in the pool |
| Payload Buffer Type Definitions | Array typedefs for each message payload size |
| Payload Buffer Pool Arrays | Storage pools for each payload type |
Copyright (c) 2026 Jim Kueneman all rights reserved. See the License