CANAL – CAN Abstraction Layer 0.1.0 Released

The software package for the lowest layer in the VSCP (Very Simple Control Protocol) has been released in an initial version.


VSCP protocol, a very simple and free protocol for SOHO automation tasks. The protocol is so easy that everyone can grasp the idea behind it in a few minutes. Therefore it’s also very easy to construct and use VSCP aware modules and components/nodes just start up and then serve the control solution without any fuzz.


The protocol is free and is not designed to conquer the world and every Small Office and HOme. It is constructed just because its fun to make tiny little things work together… CANAL the CAN Abstraction Layer is a model to handle CAN devices and is the lowest level software for the VSCP suite.


CANAL is the lower layer for a home automation protocol VSCP (Very Simple Control Protocol) which uses CAN based nodes. I built it as two separate solutions just to make the CANAL stuff useful also for other CAN tasks.


CANAL stands for CAN Abstraction Layer. It defines a message format and some function calls. http://prdownloads.sourceforge.net/can/canal_spec.pdf?download Nothing fancy just some common keep it simple stupid stuff.


On top of this I have build some drivers. The can232 driver for the Lawicel adapter is a typical sample of this but there will be others for Vector and OMK (OCERA project) and others. There will also be some simulation devices using RS-232, UDP and TCP. The good thing here is that you now can use one programmatic interface to them all. Anyway I think that is good. You can therefore build applications that work for different hardware. A typical example of this is the canalDiagnostic app that can work directly to any available device. Send messages, receive messages, send bursts and so on.


On top of this is a daemon/service built. This works much as an ethernet hub. On one side there is a canal interface for clients and on the other side is a canal interface for drivers. You tell it which drivers to load at start up. A client now can connect to the daemon send a message and it will be sent to all other clients and to all devices. The typical use is for simulation. Develop your nodes as clients in the early development stages and debug and simulate the behavior of your control situation. Deploy peace by piece (client by client) to the real net.


If that is to much use it as a logger for your net. The loggerWnd and canalDiagnostic app let you view the traffic on your net. The footprint of the daemon is quite small.


The license or the daemon and the applications are GNU GPL meaning source will be available, others must make source available for changes enhancements done around it. For drivers, classes and interfaces the GNU LGPL license is used. You can therefore use the later more freely in “protected” applications.


The VSCP software will follow this release and be release in the in a near future.

Be the first to comment on "CANAL – CAN Abstraction Layer 0.1.0 Released"

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.