doc/manual/en/manual.toc
author etisserant
Mon, 02 Jul 2007 18:22:58 +0200
changeset 236 905677ed00f3
parent 215 f49e5a6b7804
permissions -rw-r--r--
Full preliminary implementation of TPDO transmit type:
- SYNC (N) (1-240)
- RTR only + SYNC (252)
- RTR only (253)
- EVENT, with timer and inhibit time (254 and 255)

User app have to call sendPDOevent(d) to eventually signal mapped data changes.
Callbacks added to 0x140N, TPDO comm parameters for on the fly timers values change.
TestMasterSlave updated.
\select@language {english}
\contentsline {section}{\numberline {1 -}Introduction}{2}{section.1}
\contentsline {subsection}{\numberline {1.1)}The CanFestival project}{2}{subsection.1.1}
\contentsline {subsection}{\numberline {1.2)}What is CANopen}{2}{subsection.1.2}
\contentsline {section}{\numberline {2 -}CanFestival Features}{2}{section.2}
\contentsline {subsection}{\numberline {2.1)}Tools }{2}{subsection.2.1}
\contentsline {subsection}{\numberline {2.2)}Standard conformance}{3}{subsection.2.2}
\contentsline {paragraph}{\numberline {a)}Multi{}-Platform}{3}{paragraph.2.2.0.1}
\contentsline {paragraph}{\numberline {b)}CanOpen conformance}{3}{paragraph.2.2.0.2}
\contentsline {section}{\numberline {3 -}How to start}{3}{section.3}
\contentsline {subsection}{\numberline {3.1)}Host requirements}{3}{subsection.3.1}
\contentsline {subsubsection}{\numberline {3.1.1)}Object Dictionary Editor GUI}{4}{subsubsection.3.1.1}
\contentsline {subsubsection}{\numberline {3.1.2)}\ Linux and Unix{}-likes}{4}{subsubsection.3.1.2}
\contentsline {subsubsection}{\numberline {3.1.3)}Windows (for native win32 target)}{4}{subsubsection.3.1.3}
\contentsline {subsection}{\numberline {3.2)}How to get CanFestival}{4}{subsection.3.2}
\contentsline {section}{\numberline {4 -}Understanding Canfestival}{4}{section.4}
\contentsline {subsection}{\numberline {4.1)}CanFestival Project tree layout}{4}{subsection.4.1}
\contentsline {subsection}{\numberline {4.2)}Implement CanFestival in your application}{5}{subsection.4.2}
\contentsline {subsection}{\numberline {4.3)}CanFestival CAN interfaces}{5}{subsection.4.3}
\contentsline {subsection}{\numberline {4.4)}CanFestival events scheduling}{6}{subsection.4.4}
\contentsline {section}{\numberline {5 -}Linux Target}{7}{section.5}
\contentsline {subsection}{\numberline {5.1)}Linux Compilation and installation}{7}{subsection.5.1}
\contentsline {subsubsection}{\numberline {5.1.1)}Standard Linux node}{7}{subsubsection.5.1.1}
\contentsline {subsubsection}{\numberline {5.1.2)}Real{}-Time Linux node}{8}{subsubsection.5.1.2}
\contentsline {subsubsection}{\numberline {5.1.3)}CAN devices}{8}{subsubsection.5.1.3}
\contentsline {paragraph}{\numberline {a)}Peak systems}{8}{paragraph.5.1.3.1}
\contentsline {paragraph}{\numberline {b)}Socket{}-Can (http://socketcan.berlios.de)}{8}{paragraph.5.1.3.2}
\contentsline {paragraph}{\numberline {c)}LinCan}{8}{paragraph.5.1.3.3}
\contentsline {paragraph}{\numberline {d)}Virtual CAN interfaces (for test/debug)}{8}{paragraph.5.1.3.4}
\contentsline {subsection}{\numberline {5.2)}Testing your CanFestival installation}{8}{subsection.5.2}
\contentsline {section}{\numberline {6 -}Windows Targets}{8}{section.6}
\contentsline {subsection}{\numberline {6.1)}Object Dictionary Editor GUI installation.}{8}{subsection.6.1}
\contentsline {subsection}{\numberline {6.2)}CYGWIN}{9}{subsection.6.2}
\contentsline {subsubsection}{\numberline {6.2.1)}Requirements}{9}{subsubsection.6.2.1}
\contentsline {subsubsection}{\numberline {6.2.2)}Cygwin configuration and compilation}{9}{subsubsection.6.2.2}
\contentsline {paragraph}{\numberline {a)}A single node with PcanLight and Peak CAN{}-USB adapter}{9}{paragraph.6.2.2.1}
\contentsline {paragraph}{\numberline {b)}Two nodes with PcanLight and Peak dual PCMCIA{}-CAN adapter}{9}{paragraph.6.2.2.2}
\contentsline {subsection}{\numberline {6.3)}Visual Studio C++}{10}{subsection.6.3}
\contentsline {subsubsection}{\numberline {6.3.1)}Requirements}{10}{subsubsection.6.3.1}
\contentsline {subsubsection}{\numberline {6.3.2)}Configuration with cygwin}{10}{subsubsection.6.3.2}
\contentsline {subsubsection}{\numberline {6.3.3)}Compilation with Visual Studio}{10}{subsubsection.6.3.3}
\contentsline {paragraph}{\numberline {a)}PcanLight and the can\_peak\_win32 project.}{10}{paragraph.6.3.3.1}
\contentsline {subsubsection}{\numberline {6.3.4)}Testing}{10}{subsubsection.6.3.4}
\contentsline {section}{\numberline {7 -}Motorola HCS12}{10}{section.7}
\contentsline {subsection}{\numberline {7.1)}Running a HCS12 node}{11}{subsection.7.1}
\contentsline {subsubsection}{\numberline {7.1.1)}Compiling Canfestival:}{11}{subsubsection.7.1.1}
\contentsline {subsubsection}{\numberline {7.1.2)}Compiling and building an example}{11}{subsubsection.7.1.2}
\contentsline {subsubsection}{\numberline {7.1.3)}Flashing the memory :}{11}{subsubsection.7.1.3}
\contentsline {subsubsection}{\numberline {7.1.4)}Connecting to a serial RS232 console :}{11}{subsubsection.7.1.4}
\contentsline {subsubsection}{\numberline {7.1.5)}Connecting to the CAN network :}{11}{subsubsection.7.1.5}
\contentsline {subsubsection}{\numberline {7.1.6)}starting the node :}{11}{subsubsection.7.1.6}
\contentsline {section}{\numberline {8 -}Example and test program:}{11}{section.8}
\contentsline {subsection}{\numberline {8.1)}TestMasterSlave}{11}{subsection.8.1}
\contentsline {subsection}{\numberline {8.2)}gene\_SYNC\_HCS12 :}{12}{subsection.8.2}
\contentsline {subsection}{\numberline {8.3)}TestMasterMicroMod }{12}{subsection.8.3}
\contentsline {section}{\numberline {9 -}Developing a new node}{13}{section.9}
\contentsline {subsection}{\numberline {9.1)}Using Dictionary Editor GUI}{13}{subsection.9.1}
\contentsline {subsubsection}{\numberline {9.1.1)}Installation and usage on Linux}{13}{subsubsection.9.1.1}
\contentsline {subsubsection}{\numberline {9.1.2)}Installation and usage on Windows}{13}{subsubsection.9.1.2}
\contentsline {subsubsection}{\numberline {9.1.3)}About}{14}{subsubsection.9.1.3}
\contentsline {subsubsection}{\numberline {9.1.4)}Main view}{14}{subsubsection.9.1.4}
\contentsline {subsubsection}{\numberline {9.1.5)}New node}{15}{subsubsection.9.1.5}
\contentsline {subsubsection}{\numberline {9.1.6)}Node info}{15}{subsubsection.9.1.6}
\contentsline {subsubsection}{\numberline {9.1.7)}Profile editor}{16}{subsubsection.9.1.7}
\contentsline {subsubsection}{\numberline {9.1.8)}User types}{16}{subsubsection.9.1.8}
\contentsline {subsubsection}{\numberline {9.1.9)}Mapped variable}{17}{subsubsection.9.1.9}
\contentsline {subsubsection}{\numberline {9.1.10)}Integrated help}{17}{subsubsection.9.1.10}
\contentsline {subsection}{\numberline {9.2)}Generating the object Dictionary}{19}{subsection.9.2}
\contentsline {subsubsection}{\numberline {9.2.1)}With GUI}{19}{subsubsection.9.2.1}
\contentsline {subsubsection}{\numberline {9.2.2)}With command line}{19}{subsubsection.9.2.2}
\contentsline {section}{\numberline {10 -}FAQ}{19}{section.10}
\contentsline {subsection}{\numberline {10.1)}General}{19}{subsection.10.1}
\contentsline {subsubsection}{\numberline {10.1.1)}Does the code compiles on Windows ?}{19}{subsubsection.10.1.1}
\contentsline {subsubsection}{\numberline {10.1.2)}How to fit the library to an other microcontr\^oler ?}{19}{subsubsection.10.1.2}
\contentsline {subsubsection}{\numberline {10.1.3)}Is CanFestival3 conform to DS301 v.4.02 ?}{19}{subsubsection.10.1.3}
\contentsline {subsection}{\numberline {10.2)}LINUX}{20}{subsection.10.2}
\contentsline {subsubsection}{\numberline {10.2.1)}How to use a Peaksystem CAN board ?}{20}{subsubsection.10.2.1}
\contentsline {subsubsection}{\numberline {10.2.2)}How to use an unsupported CAN board ?}{20}{subsubsection.10.2.2}
\contentsline {subsection}{\numberline {10.3)}Win32}{20}{subsection.10.3}
\contentsline {subsection}{\numberline {10.4)}HCS12}{20}{subsection.10.4}
\contentsline {subsubsection}{\numberline {10.4.1)}Which board are you using ?}{20}{subsubsection.10.4.1}
\contentsline {subsubsection}{\numberline {10.4.2)}Does the code compile with an other compiler than GNU gcc ?}{20}{subsubsection.10.4.2}
\contentsline {paragraph}{\numberline {a)}Interrupt functions}{20}{paragraph.10.4.2.1}
\contentsline {subparagraph}{\numberline {i)}Code for GCC:}{20}{subparagraph.10.4.2.1.1}
\contentsline {subparagraph}{\numberline {ii)}Code for CodeWarrior}{21}{subparagraph.10.4.2.1.2}
\contentsline {paragraph}{\numberline {b)}Interrupt lock, unlock}{21}{paragraph.10.4.2.2}
\contentsline {subparagraph}{\numberline {i)}Code for GCC}{21}{subparagraph.10.4.2.2.1}
\contentsline {subparagraph}{\numberline {ii)}Code for CodeWarrior}{21}{subparagraph.10.4.2.2.2}
\contentsline {paragraph}{\numberline {c)}Initialize function}{21}{paragraph.10.4.2.3}
\contentsline {subparagraph}{\numberline {i)}Code for GCC}{21}{subparagraph.10.4.2.3.1}
\contentsline {subparagraph}{\numberline {ii)}Code for CodeWarrior}{22}{subparagraph.10.4.2.3.2}
\contentsline {subsubsection}{\numberline {10.4.3)}Who to use warnings and errors messages ?}{22}{subsubsection.10.4.3}
\contentsline {paragraph}{\numberline {a)}Warnings messages}{23}{table.1}
\contentsline {paragraph}{\numberline {b)}Errors messages}{23}{table.2}
\contentsline {subsubsection}{\numberline {10.4.4)}Does the code works in banked memory ?}{23}{subsubsection.10.4.4}
\contentsline {subsubsection}{\numberline {10.4.5)}What GCC version are you using ?}{24}{subsubsection.10.4.5}
\contentsline {section}{\numberline {11 -}Documentation resources}{24}{section.11}
\contentsline {paragraph}{\numberline {a)}CIA : Can in Automation}{24}{paragraph.11.0.5.1}
\contentsline {paragraph}{\numberline {b)}Resources and training in CANopen}{24}{paragraph.11.0.5.2}
\contentsline {paragraph}{\numberline {c)}Elektronikladen HCS12 T{}-board}{24}{paragraph.11.0.5.3}
\contentsline {paragraph}{\numberline {d)}Gnu gcc compiler for HC12}{24}{paragraph.11.0.5.4}
\contentsline {paragraph}{\numberline {e)}Motorola documentation on HC12}{24}{paragraph.11.0.5.5}
\contentsline {paragraph}{\numberline {f)}Lauterbach debugger for HC12}{24}{paragraph.11.0.5.6}
\contentsline {paragraph}{\numberline {g)}Python language}{24}{paragraph.11.0.5.7}
\contentsline {section}{\numberline {12 -}About the project}{25}{section.12}
\contentsline {subsection}{\numberline {12.1)}Contributors }{25}{subsection.12.1}
\contentsline {subsection}{\numberline {12.2)}Getting support}{25}{subsection.12.2}
\contentsline {subsection}{\numberline {12.3)}Contributing}{25}{subsection.12.3}
\contentsline {subsection}{\numberline {12.4)}License}{26}{subsection.12.4}