]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/doxygen-mainpage.h
Updated doxygen documentation to cover all sources
[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 - carousel.c TODO - convert to module
16
17 To regenerate this documentation, run @c doxygen in @c
18 soft/src directory. The result can be found in @c
19 soft/src/doc/html/index.html.
20
21 \dir common
22 Common files for all supported targets (CAN message IDs etc.).
23
24 \dir hello
25 Demo application to test compilation and demonstrate OMK usage.
26
27 \dir laser-nav/matlab
28 Matlab/Simulink tests for localization and trajectory generation.
29
30 \dir robofsm
31 Main robot-control application(s) and support files.
32
33 \page compilation How to compile it
34
35 Before first compilation, you should execute
36 <tt>build/prepare_infrastructure script</tt>. 
37 \verbatim
38 cd build
39 ./prepare_infrastructure script
40 \endverbatim
41 It downloads repository
42 for @c h8s processors and configures sources. Then, it should be
43 sufficient to go to the <tt>build/<em><target></em></tt> directory and
44 call 
45 \verbatim
46 cd linux
47 make
48 \endverbatim
49
50 \section cflags Custom compilation flags
51
52 To compile the project with debugging flags, put them to
53 config.omk.local. Don't modify config.omk, because this will influence
54 all other developers.
55 \verbatim
56 cat <<EOF >> config.omk.local
57 CFLAGS = -O0 -g -Wall -fno-strict-aliasing
58 CXXFLAGS = -O0 -g -Wall -fno-strict-aliasing
59 EOF
60
61 make clean
62 make
63 \endverbatim
64
65 \section config Using multiple software configurations
66
67 OMK build system allows to configure compilation process so that we
68 can have multiple configurations of software (e.g.: with odometry
69 feedback or without). On the OMK side, the configuration is done by
70 setting make variables, from which headers files can be automatically
71 generated. In sources <tt>##ifdef</tt> can be used to compile
72 differently under different configuration.
73
74 Running
75 \verbatim
76 make default-config
77 \endverbatim
78
79 produces list of all possible configuration variables in
80 <tt>config.omk-default</tt> (note, that this is also run by
81 <tt>prepare_infrastructure</tt>).
82
83 To use different value than the default one, put the variable
84 assignment to <tt>config.omk</tt> or (preferably) to
85 <tt>config.omk.local</tt>.
86
87 \verbatim
88 echo CONFIG_OPEN_LOOP = y >> config.omk.local
89 make
90 \endverbatim
91
92 If you want to compile other configuration only temporarily you can
93 you the following:
94
95 \verbatim
96 touch config.omk  # make OMK notice a change
97 make CONFIG_OPEN_LOOP=y
98 \endverbatim
99
100 or a more permanent way:
101
102 \verbatim
103 touch config.omk
104 export CONFIG_OPEN_LOOP=y
105 make -e  # the -e option is important!
106 \endverbatim
107
108 */