doc/manual/en/manual.tex
author etisserant
Tue, 12 Feb 2008 15:38:54 +0100
changeset 393 05ad3ba0201d
parent 392 3788feef57e0
child 394 b8755668c9e2
permissions -rw-r--r--
Big cleanup in manual. Used Lyx for that.
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     1
%% LyX 1.5.1 created this file.  For more info, see http://www.lyx.org/.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     2
%% Do not edit unless you really know what you are doing.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     3
\documentclass[12pt,english,a4paper]{book}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
     4
\usepackage[T1]{fontenc}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     5
\usepackage[latin9]{inputenc}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     6
\setcounter{secnumdepth}{5}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     7
\setcounter{tocdepth}{3}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     8
\usepackage{graphicx}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
     9
\usepackage{amsfonts}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    10
\usepackage{textcomp}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    11
\usepackage{color}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    12
\usepackage{calc}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    13
\usepackage{longtable}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    14
\usepackage{hyperref}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    15
\usepackage{graphics}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    16
\DeclareGraphicsExtensions{.jpg}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    17
\DeclareGraphicsExtensions{.png}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    18
\hypersetup{colorlinks=true, linkcolor=blue, filecolor=blue, pagecolor=blue, urlcolor=blue}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    19
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    20
%%%%\%%%%%%%% titre, auteurs, date, etc...%%%%%%%%%%%%%%%%%%
249
d328d0d9b88e Some cleanup in latex manual
etisserant
parents: 211
diff changeset
    21
