Overview

PDF Manual

Download PDF manual from repository.

LGPL and GPL licencing

Runtime is LGPL Licenced

Being LGPL, CanFestival runtime library can be linked with any code, proprietary or not. Bindings are very simple and can theoretically be adapted to any target or CAN interface. When an application is linked with CanFestival, the library use OS timers and CAN interfaces. CAN interface can be loaded dynamically.

Tools are GPL licenced

CanFestival provide some GUI and command line tools that help in the process of creating a new CanOpen node and edit Object Dictionary, for Master and Slave.

Object Dictionary editor generates C code based on your CANopen object dictionary description. Of course, generated C code is not covered by GPL or LGPL.

Tools

Objdictedit, Object Dictionary editor

Code generation feature of object dictionary editor can also be used from a command line interface.

python objdictgen/objdictgen.py Node.od Node.c

CanFestival natively supports Linux , Xenomai and Win32 operating systems. See Supported devices for more details.

CANopen Shell

Command line interface to do various operations on a CANopen network, either as Slave or Master node. Commands can be passed by command line and through stdin.

CiA Specs

Application Layer and Communication Profile DS-301

Framework for CANopen Managers and Programmable CANopen Devices DS-302

Device profiles DS-4xx

Supported devices

Is my stuff supported?

CanFestival CANopen library comes with support for:

  • most commonly used CAN interfaces available on both Linux and Windows
  • bare metal uC support (without OS) illustrated with AVR and 68HCS12 support.
  • This table tries to represent what works and don't work in latest code tree.

    okNo bug reported since last success claim.
    brokenImplementation proven bugged, contact specific port maintainer for more.
     Non applicable

    CAN deviceLinuxWin32µC
    VanillaXenomaiRTAIVC++mingwCygwin
    SocketCanokok     
    Peak Systemokokokokokok
    can4linuxok     
    CAN-mVCCM   ok  
    LinCANok     
    IXXAT   ok  
    VScomok  ok  
    Anagateok  okokok
    Kvazer   broken  
    Unix pipesok    ok
    Serialok     
    Motorola HCS12 broken
    AVR ok