better compilation on host
[aversive.git] / config / Configure.help
1 #
2 # Format of this file: description<nl>variable<nl>  helptext<nl>...<nl><nl>.
3 # If the question being documented is of type "choice", we list
4 # only the first occurring config variable. The help texts
5 # must not contain empty lines. No variable should occur twice; if it
6 # does, only the first occurrence will be used by Configure. The lines
7 # in a help text should be indented two positions. Lines starting with
8 # `#' are ignored. To be nice to menuconfig, limit your lines to 70
9 # characters. Use emacs' kfill.el to edit this file or you lose.
10 #
11
12 CONFIG_MCU_ATMEGA128
13   Choose your target device.
14
15 CONFIG_QUARTZ
16   Choose the speed of your target device. This frequency is specified in
17   Hertz.
18
19 CONFIG_OPTM_0
20   Choose this option to customize code optimization (see
21   the gcc manual for details). The -Os option is recommanded
22   for most purposes.
23
24 CONFIG_MATH_LIB
25   Include math lib in the linker flags.
26
27 CONFIG_MINIMAL_PRINTF
28   Choose printf style. The minimal printf cannot handle floats. The advanced 
29   printf can, but it requires the math lib. Disable it if you don't use
30   printf, you'll win some prog space.
31
32 CONFIG_FORMAT_IHEX
33   Set the default format of generated executable. The Intel HEX
34   format is the default choice, as it is a simple format, supported 
35   by avrdude. You can also choose raw binary or S-records (see 
36   avr-objcopy manual for details).
37
38
39
40 CONFIG_MODULE_CIRBUF
41   This module provides a circular buffer implementation (fifo or lifo).
42
43 CONFIG_MODULE_FIXED_POINT
44   This module provides functions for using fixed point variables. Using
45   this type can be faster and/or more accurate than using float in some 
46   cases (for example if you mainly do sums). It requires the math lib.
47
48
49 CONFIG_MODULE_VECT2
50   This module provides functions for converting 2D vectors from 
51   polar to cartesian and vice versa.
52
53
54 CONFIG_MODULE_SCHEDULER
55   The 'scheduler' module is NOT a scheduler in the same way than in
56   a multitask kernel. This module allow to schedule functions in the
57   future (only a call, or periodical call). If CONFIG_MODULE_SCHEDULER_USE_TIMERS
58   option is not enabled, the functions are called from TIMER0 interrupt, 
59   else you can choose which timer to use. This module is able to handle 
60   priority between events.
61
62 CONFIG_MODULE_SCHEDULER_CREATE_CONFIG
63   Create a scheduler_config.h file if it does not exist, with a default
64   configuration.
65
66 CONFIG_MODULE_SCHEDULER_TIMER0
67   Use either the hardware/timer module, the timer0 or a manual call 
68   for the to call the scheduler. The generic timer module support 
69   many archs and timers. If you don't enable it, you must use TIMER0 
70   overflow interrupt, and only some AVR are supported, or you should
71   can call the scheduler manually. In this case, the SCHEDULER_UNIT 
72   macro has to be defined in configuration file.
73
74
75 CONFIG_TIME
76   This module can be used to get a human readable time. It uses the
77   scheduler module. Its goal is not to be very precise, but just
78   simple to use.  provides two timers: one in s and us, and one in
79   us which doesn't overflow on seconds (better to substract two
80   times)
81
82 CONFIG_MODULE_TIME_CREATE_CONFIG
83   Create a time_config.h file if it does not exist, with a default
84   configuration.
85
86
87 CONFIG_TIME_EXT
88   This module can be used to have a very precise, yet human-readable,
89   time. It uses TIMER2 in asynchronous mode, you MUST have a 32.768kHz
90   quartz connected to TOSC1 and TOSC2 pins.
91   Provides a global time value (instant 0 is the initialization of the
92   module). Warning: this module uses some hardcoded values for
93   timer 2 configuration, it may not work on all AVR.
94
95 CONFIG_MODULE_TIME_EXT_CREATE_CONFIG
96   Create a time_ext_config.h file if it does not exist, with a default
97   configuration.
98
99 CONFIG_MODULE_UART
100   This module provide functions to use the embedded UART or USART in
101   the AVR. With this module, it is more easy to configure it, and
102   data can be emited on interruption. The uart module also contains
103   a fifo for emission and reception (configurable in uart_config.h).
104
105 CONFIG_MODULE_UART_CREATE_CONFIG
106   Create a uart_config.h file if it does not exist, with a default
107   configuration.
108
109 CONFIG_MODULE_SPI
110   This module provide functions to use the embedded SPI in
111   the AVR.
112
113 CONFIG_MODULE_SPI_CREATE_CONFIG
114   Create a spi_config.h file if it does not exist, with a default
115   configuration.
116
117 CONFIG_MODULE_I2C
118   This module provide functions to use the embedded I2C (TWI
119   interface) in the AVR.
120
121 CONFIG_MODULE_I2C_CREATE_CONFIG
122   Create a i2c_config.h file if it does not exist, with a default
123   configuration.
124
125 CONFIG_MODULE_MF2_CLIENT
126   This module provide functions to interface with a device that uses
127   the mf2 protocol. With the client, you can interface with a PS/2 keyboard.
128
129 CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
130   Enabling this option avoid active loops and enable mf2 watchdog. 
131   The watchdog avoid desynchronisation if there is transmission
132   problems or if keyboard is unplugged during operation.
133
134 CONFIG_MODULE_MF2_CLIENT_CREATE_CONFIG
135   Create a mf2_client_config.h file if it does not exist, with a default
136   configuration.
137
138 CONFIG_MODULE_MF2_SERVER
139   This module provide functions to interface with a device that uses
140   the mf2 protocol. With the server, you can emulate a PS/2 keyboard.
141
142 CONFIG_MODULE_MF2_SERVER_CREATE_CONFIG
143   Create a mf2_server_config.h file if it does not exist, with a default
144   configuration.
145
146
147 CONFIG_MODULE_TIMER
148   This module provide some simple functions to use some timers 
149   functionnalities of AVR.
150
151 CONFIG_MODULE_TIMER_CREATE_CONFIG
152   Create a timer_config.h file if it does not exist, with a default
153   configuration.
154
155 CONFIG_MODULE_PWM
156   This module provide a driver to use the PWM (Pulse Width Modulation) 
157   hardware of the AVR : the configuration can be statically or dynamically
158   defined. This module can be replaced by PWM_NG.
159
160 CONFIG_MODULE_PWM_CREATE_CONFIG
161   Create a pwm_config.h file if it does not exist, with a default
162   configuration.
163
164 CONFIG_MODULE_PWM_NG
165   This module provide a driver to use the PWM (Pulse Width Modulation) 
166   hardware of the AVR : the configuration is set dynamically.
167
168
169
170 CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL
171   This module drives a 3-phase synchronous motor (called brushless)
172   This is done with 3 hall sensors who give the position of the rotor.
173   The controller polls these sensors, and updates 3 PWM outputs to drive
174   the 3 phases.
175
176 CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE
177   This is a double implementation of the MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL
178   This module drives two 3-phase synchronous motor (called brushless)
179   This is done with 3 hall sensors who give the position of the rotor.
180   The controller polls these sensors, and updates 3 PWM outputs to drive
181   the 3 phases of each motor
182
183 CONFIG_MODULE_CC2420
184   This modules implements the protocol to use a CC2420 radio chip.
185   This radio chip is IEEE 802.15.4 compliant and is widely used
186   in wireless sensors.
187   This modules requires SPI to be activated.
188
189 CONFIG_MODULE_MENU
190   The menu module provides some helpers to create a human-machine
191   interface that uses a tree-organized static menu.
192
193 CONFIG_MODULE_VT100
194   This module provides functions to parse vt100 commands.
195
196 CONFIG_MODULE_RDLINE
197   The rdline module provides an interface for editing a buffer on a
198   vt100 terminal, for instance through a UART.
199
200 CONFIG_MODULE_RDLINE_CREATE_CONFIG
201   Create a rdline_config.h file if it does not exist, with a default
202   configuration.
203
204 CONFIG_MODULE_RDLINE_KILL_BUF
205   Enable cut/paste (with CTRL-k and CTRL-y)
206
207 CONFIG_MODULE_RDLINE_HISTORY
208   Enable history buffer, to save last commands (up and down arrows)
209
210 CONFIG_MODULE_PARSE
211   The parse module is able to parse a buffer containing strings, 
212   numbers, (...) into a C structure.
213
214
215 CONFIG_MODULE_LCD
216   This module provide an interface to control an external standard
217   LCD screen (text mode).
218
219 CONFIG_MODULE_LCD_CREATE_CONFIG
220   Create a lcd_config.h file if it does not exist, with a default
221   configuration.
222
223
224 CONFIG_MODULE_MULTISERVO
225   This module provide an interface to command many servo (like in model
226   toys). It uses one timer (a 8 bits or a 16 bits, depending on accuracy
227   you want). As it does not uses the PWM mode of timer, it can consum
228   some CPU time in interrupt, but you can command up to 10 servos
229   and the output ports can be on a non-specialized port.
230
231 CONFIG_MODULE_MULTISERVO_CREATE_CONFIG
232   Create a servo_config.h file if it does not exist, with a default
233   configuration.
234
235
236 CONFIG_MODULE_ENCODERS_MICROB
237   Provide an interface for reading values from encoders. The electric
238   scheme is provided in the file encoders_microb.h
239
240 CONFIG_MODULE_ENCODERS_SPI
241   Provide an interface for reading values from encoders. This module
242   uses the SPI interface to update values.
243
244 CONFIG_MODULE_ENCODERS_EIRBOT
245   Provide an interface for reading values from encoders. The electric
246   scheme should be provided in the file encoders_eirbot.h
247
248 CONFIG_MODULE_ROBOT_SYSTEM
249   The Robot System module role is to provide a virtual system that
250   represents a robot by its angle/distance instead of left/right 
251   wheels. It provides a virtual angle/distance PWM and a virtual
252   angle/distance encoder.
253
254 CONFIG_MODULE_ROBOT_SYSTEM_MOT_AND_EXT
255   If the robot has external and motor encoder, you can use both 
256   by defining this option.
257
258 CONFIG_MODULE_POSITION_MANAGER
259   This module processes the position of the robot, depending of the 
260   value returned by the associated robot system, and some physical
261   parameters of the robot.
262
263 CONFIG_MODULE_TRAJECTORY_MANAGER
264   Manage the control systems of the robot, depending on the position,
265   the physical parameters of the robot, and the user consign. Command
266   can be something like trajectory_goto_xya(...)
267
268 CONFIG_MODULE_BLOCKING_DETECTION_MANAGER
269   Detect when the robot is blocked on an obstacle.
270
271 CONFIG_MODULE_OBSTACLE_AVOIDANCE
272   Determine a optimized path from a point to antoher, avioding
273   obstacles.
274
275
276 CONTROL_SYSTEM_MANAGER
277   A module that manages a servo control system. It uses filters, like
278   the PID filter to work. This module also needs a the in/out functions
279   of the controled system, for instance encoders and PWM, but it can
280   any other func that has the same interface.
281
282 CONFIG_MODULE_PID
283   This filter provides a PID (proportionnal, integral, derivate).
284
285 CONFIG_MODULE_PID_CREATE_CONFIG
286   Create a pid_config.h file if it does not exist, with a default
287   configuration.
288
289 CONFIG_MODULE_RAMP
290   This module limits the variation of the input of the filter. It can
291   be used in a speed control system as a consign filter to set a 
292   maximum acceleration.
293
294 CONFIG_MODULE_QUADRAMP
295   This module limits the variation of the input, and the variation 
296   of the derivate of the input. It can be used in a position control 
297   system as a consign filter to specify a maximum acceleration and a 
298   maximum speed.
299
300 CONFIG_MODULE_QUADRAMP_DERIVATE
301   This module generates the same kind of ramp than the quadramp.
302   however here we generate the derivate of this ramp, which is a speed
303   consign which can be fed to a speed PID.
304   The advantages are less computation (no square root), and a better
305   robustness against blocking.
306
307 CONFIG_MODULE_BIQUAD
308   This module is a general digital filter. It is very useful for all
309   filtering purposes, not only for control loops. You can implement
310   every digital filter with this module ! Sometimes you will have to
311   put a few in series.
312
313 CONFIG_MODULE_AES
314   Enable AES crypto functions in Aversive
315
316 CONFIG_MODULE_AES_CTR
317   Enable AES counter mode
318
319 CONFIG_MODULE_MD5
320   Enable MD5 alg functions in Aversive
321
322 CONFIG_MODULE_MD5_HMAC
323   Enable md5 HMAC functions in Aversive
324
325 CONFIG_MODULE_RC4
326   Enable RC4 alg functions in Aversive
327
328
329 CONFIG_MODULE_BASE64
330   Enable base64 encoding module, compatible with PEM.
331
332 CONFIG_MODULE_HAMMING
333   Enable Hamming encoding module, which is an error detection
334   coding system.
335
336
337 CONFIG_MODULE_DIAGNOSTIC
338   this module contains tools to view the stack space or the processor
339   charge (interrupts)
340
341 CONFIG_MODULE_ERROR
342   this module helps storing and handling errors, warnings and so on...
343
344 CONFIG_AVRDUDE_PROG_FUTURELEC
345   Choose the hardware programmer type. Please see the avrdude manual
346   for details.
347
348 CONFIG_AVRDUDE_PORT
349   Choose the avrdude device. Under linux, it can be '/dev/parport0' or 
350   '/dev/ttyS0', depending on the programmer type. Under win32, it can
351   look like 'com1' for instance.
352
353 CONFIG_AVRDUDE_BAUDRATE
354   Choose the baudrate. This can be very useful if you are using a stk500
355   bootloader, and you want to speed it up.
356
357 CONFIG_AVRDUDE_CHECK_SIGNATURE
358   Avrdude normally checks the device signature, but some bootloaders doesn't
359   implement this, or your device may not communicate with Avrdude. This option
360   allows you to bypass this check.
361
362 CONFIG_AVRDUDE_FUSE
363   If you enable this option, a script will be launched just after this
364   saving the configuration. This script uses avrdude to program the
365   fuse value of your target device. NOT IMPLEMENTED YET.