2 @mainpage Eurobot Software Documentation
4 This document contains programmer documentation of some parts of
5 software developed by Eurobot team at Department of Control
6 Engineering, FEE, Czech Technical University. .
8 Currently, there is documentation to these parts:
19 To regenerate this documentation, run @c doxygen in @c src
20 directory. The result can be found in @c src/doc/html/index.html.
22 \defgroup leds Meanings of LEDs on various boards
24 \defgroup canmsg CAN bus messages
27 Common files for all supported targets (CAN message IDs etc.).
30 Demo application to test compilation and demonstrate OMK usage.
33 Matlab/Simulink tests for localization and trajectory generation.
36 Main robot-control application(s) and support files.
38 \page compilation How to compile it
40 Before first compilation, you should execute
41 <tt>build/prepare_infrastructure script</tt>.
44 ./prepare_infrastructure
46 It downloads repository
47 for @c h8s processors and configures sources. Then, it should be
48 sufficient to go to the <tt>build/<em><target></em></tt> directory and
55 \section cflags Custom compilation flags
57 To compile the project with debugging flags, put them to config.omk
58 file in <tt>build/*</tt> directory. Don't modify config.target,
59 because this will influence all other developers.
62 cat <<EOF >> config.omk
63 CFLAGS = -O0 -g -Wall -fno-strict-aliasing
64 CXXFLAGS = -O0 -g -Wall -fno-strict-aliasing
71 \section config Using multiple software configurations
73 OMK build system allows to configure compilation process so that we
74 can have multiple configurations of software (e.g.: with odometry
75 feedback or without). On the OMK side, the configuration is done by
76 setting make variables, from which headers files can be automatically
77 generated. In sources <tt>##ifdef</tt> can be used to compile
78 differently under different configuration.
85 produces list of all possible configuration variables in
86 <tt>config.omk-default</tt> (note, that this is also run by
87 <tt>prepare_infrastructure</tt>).
89 To use different value than the default one, put the variable
90 assignment to <tt>config.omk</tt> or (preferably) to
91 <tt>config.omk.local</tt>.
94 echo CONFIG_OPEN_LOOP = y >> config.omk.local
98 If you want to compile other configuration only temporarily you can
102 touch config.omk # make OMK notice a change
103 make CONFIG_OPEN_LOOP=y
106 or a more permanent way:
110 export CONFIG_OPEN_LOOP=y
111 make -e # the -e option is important!