Dash Board

This page describes the status of the documentation of OpenLCB documentation of the protocol layers.

Green means an item is essentially complete and documented;

Teal means that it is substantially planned and documented, but not considered complete;

Orange means that it is only partially planned and/or documentation is poor.



General Docs

Specifics

Description / Link

Introductions

Overview

Overview

Technical Introduction

Technical Introduction – a deeper exploration

First Look

First Look – easy introduction.

Use Cases

Use Cases – common uses for the network.

Glossary

List

Glossary – of common terms.

Common Information

Doc

CommonInfo – conventions in the documentation.

DevKit

Quick Start

DevKit Quickstart – first use of the kit.

Tips / Connectors

Tips – connectors and programming

DevKit Io Events

Understanding DevKit – how to use it.

Hex_file

Hexfile – latest firmware

Type Allocations

MTI

MTIAllocations-- low-level message types

Events

Well Known Event ID Allocations

Datagrams

Datagram Protocols Allocations

Streams

Stream Content Type Allocations





Hardware

Specifics

Description

Status

Progress

Atmel AVR

Arduino

Silicon Railway's LEDuino – Arduino compatible ATMega328 with on board MCP2515 CAN controller.

Commercial

Out of Production

RailStars' Io:duino -- Arduino compatible AT90CAN128 with built-in CAN.

Commercial

Available

Other

Railstars' IoAT90CAN128, included in OpenLCB / NMRAnet Developer's and Early Adopter's Development Kit.

Commercial

Available
HW1.0/SW1.1

TCH Technology
CAN/USB
32-Consumer Comprehensive Guide Manual
32-Producer
24-Consumer-16-Produce
HW ver 1.01; SW ver 0.6.4

Commercial

Available

Microchip

PIC18F

MERG set of CAN boards.

Club

Available

dsPIC

Jim Kueneman
LCBricks DCC Comand Station and Xpressnet Bridge

Prototype

In Development

PIC24

RR-CirKits Control Point

Commercial

In Development

ARM



Prototype

In Development






Software

Specifics

Description

Status

Passes All Tests

C/C++

OlcbBasicNode

Code Base and Firmware

Cutting Edge

YES

Io / Io:duino

Independent library and firmware

Cutting Edge

YES

Io:duino

Independent library and Firmware

Cutting Edge

YES

MERG

Library and Firmware

In Use

YES

mikroPascal

Jim Kueneman

Independent library and LCBrick Firmware

Cutting Edge

YES

Python

Test Suite

Test Suite

Cutting Edge

n/a

Objective C

IOS / iPhone / iPad

Code base

In Use


Java

JMRI

OpenLCB / NMRAnet support

Cutting Edge



Java Applications

Varied, see:

In Use







Protocols

Specifics

Description

Progress

Adopted Date
(Estimated Date)

General Information


Discussion of OpenLCB documenting standards and usage. GenCommonInfoTN.pdf

ACCEPTED

2012.06.15

Glossary


Definitions of common terms used in this documentation. GenGlossaryTN.pdf

ACCEPTED

2012.06.15

Physical Interface

CAN Physical Layer

Description of connectors and electrical standards, including power, for physically connecting nodes together. CanPhysicalS.pdf and CanPhysicalTN.pdf

ACCEPTED

2012.06.11

Data Link LayerTechNote

General

Low level construction of messages.


Unique Node Identifiers

GenUniqueIdS.pdf and GenUniqueIdTN.pdf

ACCEPTED

2012.07.22

CAN Frame

CanFrameTransferS.pdf and CanFrameTransferTN.pdf

ACCEPTED

2012.11.30

TCP-Segment

TcpSegmentTransferS and TcpSegmentTransferTN

IN REVIEW

(2012.06.25)

Message / Network Layer

General Message Network

GenMessageNetworkWN.pdf

IN REVIEW

Message Type Indicator

Encoding of Message Type Indicators, including General and adaptation to the CAN transport.

MtiAllocations.pdf

IN REVIEW

CAN Message Network

Protocol specialized to CAN.

Standard and

See: GenMessageNetworkWN.pdf

IN DEV

TCP Message Network

Protocol specialized to TCP.

See: GenMessageNetworkWN.pdf

IN REVIEW

Event Transport

General

Fixed length identifiers that can propagate from multiple source nodes to multiple destination nodes. These are typically used to announce that something of interest has happened on the layouts so that controlled devices can respond. Standard and TechNote
Well Known Event ID Allocations

ACCEPTED

2013.02.01

Datagram Transport

General

Move up to 72 bytes efficiently from a source node to a specific
target node.
Standard and TechNote


Datagram Protocols Allocations

ACCEPTED

2013.02.01

Stream Transport

General

An efficient way to move a large, variable number of bytes from one node to another. Standard and TechNote


Stream Content Type Allocations

IN DEV

CAN Stream Transport

Adaptation to CAN, including fragmentation and defragmentation.
Standard and TechNote

IN DEV





App Layer

Node Identification and Configuration

CDI Configuration Definition Information

Information for self-discovery and description of node.

Standard and TechNote

IN REVIEW

ACDI Abreviated Configuration Description Information

Allows simplified access to the configuration description.
Standard and TechNote

IN REVIEW

SNIP Simple Node Information Protocol

Allows simplified access to a node's common information.
Standard and TechNote

IN REVIEW

MCP Memory Configuration Protocol

Reading and writing from node memory in terms of overlapping memory spaces. Standard and TechNote

IN REVIEW

PIP Protocol Identification Protocol

Allows a node to determine another node's capabilities, which is reflected by the protocols it understands. Standard and TechNote

ACCEPTED
2012.07.22

Ident Method

Instruct nodes to physically identify itself.
Dev Note

IN DEV


Reservation

Reserves a node, so that it can be updated.







Button Protocol




Remote Button

Allow remote control of on node buttons.
DevNote

IN DEV

Producer Consumer Protocol

Sending, classification, and documenting of events. DevNote

IN DEV

Teaching/Learning

DevNote1, DevNote2, DevNote3

IN DEV

Blue/Gold

Simple pushbutton node administration.






















Administration

Description and Links

Status

Unique Node IDs

Formatted tables

Tables

Active

Single table

Table

Active

XML listing

Listing

Active

Request a Range

Individuals, groups, and manufacturers can request a range of node IDs. They are then responsible for these and their subsequent distribution.

Request Unique Node ID Range

Active