Overview

Developer tools

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.

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

Being LGPL, CanFestival runtime library can be linked with any code, proprietary or not. Bindings are very simqple 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.

At that time, CanFestival natively supportLinux and Win32 operating systems. See Supported platforms and CAN devices for more details.

Virtual DS-401 IO block (C++, wxWidgets)

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.

Runtime

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