\title{\Huge The CanFestival CANOpen stack manual}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    22
\author{Edouard TISSERANT}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    23
\date{\today}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    24
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    25
\newcommand{\canopen}{CANopen }
392
3788feef57e0 Some typo fixes in the manual, thanks to Yegor Yefremov (VisionSystems)
etisserant
parents: 391
diff changeset
    26
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    27
\begin{document}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    28
{\centering\textsf{\huge The CanFestival \canopen stack manual.}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    29
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    30
\renewcommand{\contentsname}{CanFestival v3.0 Manual}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    31
\setcounter{tocdepth}{2} \tableofcontents{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    32
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    33
\clearpage{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    34
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    35
\section{Introduction}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    36
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    37
CanFestival is an OpenSource (LGPL and GPL) \canopen framework.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    38
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    39
\subsection{The CanFestival project}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    40
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    41
This project, initiated by Edouard TISSERANT in 2001, has grown thanks
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    42
to Francis DUPIN and other contributors.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    43
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    44
Today, CanFestival focuses on providing an ANSI-C platform independent
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    45
\canopen stack that can be implemented as master or slave nodes on
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    46
PCs, Real-time IPCs, and Microcontrollers.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    47
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    48
CanFestival is a project supported by Lolitech.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    49
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    50
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    51
\subsection{What is \canopen}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    52
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    53
CANopen is a CAN based high level protocol. It defines some protocols
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    54
to :
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    55
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    56
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    57
\item Configure a CAN network. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    58
\item Transmit data to a specific node or in broadcast. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    59
\item Administrate the network. For example detecting a not responding node. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    60
\end{enumerate}
392
3788feef57e0 Some typo fixes in the manual, thanks to Yegor Yefremov (VisionSystems)
etisserant
parents: 391
diff changeset
    61
The documentation can be found on the CAN in Automation website :
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    62
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    63
\href{http://www.can-cia.de/canopen}{http://www.can-cia.de/canopen}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    64
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    65
The most important document about \canopen is the normative CiA Draft
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    66
Standard 301, version 4.02. You can now download the specification
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    67
from the CAN in Automation website at no cost.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    68
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    69
To continue reading this document, let us assume that you have read
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    70
some papers introducing \canopen .
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    71
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    72
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    73
\section{CanFestival Features}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    74
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    75
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    76
\subsection{Tools }
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    77
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    78
The \canopen library is coming with some tools :
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    79
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    80
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    81
\item Object Dictionary editor GUI. WxPython Model-View-Controler based
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    82
GUI, that help a lot in generating object dictionary source code for
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    83
each node. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    84
\item A configure script, that let you chose compile time options such as
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    85
target CPU/HOST, CAN and TIMER drivers.\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    86
 This script has not been generated with autoconf, it has been made
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    87
keeping micro-controller target in mind. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    88
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    89
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    90
\subsection{Standard conformance}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    91
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    92
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    93
\subsubsection{Multi-Platform}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    94
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    95
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    96
\item Library source code is C-ANSI. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    97
\item Driver and examples coding conventions merely depend on target specific
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
    98
contributor/compiler. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
    99
\item Unix compatible interfaces and examples should compile and run on
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   100
any Unix system (tested on GNU/Linux and GNU/FreeBSD). 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   101
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   102
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   103
\subsubsection{\canopen conformance}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   104
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   105
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   106
\paragraph{DS-301}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   107
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   108
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   109
\item Should conform to DS301. V.4.02 13 february 2002. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   110
\item Master and Slave functionality implemented. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   111
\item Sending SYNC implemented. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   112
\item 1 SDO server per node. (update: more than one possible. To be more
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   113
tested) 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   114
\item Unlimited SDO client. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   115
\item SDO transmission mode : normal, expedited download and upload. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   116
\item Unlimited PDO receive. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   117
\item Unlimited PDO transmit. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   118
\item Object Data type implemented : 8, 16, 32 bits values, and fixed length
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   119
strings. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   120
\item Slave state full implemented. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   121
\item NMT to change slaves state implemented. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   122
\item PDO transmission mode : on request, every reception of 0 to n SYNC,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   123
on event. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   124
\item NMT Heartbeat implemented : A node can be either heartbeat producer
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   125
or receiver. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   126
\item NMT NodeGuard implemented : Not fully implemented. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   127
\item TIME (time Stamp) : Not implemented. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   128
\item EMCY (emergency objects) : Sending and reception of EMCY objectos
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   129
(without manufacturer specific error field). 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   130
\item PDO Mapping bit per bit implemented. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   131
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   132
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   133
\paragraph{DS-302}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   134
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   135
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   136
\item Concise DFC : implemented. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   137
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   138
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   139
\section{How to start}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   140
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   141
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   142
\subsection{Host requirements}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   143
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   144
What you need on your development workstation.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   145
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   146
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   147
\subsubsection{Object Dictionary Editor GUI}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   148
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   149
\begin{enumerate}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   150
\item Python, with 
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   151
\item wxPyhon modules installed (at least version 2.6.3). 
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   152
\item Gnosis xml tools. (Optional can also be installed locally to the project
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   153
automatically with the help of a Makefile. Please see {}``Using Dictionary
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   154
Editor GUI'' ) 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   155
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   156
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   157
\subsubsection{Linux and Unix-likes}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   158
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   159
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   160
\item Linux, FreeBSD, Cygwin or any Unix environment with GNU toolchain. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   161
\item The GNU C compiler (gcc) or any other ANSI-C compiler for your target
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   162
platform. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   163
\item Xpdf, and the official 301\_v04000201.pdf file in order to get GUI
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   164
context sensitive help. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   165
\item GNU Make 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   166
\item Bash and sed 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   167
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   168
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   169
\subsubsection{Windows (for native win32 target)}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   170
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   171
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   172
\item Visual Studio Express 2005 or worst. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   173
\item Microsoft platform SDK (requires Genuine Advantage) 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   174
\item Cygwin (for configuration only) 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   175
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   176
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   177
\subsection{How to get CanFestival}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   178
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   179
Please always use CVS, this is the best way to get the most reactive
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   180
support from the developer community :
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   181
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   182
cvs -d:pserver:anonymous@lolitech.dyndns.org:/canfestival login\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   183
 (type return, without entering a password)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   184
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   185
Then, enter : \\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   186
 cvs -z3 -d:pserver:anonymous@lolitech.dyndns.org:/canfestival co
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   187
-P CanFestival-3
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   188
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   189
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   190
\section{Understanding Canfestival}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   191
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   192
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   193
\subsection{CanFestival Project tree layout}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   194
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   195
Simplified directory structure.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   196
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   197
\texttt{\textbf{./src ANSI-C source of \canopen stack}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   198
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   199
\texttt{\textbf{./include Exportables Header files}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   200
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   201
\texttt{\textbf{./drivers Interfaces to specific platforms/HW}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   202
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   203
\texttt{./drivers/unix Linux and Cygwin OS interface}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   204
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   205
\texttt{./drivers/win32 Native Win32 OS interface}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   206
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   207
\texttt{./drivers/timers\_xeno Xenomai timers/threads (Linux only)}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   208
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   209
\texttt{./drivers/timers\_kernel Linux kernel timer/threads}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   210
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   211
\texttt{./drivers/timers\_unix Posix timers/threads (Linux, Cygwin)}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   212
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   213
\texttt{./drivers/can\_virtual\_kernel Fake CAN network (kernel space)}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   214
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   215
\texttt{./drivers/can\_peak\_linux PeakSystem CAN library interface}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   216
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   217
\texttt{./drivers/can\_peak\_win32 PeakSystem PCAN -Light interface}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   218
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   219
\texttt{./drivers/can\_uvccm\_win32 Acacetus{\textquotesingle}s
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   220
RS232 {}``CAN -uVCCM'' interface}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   221
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   222
\texttt{./drivers/can\_virtual Fake CAN network (Linux, Cygwin)}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   223
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   224
\texttt{./drivers/hcs12 HCS12 full target interface}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   225
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   226
\texttt{\textbf{./examples Examples}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   227
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   228
\texttt{./examples/TestMasterSlave 2 nodes, NMT SYNC SDO PDO, win32+unix}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   229
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   230
\texttt{./examples/TestMasterMicroMod 1 node, control Peak I/O Module,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   231
unix}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   232
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   233
\texttt{./examples/gene\_SYNC\_HCS12 Just send periodic SYNC on HCS12}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   234
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   235
\texttt{./examples/win32test Ask some DS301 infos to a node (}\texttt{\textbf{win32)}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   236
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   237
\texttt{\textbf{./objdictgen Object Dictionary editor GUI}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   238
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   239
\texttt{./objdictgen/config Pre -defined OD profiles}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   240
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   241
\texttt{./objdictgen/examples Some examples/test OD}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   242
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   243
\texttt{\textbf{./doc Project and \canopen doc}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   244
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   245
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   246
\subsection{Implement CanFestival in your application}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   247
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   248
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   249
\includegraphics[width=12cm]{Pictures/10000201000003F9000002CF880931E7} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   250
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   251
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   252
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   253
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   254
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   255
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   256
\subsection{CanFestival CAN interfaces}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   257
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   258
Because most CAN controllers and drivers implement FIFOs, CanFestival
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   259
consider sending message as a non bloking operation.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   260
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   261
In order to prevent reentrent calls to the stack, messages reception
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   262
is implemented differently on {\textmu}C and OS.:
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   263
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   264
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   265
\item {\textmu}C must provide interuption masking for timer and can receive
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   266
TI\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   267
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   268
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   269
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   270
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   271
\includegraphics[width=12cm]{Pictures/10000201000003CA0000016604E6A5EF} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   272
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   273
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   274
\item OS must provide a receive thread, a timer thread and a mutex. CAN
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   275
reception is a bloking operation.\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   276
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   277
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   278
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   279
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   280
\includegraphics[width=12cm]{Pictures/10000201000003F9000002CF8B0CDAEA} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   281
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   282
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   283
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   284
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   285
\subsection{CanFestival events scheduling}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   286
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   287
A \canopen node must be able to take delayed actions.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   288
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   289
As exemples, periodic sync emission, heartbeat production or SDO timeout
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   290
need to set some alarms that will be called later and do the job.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   291
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   292
{\textmu}C generaly do not have enough free timers to handle all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   293
the \canopen needs directly. Moreover, CanFestival internal data
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   294
may be corrupt by reentrant calls.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   295
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   296
CanFestival implement a micro -scheduler (timer.c). It uses only one
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   297
timer to mimic many timers. It manage an alarm table, and call alarms
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   298
at desired time.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   299
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   300
\begin{center}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   301
\includegraphics[width=12cm]{Pictures/100000000000022C000000DEDAD2140C} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   302
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   303
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   304
Scheduler can handle short clock value ranges limitation found on
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   305
some {\textmu}C. As an example, value range for a 16bit clock counter
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   306
with 4{\textmu}s tick is crossed within 0.26 seconds... Long alarms
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   307
must be segmented.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   308
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   309
Chronogram illustrate a long alarm (A) and a short periodic alarm
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   310
(B), with a A value {\textgreater} clock range {\textgreater}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   311
B value. Values t0...t8 are successive setTimer call parameter values.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   312
t1 illustrates an intermediate call to TimeDispatch, caused by a delay
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   313
longer than clock range. Because of long alarm segmentation, at the
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   314
end of t1, TimeDispatch call will not trig any alarm callback.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   315
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   316
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   317
\includegraphics[width=12cm]{Pictures/1000000000000396000000FFC42573DA} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   318
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   319
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   320
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   321
\section{Linux Target}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   322
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   323
Linux target is default configure target.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   324
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   325
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   326
\subsection{Linux Compilation and installation}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   327
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   328
Call ./configure -- help to see all available compile time options.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   329
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   330
After invoking ./configure with your platform specific switches, just
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   331
type make.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   332
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   333
\texttt{./configure {[}options]}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   334
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   335
\texttt{make}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   336
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   337
\texttt{make install}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   338
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   339
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   340
\subsubsection{Standard Linux node}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   341
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   342
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   343
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   344
\texttt{- -timers=unix}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   345
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   346
To do a \canopen node running on PC -Linux, you need :
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   347
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   348
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   349
\item A working linux distribution 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   350
\item One or more Peak system PC CAN interface and the last Peak Linux driver
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   351
installed. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   352
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   353
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   354
\subsubsection{Real -Time Linux node}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   355
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   356
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   357
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   358
\texttt{- -timers=xeno}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   359
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   360
To do a \canopen node running on PC -Linux, you need :
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   361
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   362
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   363
\item A working Linux distribution patched with XENOMAI 2.1 or greater. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   364
\item One or more Peak system PC CAN interface and the last Peak Real Time
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   365
Linux driver installed. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   366
\end{enumerate}
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   367
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   368
\subsubsection{Linux kernel node}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   369
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   370
To do a CANopen node running on PC-Linux in kernel space, you need:
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   371
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   372
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   373
\paragraph{A working Linux distribution with pre-built 2.6.x.x kernel sources}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   374
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   375
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   376
\paragraph{A CAN card driver compatible with CanFestival}
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   377
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   378
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   379
\subsubsection{CAN devices}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   380
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   381
Curently supported CAN devices and corresponding configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   382
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   383
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   384
\paragraph{Peak systems}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   385
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   386
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   387
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   388
\texttt{- -can=peak\_linux}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   389
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   390
PeakSystems CAN interface is automatically chosen as default CAN interface
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   391
if libpcan is present in the system.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   392
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   393
Please download driver at \href{http://www.peak-system.com/linux}{http://www.peak
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   394
-system.com/linux} and follow instructions in order to install driver
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   395
on your system.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   396
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   397
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   398
\paragraph{Socket -Can (http://socketcan.berlios.de)}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   399
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   400
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   401
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   402
\texttt{- -can=socket}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   403
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   404
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   405
\paragraph{LinCan}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   406
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   407
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   408
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   409
\texttt{- -can=lincan}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   410
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   411
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   412
\paragraph{Virtual CAN interfaces (for test/debug)}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   413
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   414
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   415
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   416
\texttt{- -can=virtual (in user space)}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   417
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   418
\texttt{- -can=virtual\_kernel (in kernel space)}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   419
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   420
Virtual CAN interface use Unix pipes to emulate a virtual CAN network.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   421
Each message issued from a node is repeat to all other nodes. Currently
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   422
only works with nodes running in the same process, and does not support
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   423
work with Xenomai.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   424
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   425
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   426
\subsection{Testing your CanFestival installation}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   427
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   428
Sample provided in /example/TestMasterSlave is installed into your
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   429
system during installation.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   430
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   431
\texttt{TestMasterSlave}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   432
392
3788feef57e0 Some typo fixes in the manual, thanks to Yegor Yefremov (VisionSystems)
etisserant
parents: 391
diff changeset
   433
Default CAN driver library is libcanfestival\_can\_virtual.so., which
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   434
will simply pass CAN messages through Unix pipes between Master and
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   435
Slave.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   436
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   437
You may also want to specify different can interface and define some
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   438
CAN ports. Another example using Peak{\textquotesingle}s dual PCMCIA
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   439
(configure and install with --can=peak) :
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   440
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   441
\texttt{TestMasterSlave -l libcanfestival\_can\_peak.so -s 40 -m 41}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   442
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   443
\texttt{example/kerneltest} It's based on TestMasterSlave example
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   444
and has the same functionality. Uses virtual can driver as default
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   445
too. After successfull installation you can insert the module by typing:
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   446
modprobe canf\_ktest Module control is done by simple console 'canf\_ktest\_console'
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   447
which is used to start/stop sending data.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   448
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   449
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   450
\section{Windows Targets}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   451
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   452
CanFestival can be compiled and run on Windows platform. It is possible
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   453
to use both Cygwin and win32 native runtime environment.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   454
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   455
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   456
\subsection{Object Dictionary Editor GUI installation.}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   457
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   458
Please refer to \hyperlink{a821UsingDictionaryEditorGUIoutline}{8.2.1)Using
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   459
Dictionary Editor GUI}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   460
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   461
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   462
\subsection{CYGWIN}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   463
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   464
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   465
\subsubsection{Requirements}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   466
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   467
Cygwin have to be installed with those packages :
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   468
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   469
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   470
\item gcc 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   471
\item unzip 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   472
\item wget 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   473
\item make 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   474
\end{enumerate}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   475
Currently, the only supported CAN devices are PeakSystems ones, with
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   476
PcanLight driver and library.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   477
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   478
Please download driver at \href{http://www.peak-system.com/themen/download_gb.html}{http://www.peak
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   479
-system.com/themen/download\_gb.html} \ and follow instructions
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   480
in order to install driver on your system.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   481
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   482
Install Cygwin as required, and the driver for your Peak CAN device.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   483
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   484
Open a Cygwin terminal, and follow those instructions:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   485
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   486
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   487
\subsubsection{Cygwin configuration and compilation}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   488
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   489
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   490
\paragraph{A single node with PcanLight and Peak CAN -USB adapter}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   491
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   492
Download the PCAN -Light Zip file for your HW ( URL from download
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   493
page ):
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   494
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   495
\texttt{wget http://www.peak -system.com/files/usb.zip}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   496
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   497
Extract its content into your cygwin home (it will create a {}``Disk''
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   498
directory):
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   499
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   500
\texttt{unzip usb.zip}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   501
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   502
Configure CanFestival3 providing path to the desired PcanLight implementation:
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   503
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   504
\texttt{cd CanFestival -3}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   505
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   506
\texttt{export PCAN\_INCLUDE=\~{ }/Disk/PCAN -Light/Api/}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   507
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   508
\texttt{export PCAN\_HEADER=Pcan\_usb.h}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   509
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   510
\texttt{export PCAN\_LIB=\~{ }/Disk/PCAN -Light/Lib/Visual\textbackslash{}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   511
C++/Pcan\_usb.lib}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   512
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   513
\texttt{./configure -{}-can=peak\_win32}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   514
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   515
\texttt{make}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   516
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   517
In order to test, you have to use another CanFestival node, connect
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   518
with a CAN cable.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   519
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   520
\texttt{cp \~{ }/Disk/PCAN -Light/Pcan\_usb.dll .}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   521
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   522
\texttt{./examples/TestMasterSlave/TestMasterSlave \textbackslash{}} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   523
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   524
\texttt{-l drivers/can\_peak\_win32/cygcan\_peak\_win32.dll \textbackslash{}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   525
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   526
\texttt{-S 500K -M none}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   527
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   528
Then, on the other node :
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   529
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   530
\texttt{./TestMasterSlave -l my\_driver.so -S none -M 500K}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   531
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   532
Now messages are beeing exchanged between master and slave node.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   533
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   534
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   535
\paragraph{Two nodes with PcanLight and Peak dual PCMCIA -CAN adapter}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   536
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   537
Download the PCAN -Light Zip file for your HW ( URL from download
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   538
page ):
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   539
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   540
\texttt{wget http://www.peak -system.com/files/pccard.zip}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   541
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   542
Extract its content into your cygwin home (it will create a {}``Disk''
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   543
directory):
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   544
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   545
\texttt{unzip pccard.zip}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   546
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   547
The configure CanFestival3 providing path to the desired PcanLight
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   548
implementation:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   549
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   550
\texttt{export PCAN\_INCLUDE=\~{ }/Disk/PCAN -Light/Api/}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   551
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   552
\texttt{export PCAN\_HEADER=Pcan\_pcc.h}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   553
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   554
\texttt{export PCAN\_LIB=\~{ }/Disk/PCAN -Light/Lib/Visual\textbackslash{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   555
C++/Pcan\_pcc.lib}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   556
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   557
\texttt{export PCAN2\_HEADER=Pcan\_2pcc.h}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   558
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   559
\texttt{export PCAN2\_LIB=\~{ }/Disk/PCAN -Light/Lib/Visual\textbackslash{}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   560
C++/Pcan\_2pcc.lib}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   561
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   562
In order to test, just connect together both CAN ports of the PCMCIA
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   563
card. Don{\textquotesingle}t forget 120ohms terminator.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   564
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   565
\texttt{cp \~{ }/Disk/PCAN -Light/Pcan\_pcc.dll .}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   566
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   567
\texttt{cp \~{ }/Disk/PCAN -Light/Pcan\_2pcc.dll .}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   568
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   569
\texttt{./examples/TestMasterSlave/TestMasterSlave \textbackslash{}} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   570
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   571
\texttt{-l drivers/can\_peak\_win32/cygcan\_peak\_win32.dll}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   572
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   573
Messages are then exchanged between master and slave node, both inside
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   574
TestMasterSlave{\textquotesingle}s process.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   575
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   576
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   577
\subsection{Visual Studio C++}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   578
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   579
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   580
\subsubsection{Requirements}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   581
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   582
Minimal Cygwin installation is required at configuration time in order
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   583
to create specific header files (config.h and cancfg.h). Once this
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   584
files created, cygwin is not necessary any more.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   585
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   586
Project and solution files have been created and tested with Visual
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   587
Studio Express 2005. Be sure to have installed Microsoft Platform
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   588
SDK, as recommended at the end of Visual Studio installation.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   589
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   590
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   591
\subsubsection{Configuration with cygwin}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   592
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   593
Follow instructions given at \hyperlink{Cygwin configuration and compilation}{Cygwin
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   594
configuration and compilation}, but do neither call make nor do tests,
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   595
just do configuration steps. This will create headers files accordingly
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   596
to your configuration parameters, and the desired CAN hardware.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   597
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   598
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   599
\subsubsection{Compilation with Visual Studio}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   600
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   601
You can either load independents {}``{*}.vcproj'' project files
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   602
along your own projects in your own solution or load the provided
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   603
{}``CanFestival -3.vc8.sln'' solution files directly.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   604
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   605
Build CanFestival -3 project first.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   606
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   607
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   608
\paragraph{PcanLight and the can\_peak\_win32 project.}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   609
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   610
Chosen Pcan\_xxx.lib and eventually Pcan\_2xxx.lib files must be added
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   611
to can\_peak\_win32 \ \ project before build of the DLL.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   612
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   613
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   614
\subsubsection{Testing}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   615
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   616
Copy eventually needed dlls (ie : Pcan\_Nxxx.lib) into Release or
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   617
Debug directory, and run the test program:
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   618
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   619
\texttt{TestMasterSlave.exe -l can\_peak\_win32.dll}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   620
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   621
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   622
\subsection{MSYS}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   623
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   624
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   625
\subsubsection{Requirements}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   626
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   627
Download from : http://sourceforge.net/project/showfiles.php?group\_id=2435
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   628
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   629
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   630
\item MSYS-1.0.10.exe 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   631
\item MinGW-5.1.3.exe 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   632
\item mingwPORT (which contains wget-1.9.1) 
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   633
\end{enumerate}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   634
Please download driver at http://www.peak-system.com/themen/download\_gb.html
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   635
and follow instructions in order to install driver on your system.
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   636
Install MSYS and MingW as required, and the driver for your Peak CAN
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   637
device. Open a MSYS terminal, and follow those instructions:\\
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   638
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   639
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   640
\begin{itemize}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   641
\item extract wget-1.9.1-mingwPORT.tar.bz2 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   642
\item copy wget.exe in c:\textbackslash{} msys\textbackslash{} 1.0\textbackslash{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   643
bin\textbackslash{} 
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   644
\item start MSYS and check the file /etc/fstab contain the line c:/MinGW
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   645
/mingw 
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   646
\end{itemize}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   647
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   648
\subsubsection{MSYS configuration and compilation}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   649
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   650
Instructions for compilation are nearly the same as CYGWIN part.
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   651
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   652
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   653
\paragraph{A single node with PcanLight and Peak CAN-USB adapter}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   654
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   655
Download the PCAN-Light Zip file for your HW ( URL from download page
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   656
):
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   657
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   658
\begin{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   659
\texttt{wget http://www.peak-system.com/files/usb.zip} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   660
\end{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   661
Extract its content into your MSYS's home (it will create a \char`\"{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   662
Disk\char`\"{} directory):
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   663
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   664
\begin{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   665
\texttt{unzip usb.zip} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   666
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   667
Configure CanFestival3 providing path to the desired PcanLight implementation:
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   668
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   669
\begin{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   670
\texttt{cd CanFestival-3}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   671
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   672
\texttt{export PCAN\_INCLUDE=\~{ }/Disk/PCAN-Light/Api/}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   673
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   674
\texttt{export PCAN\_HEADER=Pcan\_usb.h}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   675
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   676
\texttt{export PCAN\_LIB=\~{ }/Disk/PCAN-Light/Lib/Visual\textbackslash{}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   677
C++/Pcan\_usb.lib}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   678
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   679
\texttt{./configure - -can=peak\_win32}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   680
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   681
\texttt{make} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   682
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   683
In order to test, you have to use another CanFestival node, connect
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   684
with a CAN cable.
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   685
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   686
\begin{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   687
\texttt{cp \~{ }/Disk/PCAN-Light/Pcan\_usb.dll .}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   688
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   689
\texttt{./examples/TestMasterSlave/TestMasterSlave \textbackslash{}}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   690
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   691
\texttt{-l drivers/can\_peak\_win32/cygcan\_peak\_win32.dll \textbackslash{}}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   692
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   693
\texttt{-S 500K -M none} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   694
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   695
Then, on the other node :
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   696
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   697
\begin{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   698
\texttt{./TestMasterSlave -l my\_driver.so -S none -M 500K -m 0} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   699
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   700
Now messages are beeing exchanged between master and slave node.
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   701
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   702
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   703
\paragraph{Two nodes with PcanLight and Peak dual PCMCIA-CAN adapter}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   704
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   705
Download the PCAN-Light Zip file for your HW ( URL from download page
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   706
):
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   707
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   708
\begin{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   709
\texttt{wget http://www.peak-system.com/files/pccard.zip} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   710
\end{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   711
Extract its content into your MSYS's home (it will create a \char`\"{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   712
Disk\char`\"{} directory):
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   713
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   714
\begin{quotation}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   715
\texttt{unzip pccard.zip} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   716
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   717
The configure CanFestival3 providing path to the desired PcanLight
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   718
implementation:
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   719
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   720
\begin{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   721
\texttt{export PCAN\_INCLUDE=\~{ }/Disk/PCAN-Light/Api/}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   722
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   723
\texttt{export PCAN\_HEADER=Pcan\_pcc.h}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   724
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   725
\texttt{export PCAN\_LIB=\~{ }/Disk/PCAN-Light/Lib/Visual\textbackslash{}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   726
C++/Pcan\_pcc.lib}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   727
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   728
\texttt{export PCAN2\_HEADER=Pcan\_2pcc.h}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   729
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   730
\texttt{export PCAN2\_LIB=\~{ }/Disk/PCAN-Light/Lib/Visual\textbackslash{}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   731
C++/Pcan\_2pcc.lib} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   732
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   733
In order to test, just connect together both CAN ports of the PCMCIA
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   734
card. Don't forget 120ohms terminator.
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   735
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   736
\begin{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   737
\texttt{cp\~{ }/Disk/PCAN-Light/Pcan\_pcc.dll ~.}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   738
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   739
\texttt{cp \~{ }/Disk/PCAN-Light/Pcan\_2pcc.dll ~.}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   740
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   741
\texttt{./examples/TestMasterSlave/TestMasterSlave \textbackslash{}}
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   742
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   743
\texttt{-l drivers/can\_peak\_win32/cygcan\_peak\_win32.dll -m 0 -s
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   744
1} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   745
\end{quotation}
282
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   746
Messages are then exchanged between master and slave node, both inside
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   747
TestMasterSlave's process.
6afe145df950 Updated manual for msys/mingw build
greg
parents: 249
diff changeset
   748
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   749
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   750
\section{Motorola HCS12}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   751
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   752
The examples have been tested on a MC9S12DG255 mounted on a Elektronikladen
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   753
HCS12 T -board.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   754
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   755
Beware that there are few differences in the MSCAN module of the 68HC12
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   756
and HCS12 microcontroller. For a HC12, you must adapt the driver that
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   757
we provide for \ the HCS12.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   758
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   759
For the difference MSCAN HC12/HCS12, see the Motorola application
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   760
note AN2011/D.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   761
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   762
Configure switch:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   763
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   764
\texttt{-{}-target=hcs12}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   765
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   766
To do a \canopen node running on a microncontroller Motorola MC9S12DP256,
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   767
you need :
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   768
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   769
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   770
\item The compiler GNU gcc for HC11, HC12, HCS12 : m6811 -elf. \\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   771
 Download the \textbf{release 3.1} at : \href{http://m68hc11.serveftp.org/m68hc11_pkg_rpm.php}{http://m68hc11.serveftp.org/m68hc11\_pkg\_rpm.php} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   772
\item A board with this chip. We are using the T -board from Electronikladden. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   773
\item At least about 40 kBytes of program memory. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   774
\item A tool to flash the memory. (We are using the hight cost Lauterbach
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   775
debugger). 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   776
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   777
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   778
\subsection{Running a HCS12 node}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   779
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   780
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   781
\subsubsection{Compiling Canfestival:}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   782
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   783
\texttt{./configure -{}-target=hcs12}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   784
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   785
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   786
\subsubsection{Compiling and building an example}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   787
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   788
Enter in the folder of an HCS12 example,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   789
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   790
\texttt{make all}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   791
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   792
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   793
\subsubsection{Flashing the memory :}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   794
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   795
Use your prefered loader ! If you are using a debugger Lauterbach,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   796
you can load the bash file : trace32\_flash\_programmer.cmm. It loads
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   797
directly the elf file.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   798
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   799
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   800
\subsubsection{Connecting to a serial RS232 console :}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   801
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   802
Connect the portS(TxD0) of the HCS12 to a console configured at 19200
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   803
bauds 8N1, via a Max232 chip to adapt the electricals levels. On Linux,
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   804
you can use minicom. Connecting to a console is usefull to read the
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   805
messages, but not required.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   806
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   807
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   808
\subsubsection{Connecting to the CAN network :}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   809
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   810
Connect the port CAN0 (pin PM0, PM1) to the network via a CAN controller.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   811
On our board, the CAN controler is a PCA82C250 chip.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   812
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   813
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   814
\subsubsection{starting the node :}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   815
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   816
Press the reset of your HCS12 board.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   817
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   818
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   819
\section{Example and test program:}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   820
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   821
The {}``examples'' directory contains some test program you can
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   822
use as example for your own developments.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   823
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   824
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   825
\subsection{TestMasterSlave}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   826
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   827
\texttt{{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}\ }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   828
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   829
\texttt{{*} \ TestMasterSlave \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   830
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   831
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   832
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   833
\texttt{{*} \ A simple example for PC. It does implement 2 \canopen
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   834
\ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   835
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   836
\texttt{{*} \ nodes in the same process. A master and a slave. Both
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   837
\ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   838
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   839
\texttt{{*} \ communicate together, exchanging periodically NMT,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   840
SYNC, \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   841
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   842
\texttt{{*} \ SDO and PDO. Master configure heartbeat producer time
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   843
\ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   844
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   845
\texttt{{*} \ at 1000 ms for slave node -id 0x02 by concise DCF. \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   846
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   847
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   848
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   849
\texttt{{*} \ \ Usage: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   850
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   851
\texttt{{*} \ \ ./TestMasterSlave \ {[}OPTIONS] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   852
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   853
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   854
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   855
\texttt{{*} \ \ OPTIONS: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   856
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   857
\texttt{{*} \ \ \ \ -l : Can library {[}{\textquotedbl}libcanfestival\_can\_virtual.so{\textquotedbl}]
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   858
\ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   859
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   860
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   861
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   862
\texttt{{*} \ \ \ Slave: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   863
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   864
\texttt{{*} \ \ \ \ -s : bus name {[}{\textquotedbl}0{\textquotedbl}]
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   865
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   866
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   867
\texttt{{*} \ \ \ \ -S : 1M,500K,250K,125K,100K,50K,20K,10K,none(disable)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   868
\ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   869
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   870
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   871
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   872
\texttt{{*} \ \ \ Master: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   873
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   874
\texttt{{*} \ \ \ \ -m : bus name {[}{\textquotedbl}1{\textquotedbl}]
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   875
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   876
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   877
\texttt{{*} \ \ \ \ -M : 1M,500K,250K,125K,100K,50K,20K,10K,none(disable)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   878
\ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   879
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   880
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   881
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   882
\texttt{{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   883
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   884
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   885
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   886
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   887
\textsf{Notes for Concise DCF :}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   888
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   889
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   890
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   891
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   892
\textsf{In this example, Master configure \ heartbeat producer time
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   893
at 1000 ms for slave node -id 0x02 by concise DCF according DS -302
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   894
profile.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   895
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   896
\textsf{Index 0x1F22 , sub -index 0x00 of the master OD, correspond
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   897
to the number of entries. This equal to the maximum possible nodeId
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   898
(127). Each sub -index points to the Node -ID of the device, to which
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   899
the configuration belongs.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   900
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   901
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   902
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   903
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   904
\textsf{To add more parameters configurations to the slave, the value
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   905
at sub -index 0x02 must be a binary stream (little -endian) following
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   906
this structure :}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   907
 \textsf{ \{ (UNS32) nb of entries}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   908
 \textsf{ (UNS16) index parameter 1}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   909
 \textsf{ (UNS8) sub -index parameter 1}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   910
 \textsf{ (UNS32) size data parameter 1}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   911
 \textsf{ (DOMAIN) data parameter 1}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   912
 \textsf{ (UNS16) index parameter 2}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   913
 \textsf{ (UNS8) sub -index parameter 2}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   914
 \textsf{ (UNS32) size data parameter 2}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   915
 \textsf{ (DOMAIN) data parameter 2}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   916
 \textsf{ \ \ \ \ \ ....}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   917
 \textsf{ (UNS16) index parameter n}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   918
 \textsf{ (UNS8) sub -index parameter n}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   919
 \textsf{ (UNS32) size data parameter n}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   920
 \textsf{ (DOMAIN) data parameter n}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   921
 \textsf{ \}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   922
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   923
\textsf{So the binary value stream to configure heartbeat producer
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   924
time must be :}\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   925
 \textsf{ 0100000017100002000000e803}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   926
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   927
\textsf{The slave node is configured just before the Master entering
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   928
in Pre\_operational state.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   929
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   930
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   931
\subsection{gene\_SYNC\_HCS12 :}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   932
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   933
This is a simple \canopen node that only send cyclic SYNC message.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   934
It demonstrate implementation on HCS12 based board.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   935
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   936
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   937
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   938
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   939
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   940
\subsection{kerneltest :}
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 284
diff changeset
   941
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   942
Example based on TestMasterSlave slightly modified to suit kernel
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   943
space requisites. It will do the same as TestMasterSlave but in kernel
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   944
space sending kernel messages (displayed by dmesg for example). It
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   945
is designed as external kernel module implemented as character device.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   946
There is a shell script called 'insert.sh', which will insert the
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   947
module and create a new device file /dev/canf\_ktest (used to sending
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   948
commands to module). To actual sending commands you can use simple
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   949
console named 'canf\_ktest\_console'. The module is dependent on a
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   950
another separate module 'canfestival.ko' implementing CanOpen stack
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   951
which exports requisite functions. Canfestival.ko module is then dependent
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   952
on CAN card driver module, by default CAN virtual driver will be loaded.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   953
After installing modules (make install), all dependencies are solved
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   954
automatically by kernel. To run the example type: \texttt{sh run.sh}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   955
It will insert required modules, start console, and after quitting
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   956
console it'll remove modules from kernel.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   957
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   958
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   959
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   960
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   961
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
   962
\subsection{TestMasterMicroMod }
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   963
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   964
\texttt{{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   965
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   966
\texttt{{*} \ TestMasterMicroMod \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   967
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   968
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   969
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   970
\texttt{{*} \ A simple example for PC. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   971
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   972
\texttt{{*} \ A \canopen master that control a MicroMod module: \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   973
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   974
\texttt{{*} \ - setup module TPDO 1 transmit type \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   975
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   976
\texttt{{*} \ - setup module RPDO 1 transmit type \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   977
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   978
\texttt{{*} \ - setup module hearbeatbeat period \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   979
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   980
\texttt{{*} \ - disable others TPDOs \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   981
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   982
\texttt{{*} \ - set state to operational \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   983
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   984
\texttt{{*} \ - send periodic SYNC \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   985
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   986
\texttt{{*} \ - send periodic RPDO 1 to Micromod (digital output)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   987
\ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   988
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   989
\texttt{{*} \ - listen Micromod{\textquotesingle}s TPDO 1 (digital
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   990
input) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   991
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   992
\texttt{{*} \ - Mapping RPDO 1 bit per bit (digital input) \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   993
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   994
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   995
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   996
\texttt{{*} \ \ Usage: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   997
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   998
\texttt{{*} \ \ ./TestMasterMicroMod \ {[}OPTIONS] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
   999
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1000
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1001
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1002
\texttt{{*} \ \ OPTIONS: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1003
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1004
\texttt{{*} \ \ \ \ -l : Can library {[}{\textquotedbl}libcanfestival\_can\_virtual.so{\textquotedbl}]
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1005
\ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1006
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1007
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1008
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1009
\texttt{{*} \ \ \ Slave: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1010
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1011
\texttt{{*} \ \ \ \ -i : Slave Node id format {[}0x01 , 0x7F]
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1012
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1013
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1014
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1015
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1016
\texttt{{*} \ \ \ Master: \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1017
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1018
\texttt{{*} \ \ \ \ -m : bus name {[}{\textquotedbl}1{\textquotedbl}]
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1019
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1020
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1021
\texttt{{*} \ \ \ \ -M : 1M,500K,250K,125K,100K,50K,20K,10K \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1022
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1023
\texttt{{*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1024
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1025
\texttt{{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1026
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1027
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1028
\section{Developing a new node}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1029
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1030
Using provided examples as a base for your new node is generally a
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1031
good idea. You can also use the provided {*}.od files as a base for
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1032
your node object dictionary.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1033
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1034
Creating a new \canopen node implies to define the Object Dictionary
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1035
of this node. For that, developer has to provide a C file. This C
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1036
file contains the definition of all dictionary entries, and some kind
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1037
of index table that helps the stack to access some entries directly.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1038
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1039
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1040
\subsection{Using Dictionary Editor GUI}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1041
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1042
The Object Dictionary Editor is a WxPython based GUI that is used
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1043
to create the C file needed to create a new \canopen node.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1044
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1045
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1046
\subsubsection{Installation and usage on Linux}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1047
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1048
You first have to download and install Gnosis XML modules. This is
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1049
automated by a Makefile rule.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1050
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1051
\texttt{cd objdictgen}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1052
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1053
\texttt{make}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1054
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1055
Now start the editor.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1056
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1057
\texttt{python objdictedit.py {[}od files...]}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1058
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1059
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1060
\subsubsection{Installation and usage on Windows}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1061
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1062
Install Python (at least version 2.4) and wxPython (at least version
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1063
2.6.3.2).
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1064
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1065
Cygwin users can install Gnosis XML utils the same as Linux use. Just
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1066
call make.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1067
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1068
\texttt{cd objdictgen}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1069
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1070
\texttt{make}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1071
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1072
Others will have to download and intall Gnosis XML by hand :
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1073
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1074
\texttt{Gnosis Utils:}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1075
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1076
\texttt{http://freshmeat.net/projects/gnosisxml/}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1077
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1078
\texttt{http://www.gnosis.cx/download/Gnosis\_Utils.More/Gnosis\_Utils
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1079
-1.2.1.win32 -py24.exe}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1080
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1081
\texttt{Get latest version.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1082
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1083
Download CanFestival archive and uncompress it. Use windows file explorer
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1084
to go into CanFestival3\textbackslash{}objdicgten, and double -click
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1085
on objdictedit.py.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1086
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1087
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1088
\subsubsection{About}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1089
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1090
The Object Dictionary editor GUI is a python application that use
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1091
the Model-View-Controller design pattern. It depends on WxPython to
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1092
display view on any supported platform.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1093
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1094
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1095
\includegraphics[width=7cm]{Pictures/10000201000001FC000001E5D65E8766} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1096
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1097
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1098
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1099
\subsubsection{Main view}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1100
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1101
Top list let you choose dictionary section, bottom left list is the
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1102
selected index in that dictionary, and bottom right list are edited
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1103
sub -indexes.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1104
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1105
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1106
\includegraphics[width=12cm]{Pictures/10000201000003E7000001C7B0296577} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1107
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1108
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1109
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1110
\includegraphics[width=3cm]{Pictures/10000000000000B6000000DF1EDD1E73} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1111
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1112
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1113
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1114
\includegraphics[width=3cm]{Pictures/10000000000000AC000000C9C3F53FA6} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1115
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1116
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1117
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1118
\includegraphics[width=3cm]{Pictures/100000000000006D000000A31EC8CB54} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1119
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1120
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1121
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1122
\includegraphics[width=3cm]{Pictures/10000000000000AA0000006014F74635} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1123
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1124
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1125
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1126
\subsubsection{New node}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1127
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1128
Edit your node name, ID and type. Choose your inherited specific profile.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1129
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1130
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1131
\includegraphics[width=11cm]{Pictures/10000201000001CB0000015F4FC09B68} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1132
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1133
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1134
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1135
\subsubsection{Node info}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1136
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1137
Edit your node name, ID and type.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1138
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1139
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1140
\includegraphics[width=7cm]{Pictures/10000201000001010000011DA724D25C} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1141
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1142
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1143
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1144
\subsubsection{Profile editor}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1145
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1146
Chose the used profile to edit.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1147
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1148
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1149
\includegraphics[width=4cm]{Pictures/10000000000000AB000000C88F594413} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1150
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1151
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1152
Pick up optional chosen profile entries.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1153
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1154
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1155
\includegraphics[width=11cm]{Pictures/10000201000002DE000001D82D89C224} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1156
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1157
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1158
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1159
\subsubsection{User types}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1160
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1161
Use User Types to implement value boundaries, and string lentgth
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1162
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1163
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1164
\includegraphics[width=11cm]{Pictures/10000201000001C40000010766961D7F} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1165
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1166
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1167
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1168
\subsubsection{Mapped variable}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1169
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1170
Add your own specific dictionary entries and associated mapped variables.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1171
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1172
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1173
\includegraphics[width=11cm]{Pictures/10000201000001C4000000DD129D4661} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1174
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1175
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1176
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1177
\subsubsection{Integrated help}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1178
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1179
Using F1 key, you can get context sensitive help.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1180
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1181
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1182
\includegraphics[width=12cm]{Pictures/10000201000002F30000020B23ED7F67} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1183
\par\end{center}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1184
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1185
In order to do that, official 301\_v04000201.pdf file must be placed
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1186
into doc/ directory, and xpdf must be present on your system.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1187
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1188
F2 key open HTML CanFestival help.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1189
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1190
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1191
\includegraphics[width=12cm]{Pictures/10000201000003440000025ACC3FD2F1} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1192
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1193
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1194
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1195
\subsection{Generating the object Dictionary}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1196
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1197
Once object dictionary has been edited and saved, you have to generate
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1198
object dictionary C code for your CanFestival node.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1199
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1200
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1201
\subsubsection{With GUI}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1202
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1203
Menu entry {}``File/Build Dictionary''.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1204
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1205
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1206
\includegraphics[width=4cm]{Pictures/10000201000000B7000000C66AF89CD5} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1207
\par\end{center}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1209
Choose C file to create or overwrite. Header file will be also created
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1210
with the same prefix as C file.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1211
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1212
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1213
\subsubsection{With command line}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1214
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1215
\texttt{Usage of objdictgen.py :}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1216
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1217
\texttt{python objdictgen.py XMLFilePath CfilePath}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1218
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1219
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1220
\section{FAQ}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1221
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1222
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1223
\subsection{General}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1224
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1225
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1226
\subsubsection{Does the code compiles on Windows ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1227
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1228
Yes, with both Cygwin and Visual Studio C++. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1229
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1230
Because \canopen layer is coded with C, put a compilation option
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1231
/TC or /TP if you plan to mix C++ files. See the MSDN documentation
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1232
about that.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1233
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1234
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1235
\subsubsection{How to fit the library to an other microcontrôler ?}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1236
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1237
First, be sure that you have at least 40K bytes of program memory,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1238
and about 2k of RAM.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1239
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1240
You have to create target specific interface to HW resources. Take
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1241
model on bundled interfaces provided in drivers/ and create your own
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1242
interface. You also have to update Makefile.in files for target specific
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1243
cflags and options. Choose {--}target= configure switch to compile
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1244
your specific interface.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1245
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1246
You are welcome to contribute -back your own interfaces! Other Canfestival
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1247
users will use it and provide feedback, tests and enhancements.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1248
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1249
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1250
\subsubsection{Is CanFestival3 conform to DS301 v.4.02 ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1251
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1252
Thanks to Philippe Foureys (IUT of Valence), a slave node have been
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1253
tested with the National Instrument \canopen Conformance Test. It
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1254
passed the test with success.
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1255
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1256
Some very small unconformity have been found in very unusual situations,
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1257
for example in the SDO code response to wrong messages.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1258
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1259
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1260
\subsection{LINUX}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1261
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1262
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1263
\subsubsection{How to use a Peaksystem CAN board ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1264
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1265
Just install peak driver and then compile and install Canfestival.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1266
Peak driver is detected at compile time.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1267
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1268
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1269
\subsubsection{How to use an unsupported CAN board ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1270
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1271
You have to install the specific driver on your system, with necessary
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1272
libs and headers.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1273
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1274
Use can\_peak.c/h or can\_virtual.c/h as an example, and adapt it
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1275
to your driver API.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1276
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1277
Execute configure script and choose --can=mydriver
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1278
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1279
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1280
\subsection{Win32}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1281
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1282
Compatibility:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1283
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1284
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1285
\item Code was compiled MS VisualStudio 2003.NET and VisualStudio 2005.NET
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1286
for WindowsXP \ with ANSI and UNICODE configurations and for WindowsCE
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1287
5.0. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1288
\item Some preliminary testing was done, but not enough to be used in mission
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1289
critical projects. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1290
\end{enumerate}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1291
Additional Features:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1292
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1293
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1294
\item Non -integral integers support implementation UNS24, UNS40, UNS48
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1295
etc. 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1296
\item When enable debug output with DEBUG\_WAR\_CONSOLE\_ON or DEBUG\_ERR\_CONSOLE\_ON,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1297
you can navigate in CanFestival source code by double clicking at
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1298
diagnostic lines in VisualStudio.NET 200X Debug Output Window. 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1299
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1300
Custom size integral types such as INTEGER24, UNS40, INTEGER56 etc.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1301
have been defined as 64 bits integers. You will need to replace sizeof(TYPE)
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1302
operators to sizeof\_TYPE definitions in generated code, i.e. replace
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1303
sizeof(UNS40) with sizeof\_UNS40.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1304
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1305
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1306
\subsection{HCS12}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1307
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1308
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1309
\subsubsection{Which board are you using ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1310
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1311
A T -board from elektronikladen with a MC9S12DP256 or MC9S12DG256.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1312
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1313
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1314
\subsubsection{Does the code compile with an other compiler than GNU gcc ?}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1315
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1316
It is known to work with Metrowerks CodeWarrior. Here are some tips
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1317
from Philippe Foureys. :
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1318
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1319
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1320
\paragraph{Interrupt functions}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1321
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1322
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1323
\subparagraph{Code for GCC:}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1324
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1325
\texttt{// prototype}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1326
 \texttt{ void \_\_attribute\_\_((interrupt))timer3Hdl(void):}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1327
 \texttt{ // function}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1328
 \texttt{ void \_\_attribute\_\_((interrupt))timer3Hdl(void)\{...\}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1329
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1330
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1331
\subparagraph{Code for CodeWarrior}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1332
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1333
\texttt{// protoype}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1334
 \texttt{ void interrupt timer3Hdl(void);}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1335
 \texttt{ // function}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1336
 \texttt{ pragma CODE\_SEG\_\_NEAR\_SEG\_NON\_BANKED}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1337
 \texttt{ void interrupt timer3Hdl(void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1338
 \texttt{ \{...\}}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1339
 \texttt{ pragma CODE\_SEG\_DEFAULT}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1340
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1341
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1342
\paragraph{Interrupt lock, unlock}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1343
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1344
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1345
\subparagraph{Code for GCC}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1346
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1347
\texttt{void unlock (void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1348
 \texttt{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1349
 \texttt{ \ \_\_asm\_\_ \_\_volatile\_\_({\textquotedbl}cli{\textquotedbl});}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1350
 \texttt{ \}}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1351
 \texttt{ void lock (void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1352
 \texttt{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1353
 \texttt{ \ unsigned short mask;}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1354
 \texttt{ \ \_\_asm\_\_ \_\_volatile\_\_({\textquotedbl}tpa{\textbackslash{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1355
}n{\textbackslash{} }tsei{\textquotedbl}:{\textquotedbl}=d{\textquotedbl}(mask));}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1356
 \texttt{ \}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1357
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1358
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1359
\subparagraph{Code for CodeWarrior}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1360
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1361
\texttt{void unlock (void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1362
 \texttt{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1363
 \texttt{ \ \_\_asm({\textquotedbl}cli{\textquotedbl});}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1364
 \texttt{ \}}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1365
 \texttt{ void lock (void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1366
 \texttt{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1367
 \texttt{ \ unsigned short mask;}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1368
 \texttt{ \ \_\_asm}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1369
 \texttt{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1370
 \texttt{ \ tpa:tsei:{\textquotedbl}=d{\textquotedbl}(mask);}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1371
 \texttt{ \}}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1372
 \texttt{ \}}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1373
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1374
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1375
\paragraph{Initialize function}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1376
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1377
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1378
\subparagraph{Code for GCC}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1379
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1380
\texttt{void initCanHCS12 (void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1381
 \texttt{ \{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1382
 \texttt{ \ //Init the HCS12 microcontroler for \canopen} ~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1383
 \texttt{ \ initHCS12();}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1384
 \texttt{ \ \ // Init the HCS12 \ CAN driver}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1385
 \texttt{ \ const canBusInit bi0 = \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1386
 \texttt{ \ \ \ 0, \ \ \ /{*} no low power \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1387
~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1388
 \texttt{ \ \ \ 0, \ \ \ /{*} no time stamp \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1389
 \texttt{ \ \ \ 1, \ \ \ /{*} enable MSCAN \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1390
 \texttt{ \ \ \ 0, \ \ \ /{*} clock source : oscillator (In
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1391
fact, it is not used) \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1392
 \texttt{ \ \ \ 0, \ \ \ /{*} no loop back \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1393
 \texttt{ \ \ \ 0, \ \ \ /{*} no listen only \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1394
 \texttt{ \ \ \ 0, \ \ \ /{*} no low pass filter for wk up {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1395
 \texttt{ \ CAN\_Baudrates{[}CAN\_BAUDRATE\_250K],}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1396
 \texttt{ \ \ \ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1397
 \texttt{ \ \ \ \ \ 0x00, \ \ \ /{*} Filter on 16 bits.}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1398
 \texttt{ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ See Motorola
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1399
Block Guide V02.14 fig 4 -3 {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1400
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 0 hight accept all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1401
msg \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1402
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 0 low accept all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1403
msg \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1404
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 1 hight filter all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1405
of \ msg \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1406
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 1 low filter all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1407
of \ msg \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1408
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 2 hight filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1409
of \ msg {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1410
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 2 low filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1411
of \ msg \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1412
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 3 hight filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1413
of \ msg {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1414
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 3 low filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1415
of \ msg \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1416
 \texttt{ \ \ \ \}}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1417
 \texttt{ \ \};}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1418
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1419
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1420
\subparagraph{Code for CodeWarrior}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1421
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1422
\texttt{void initCanHCS12 (void)}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1423
 \texttt{ \{ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1424
 \texttt{ \ //Init the HCS12 microcontroler for \canopen} ~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1425
 \texttt{ \ initHCS12();}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1426
 \texttt{ \ \ // Init the HCS12 \ CAN driver}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1427
 \texttt{ \ const canBusInit bi0 = \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1428
 \texttt{ \ \ \ 0, \ \ \ /{*} no low power \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1429
~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1430
 \texttt{ \ \ \ 0, \ \ \ /{*} no time stamp \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1431
 \texttt{ \ \ \ 1, \ \ \ /{*} enable MSCAN \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1432
 \texttt{ \ \ \ 0, \ \ \ /{*} clock source : oscillator (In
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1433
fact, it is not used) \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1434
 \texttt{ \ \ \ 0, \ \ \ /{*} no loop back \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1435
 \texttt{ \ \ \ 0, \ \ \ /{*} no listen only \ \ \ \ \ \ \ \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1436
 \texttt{ \ \ \ 0, \ \ \ /{*} no low pass filter for wk up {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1437
 \texttt{ \ \ \ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1438
 \texttt{ \ \ \ \ 1, /{*} clksrc {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1439
 \texttt{ \ \ \ \ 3, /{*} brp \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1440
 \texttt{ \ \ \ \ 0, /{*} sjw \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1441
 \texttt{ \ \ \ \ 0, /{*} samp \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1442
 \texttt{ \ \ \ \ 1, /{*} tseg2 \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1443
 \texttt{ \ \ \ \ 12,/{*} tseg1 \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1444
 \texttt{ \ \ \ \},}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1445
 \texttt{ \ \ \ \ }~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1446
 \texttt{ \ \ \ \ \ 0x00, \ \ \ /{*} Filter on 16 bits.}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1447
 \texttt{ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ See Motorola
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1448
Block Guide V02.14 fig 4 -3 {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1449
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 0 hight accept all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1450
msg \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1451
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 0 low accept all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1452
msg \ \ \ \ \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1453
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 1 hight filter all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1454
of \ msg \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1455
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 1 low filter all
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1456
of \ msg \ \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1457
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 2 hight filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1458
of \ msg {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1459
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 2 low filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1460
of \ msg \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1461
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 3 hight filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1462
of \ msg {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1463
 \texttt{ \ \ \ \ \ 0x00, 0xFF, /{*} filter 3 low filter most
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1464
of \ msg \ \ {*}/}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1465
 \texttt{ \ \ \ \}}~\\
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1466
 \texttt{ \ \};}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1467
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1468
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1469
\subsubsection{Does the code works in banked memory ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1470
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1471
No. Today it seems that the port of gcc is bogged for using the banked
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1472
memory. So, unfortunately, we are limited to 48 Kbytes of memory code.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1473
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1474
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1475
\subsubsection{What GCC version are you using ?}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1476
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1477
We are using the stable RPM release 2.2 :
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1478
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1479
\begin{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1480
\item GNU Gcc 3.0.4. Build 20030501 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1481
\item Newlib 1.10.0 Build 20030421 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1482
\item GNU Binutils 2.12.1 Build 20030427 
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1483
\end{enumerate}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1484
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1485
\section{Documentation resources}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1486
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1487
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1488
\paragraph{CIA : Can in Automation }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1489
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1490
\href{http://www.can-cia.de/}{http://www.can -cia.de}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1491
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1492
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1493
\paragraph{Resources and training in \canopen }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1494
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1495
\href{http://www.esacademy.com/}{http://www.esacademy.com}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1496
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1497
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1498
\paragraph{Elektronikladen HCS12 T -board }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1499
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1500
\href{http://www.elektronikladen.de/en_hcs12tb.html}{http://www.elektronikladen.de/en\_hcs12tb.html}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1501
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1502
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1503
\paragraph{Gnu gcc compiler for HC12}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1504
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1505
\href{http://m68hc11.serveftp.org/m68hc11_port.php}{http://m68hc11.serveftp.org/m68hc11\_port.php}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1506
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1507
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1508
\paragraph{Motorola documentation on HC12 }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1509
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1510
\href{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC9S12DP256}{http://www.freescale.com/webapp/sps/site/prod\_summary.jsp?code=MC9S12DP256}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1511
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1512
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1513
\paragraph{Lauterbach debugger for HC12 }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1514
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1515
\href{http://www.lauterbach.com/}{http://www.lauterbach.com}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1516
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1517
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1518
\paragraph{Python language }
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1519
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1520
\href{http://www.python.org/}{http://www.python.org}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1521
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1522
\clearpage{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1523
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1524
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1525
\section{About the project}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1526
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1527
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1528
\subsection{Contributors }
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1529
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1530
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1531
\includegraphics[width=10cm]{Pictures/1000020100000258000000832C6FFAB4} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1532
\par\end{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1533
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1534
Unité mixte de recherche INRETS -LCPC
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1535
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1536
sur les Interractions Véhicule -Infrastructure -Conducteur
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1537
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1538
14, route de la miničre
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1539
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1540
78000 Versailles
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1541
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1542
FRANCE
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1543
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1544
Tel : +33 1 40 43 29 01
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1545
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1546
\href{http://www.inrets.fr/ur/livic}{http://www.inrets.fr/ur/livic}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1547
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1548
\textbf{Contributors :} Francis DUPIN
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1549
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1550
Camille BOSSARD
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1551
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1552
Laurent ROMIEUX
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1553
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1554
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1555
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1556
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1557
\begin{center}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1558
\includegraphics[width=10cm]{Pictures/100002010000013A0000004A96B0C1FF} 
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1559
\par\end{center}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1560
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1561
LOLITECH
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1562
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1563
204, rue du Haut du Pin
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1564
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1565
88470 Saint -Michel sur Meurthe
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1566
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1567
FRANCE
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1568
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1569
Tel : +33 3 29 52 95 67
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1570
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1571
\href{http://www.lolitech.fr/}{http://www.lolitech.fr}
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1572
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1573
\textbf{Contributors :} Edouard TISSERANT (Original author)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1574
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1575
Laurent BESSARD
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1576
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1577
\bigskip{}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1578
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1579
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1580
Many thanks to the other contributors for their great work:
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1581
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1582
Raphael ZULLIGER
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1583
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1584
David DUMINY (sté A6R)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1585
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1586
Zakaria BELAMRI
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1587
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1588
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1589
\subsection{Getting support}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1590
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1591
Send your feedback and bug reports to \href{mailto:canfestival-devel@lists.sourceforge.net}{canfestival-devel@lists.sourceforge.net}.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1592
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1593
For commercial support, \ training and specific integration and developments,
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1594
please ask LOLITECH (see contributors).
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1595
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1596
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1597
\subsection{Contributing}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1598
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1599
You are free to contribute your specific interfaces back to the project.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1600
This way, you can hope to get support from CanFestival users community.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1601
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1602
Please send your patch to \href{mailto:canfestival-devel@lists.sourceforge.net}{canfestival
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1603
-devel@lists.sourceforge.net}.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1604
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1605
Feel free to create some new predefined DS -4xx profiles ({*}.prf)
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1606
in objdictgen/config, as much as possible respectful to the official
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1607
specifications.
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1608
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1609
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1610
\subsection{License}
393
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1611
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1612
All the project is licensed with LGPL. This mean you can link CanFestival
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1613
with any code without being obliged to publish it.
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1614
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1615
\texttt{\#This file is part of CanFestival, a library implementing
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1616
\canopen Stack.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1617
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1618
\texttt{\#}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1619
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1620
\texttt{\#Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1621
BESSARD}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1622
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1623
\texttt{\#}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1624
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1625
\texttt{\#See COPYING file for copyrights details.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1626
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1627
\texttt{\#}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1628
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1629
\texttt{\#This library is free software; you can redistribute it and/or}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1630
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1631
\texttt{\#modify it under the terms of the GNU Lesser General Public}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1632
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1633
\texttt{\#License as published by the Free Software Foundation; either}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1634
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1635
\texttt{\#version 2.1 of the License, or (at your option) any later
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1636
version.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1637
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1638
\texttt{\#}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1639
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1640
\texttt{\#This library is distributed in the hope that it will be
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1641
useful,}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1642
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1643
\texttt{\#but WITHOUT ANY WARRANTY; without even the implied warranty
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1644
of}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1645
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1646
\texttt{\#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1647
the GNU}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1648
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1649
\texttt{\#Lesser General Public License for more details.}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1650
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1651
\texttt{\#}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1652
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1653
\texttt{\#You should have received a copy of the GNU Lesser General
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1654
Public}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1655
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1656
\texttt{\#License along with this library; if not, write to the Free
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1657
Software}
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1658
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1659
\texttt{\#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
05ad3ba0201d Big cleanup in manual. Used Lyx for that.
etisserant
parents: 392
diff changeset
  1660
\ 02111 -1307 \ USA}
208
05d95c45b388 Manual convertion -> latex -> pdf
nico
parents:
diff changeset
  1661
\end{document}