OpenLCB C/C++ Prototypes

This is the index page of the OpenLCB™ C/C++ prototypes directory. This directory contains two OpenLCB prototype library implementations, and a number of projects that use one or the other of them. These are intended to run on a range of systems, from small stand-alone devices through PC-class machines.

Because of the requirements of the Arduino IDE, which doesn't have a “project” concept, we're forced into a somewhat odd directory structure. This directory contains three separate things:

Useful Sketches

The Arduino is a convenient hardware platform for OpenLCB hobbyists. We provide a number of Arduino “sketches”, complete software loads for the Arduino hardware for various kinds of OpenLCB nodes. These require release 1.0 or later of the Arduino IDE.

To use these, start the Arduino IDE and open 'Arduino-->Preferences'. Change the sketch directory to be 'OpenLCB/trunk/prototypes/C' or wherever you have placed this directory. Close the IDE and reopen it. You should now be able to see the sketches in 'Files-->Sketchbook'.

Standalone Compilation

This directory contains Makefiles and test scaffolding to directly compile (some of) the prototype code, run it, and compare it to expected results. Over time, this set of tests is growing into an important regression test of all the implementations. To compile and run, do:


on the command line. This builds (some of) the example Arduino sketches in the current directory, thereby ensuring they compile. It then compiles the OpenLCB library. Finally, it tests the Olcb* library by invoking make in the OlcbStarLibraries directory, which in turn builds all the sample sketches and runs test routines on the code.

Getting the Code

The content of this development area, including code, documents and web pages, is kept in the OpenLCB SVN repository in the “trunk/prototypes/C” directory. To check it out, please do:

svn co C

For more information on the SVN source code management tool, please see the SVN website and the online SVN book.

This web site contains trademarks and copyrighted information. Please see the Licensing page.

This is SVN $Revision: 3111 $ of 08/16/09.