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:
In the OlcbStarLibraries subdirectory is a low-level OpenLCB implementation meant for small, Arduino-class processors. This includes both libraries and sample programs that can be used with the Arduino IDE or independently. For more information, see that overview page.
This directory also contains C++ OpenLCB implementation in the libraries/OpenLCB directory, along with several sample programs. For more information, see that overview page.
This directory also contains several useful Arduino sketches that OpenLCB experimenters may find useful. These are described below.
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.
CAN2USBuino – lets you use an Arduino with CAN and USB hardware as a CAN-USB adapter with the GridConnect protocol.
CAN2EtherNetServer – lets you use an Arduino with CAN and Ethernet hardware as a CAN-Ethernet adapter with the GridConnect protocol.
IoBlink – tests a RailStars Io board, as in the OpenLCB Developer Kit, by flashing its LEDs
IoIoTesting1 – test and initialize a RailStars Io board, as in the OpenLCB Developer Kit
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'.
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.
The content of this development area, including code, documents and web pages, is kept in the OpenLCB SourceForge.net SVN repository in the “trunk/prototypes/C” directory. To check it out, please do:
svn co http://svn.code.sf.net/p/openlcb/svn/trunk/prototypes/C 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