1
The CanFestival CANopen stack manual.
2
CanFestival v3.0 Manual
1 - Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1) The CanFestival project . . . . . . . . . . . . . . . . . 4
1.2) What is CANopen . . . . . . . . . . . . . . . . . . . . 4
2 - CanFestival Features . . . . . . . . . . . . . . . . . . . . . . . 4
2.1) Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2) Multi-Platform . . . . . . . . . . . . . . . . . . . . . . 5
2.3) CANopen standard conformance . . . . . . . . . . . . . 5
3 - How to start . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1) Host requirements . . . . . . . . . . . . . . . . . . . . 6
3.2) How to get CanFestival . . . . . . . . . . . . . . . . . . 7
4 - Understanding Canfestival . . . . . . . . . . . . . . . . . . . . 7
4.1) CanFestival Project tree layout . . . . . . . . . . . . . 7
4.2) Implement CanFestival in your application . . . . . . . 8
4.3) CanFestival CAN interfaces . . . . . . . . . . . . . . . 8
4.4) CanFestival event scheduling . . . . . . . . . . . . . . . 9
5 - Linux Target . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1) Linux Compilation and installation . . . . . . . . . . . 10
5.2) Testing your CanFestival installation . . . . . . . . . . 13
6 - Windows Targets . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.1) Object Dictionary Editor GUI installation. . . . . . . . 14
6.2) CYGWIN . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3) Visual Studio C++ . . . . . . . . . . . . . . . . . . . . 16
6.4) MSYS . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7 - Motorola HCS12 . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1) Running a HCS12 node . . . . . . . . . . . . . . . . . . 19
8 - Example and test program: . . . . . . . . . . . . . . . . . . . 20
8.1) CANOpenShell . . . . . . . . . . . . . . . . . . . . . . 20
8.2) TestMasterSlave . . . . . . . . . . . . . . . . . . . . . . 22
8.3) gene_SYNC_HCS12 : . . . . . . . . . . . . . . . . . . 23
8.4) kerneltest : . . . . . . . . . . . . . . . . . . . . . . . . 23
8.5) TestMasterMicroMod . . . . . . . . . . . . . . . . . . 24
3
4
CANFESTIVAL V3.0 MANUAL
8.6) TestMasterSlaveLSS . . . . . . . . . . . . . . . . . . . 25
8.7) FastScan . . . . . . . . . . . . . . . . . . . . . . . . . . 26
9 - Developing a new node . . . . . . . . . . . . . . . . . . . . . . 26
9.1) Using Dictionary Editor GUI . . . . . . . . . . . . . . 27
9.2) Generating the object Dictionary . . . . . . . . . . . . 33
10 - FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.1) General . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.2) LINUX . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.3) Win32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.4) HCS12 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11 - Documentation resources . . . . . . . . . . . . . . . . . . . . . 39
11.1) CIA : Can in Automation . . . . . . . . . . . . . . . . 39
11.2) Resources and training in CANopen . . . . . . . . . . 39
11.3) Elektronikladen HCS12 T -board . . . . . . . . . . . . 39
11.4) Gnu gcc compiler for HC12 . . . . . . . . . . . . . . . 39
11.5) Motorola documentation on HC12 . . . . . . . . . . . 39
11.6) Lauterbach debugger for HC12 . . . . . . . . . . . . . 39
11.7) Python language . . . . . . . . . . . . . . . . . . . . . 39
12 - About the project . . . . . . . . . . . . . . . . . . . . . . . . . 40
12.1) Contributors . . . . . . . . . . . . . . . . . . . . . . . 40
12.2) Getting support . . . . . . . . . . . . . . . . . . . . . . 41
12.3) Contributing . . . . . . . . . . . . . . . . . . . . . . . 41
12.4) License . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1 -. INTRODUCTION
5
1 - Introduction
CanFestival is an OpenSource (LGPL and GPL) CANopen framework.
1.1) The CanFestival project
This project, initiated by Edouard TISSERANT in 2001, has grown thanks
to Francis DUPIN and other contributors.
Today, CanFestival focuses on providing an ANSI-C platform independent
CANopen stack that can be implemented as master or slave nodes on PCs,
Real-time IPCs, and Microcontrollers.
CanFestival is a project supported by Lolitech.
1.2) What is CANopen
CANopen is a CAN based high level protocol. It denes some protocols to :
1. Congure a CAN network.
2. Transmit data to a specic node or in broadcast.
3. Administrate the network. For example detecting a not responding
node.
The documentation can be found on the CAN in Automation website :
http://www.can-cia.de/canopen
The most important document about CANopen is the normative CiA
Draft Standard 301, version 4.02. You can now download the specication
from the CAN in Automation website at no cost.
To continue reading this document, let us assume that you have read
some papers introducing CANopen .
2 - CanFestival Features
2.1) Tools
The CANopen library is coming with some tools :
1. Object Dictionary editor GUI. WxPython Model-View-Controler based
GUI, that helps a lot in generating object dictionary source code for
each node.