]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/doxygen-mainpage.h
Carousel documentation converted to module
[eurobot/public.git] / src / doxygen-mainpage.h
1 /** 
2 @mainpage Eurobot Software Documentation
3
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. .
7
8 Currently, there is documentation to these parts:
9 - \subpage compilation
10 - \ref fsm
11 - \ref trgen
12 - \ref maplib
13 - \ref pp
14 - \ref uoled
15 - \ref leds
16 - \ref canmsg
17 - \ref carousel
18
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.
21
22 \defgroup leds Meanings of LEDs on various boards
23
24 \defgroup canmsg CAN bus messages
25
26 \dir common
27 Common files for all supported targets (CAN message IDs etc.).
28
29 \dir hello
30 Demo application to test compilation and demonstrate OMK usage.
31
32 \dir laser-nav/matlab
33 Matlab/Simulink tests for localization and trajectory generation.
34
35 \dir robofsm
36 Main robot-control application(s) and support files.
37
38 \page compilation How to compile it
39
40 Before first compilation, you should execute
41 <tt>build/prepare_infrastructure script</tt>. 
42 \verbatim
43 cd build
44 ./prepare_infrastructure
45 \endverbatim
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
49 call 
50 \verbatim
51 cd linux
52 make
53 \endverbatim
54
55 \section cflags Custom compilation flags
56
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.
60
61 \verbatim
62 cat <<EOF >> config.omk
63 CFLAGS = -O0 -g -Wall -fno-strict-aliasing
64 CXXFLAGS = -O0 -g -Wall -fno-strict-aliasing
65 EOF
66
67 make clean
68 make
69 \endverbatim
70
71 \section config Using multiple software configurations
72
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.
79
80 Running
81 \verbatim
82 make default-config
83 \endverbatim
84
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>).
88
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>.
92
93 \verbatim
94 echo CONFIG_OPEN_LOOP = y >> config.omk.local
95 make
96 \endverbatim
97
98 If you want to compile other configuration only temporarily you can
99 you the following:
100
101 \verbatim
102 touch config.omk  # make OMK notice a change
103 make CONFIG_OPEN_LOOP=y
104 \endverbatim
105
106 or a more permanent way:
107
108 \verbatim
109 touch config.omk
110 export CONFIG_OPEN_LOOP=y
111 make -e  # the -e option is important!
112 \endverbatim
113
114 */