MultiCAN @ BESSY - Information and Download

site map site map

This page provides access to the MultiCAN software

You will find

-- Prerequisites for running MultiCAN

Collaboration Agreement:
MultiCAN is not an integral part of EPICS. In order to use it, your institution will have to sign a contract of collaboration with BESSY. (Which looks a lot like the EPICS contract.) Please contact Joachim Rahn for further details.
CAN Interface (VME):
MultiCAN includes a driver for the VCAN 2 card manufectured by esd (Hannover, Germany). BESSY will support esd's VCAN 4 and VCAN 6 cards as soon as they are available. There is a well-defined driver interface, so writing and including drivers for other VME hardware is possible. See the driver manual for more details.
Short Delays (almLib):
CAL (and the LowCAL subset in MultiCAN) defines a feature called inhibit time to slow down CAN requests for slow nodes. To implement this feature MultiCAN uses almLib, a strongly CPU hardware dependent short term delay library developed at BESSY. This library is running on the Motorola MVME 162 board only (uses a free timer on the MCChip). However, there is a debug flag to compile MultiCAN for use without the almLib, i.e. without the inhibit time feature.
A port of this library for PowerPC boards (Motorola series 2100, 2400) will be available soon.
Debug Message Logger:
MultiCAN uses a small Debug Message Logger system developed at BESSY.
The current version of MultiCAN EPICS supports the locally developed maiRecord which is a first workaround to support array type variables.
The current version of MultiCAN EPICS also supports the locally developed hwLowcalRecord which supports array type variables, and offers enhanced configuration options.
VxWorks and EPICS Versions:
MultiCAN is running on the BESSY production system using EPICS Base R3.13.9 and vxWorks 5.4.2 (Tornado 2.0.2) on Motorola MVME 162 boards.

-- Downloading the latest versions

Core part

Revision 0.8.8 (29 Mar 2004; 888KB): MultiCAN core and protocol library
Revision 0.9.2 (29 Mar 2004; 22KB): EPICS support library (device and driver support)
Revision 0.9.2 (29 Mar 2004; 13KB): short time delay library for Motorola MVME 162
Revision 1.2 (08 Sep 1999; 3KB): debug message system

Additional record and device supports to be used with MultiCAN

Revision 1.0 (29 Mar 2004; 40KB): hwLowcalRecord (record and LowCAL device support)
Revision 1.1 (02 Apr 2004; 27KB): devHwClient (generic soft device support for hw records)
Revision 1.1 (02 Apr 2004; 5KB) maiRecord (record support)
Revision 1.1 (02 Apr 2004; 2KB): maiRecord (soft device support)

-- Older versions and patches

Available revisions: 0.8.4 - 0.8.5 - 0.8.6 - 0.8.7
Available revisions: 0.8 - 0.9
Available revisions: 0.9 - 0.9.1
Available revisions: 1.0
Available revisions: 1.1

-- Release Notes

0.8.5 -> 0.8.6:
  • Compiles with EPICS base 3.13.0.beta11 / 3.13.0.beta12 / 3.13.1
  • Supports SET_ALM_USE=false to compile without almLib
0.8.6 -> 0.8.7:
  • Compiles with EPICS base
  • Compiles with Tornado 1.0.1
0.8.7 -> 0.8.8:
  • Compiles with EPICS base 3.13.9
  • Compiles with Tornado 2.0.2
  • Minor bug fix in SCI part
0.9 -> 0.9.1:
  • Compiles with Tornado 1.0.1
0.9.1 -> 0.9.2:
  • Compiles with Tornado 2.0.2
  • Fix for race condition bug that appeared in T2.0.2
1.1 -> 1.2:
  • Compiles with Tornado 1.0.1 and 2.0.2

-- Additional information


The source code has the form of makeBaseApp modules. The most appropriate way to compile the package is to expand the modules into some share directory, add the modules' names to the top Makefile and 'make'.

Examples for EPICS databases

You may download a small tar file that contains a sample EPICS database (CapFast generated) plus MEDM screens for a power supply connected via MultiCAN and an EuKontroll ADA card with embedded controller.

Mailing list for announcements

Is still to be set up. Contact Ralph Lange to increase this project's priority.

Bug reports / error tracking

Contact our Gnats Administrator to learn about how to enter MultiCAN problem reports into BESSY's error tracking system (based on GNU's GNATS).

Last modified: Fri Apr 2 16:06:17 2004   Maintained by: Ralph Lange <>