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