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.
13 Choose your target device.
16 Choose the speed of your target device. This frequency is specified in
20 Choose this option to customize code optimization (see
21 the gcc manual for details). The -Os option is recommanded
25 Include math lib in the linker flags.
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.
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).
41 This module provides a circular buffer implementation (fifo or lifo).
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.
50 This module provides functions for converting 2D vectors from
51 polar to cartesian and vice versa.
54 AVR simulator. This code is used on host (PC for instance) to
55 generate a signal that will call other aversive modules like
56 scheduler or uart. The goal is to simulate the behaviour of
57 hardware interrupts in a unix application. This has no effect
58 when compiling for AVR.
61 CONFIG_MODULE_SCHEDULER
62 The 'scheduler' module is NOT a scheduler in the same way than in
63 a multitask kernel. This module allow to schedule functions in the
64 future (only a call, or periodical call). If CONFIG_MODULE_SCHEDULER_USE_TIMERS
65 option is not enabled, the functions are called from TIMER0 interrupt,
66 else you can choose which timer to use. This module is able to handle
67 priority between events.
69 CONFIG_MODULE_SCHEDULER_CREATE_CONFIG
70 Create a scheduler_config.h file if it does not exist, with a default
73 CONFIG_MODULE_SCHEDULER_USE_TIMERS
74 Use either the hardware/timer module, the timer0 or a manual call
75 for the to call the scheduler. The generic timer module support
76 many archs and timers. If you don't enable it, you must use TIMER0
77 overflow interrupt, and only some AVR are supported, or you should
78 can call the scheduler manually. In this case, the SCHEDULER_UNIT
79 macro has to be defined in configuration file.
83 The 'callout' module is another timer manager that aims to replace the
84 scheduler module. The management of timers can be done either from an
85 asynchronous interruption or from the main program. This module is
86 able to handle priorities between timers and allow to reschedule
87 a timer later if its priority is too low.
91 This module can be used to get a human readable time. It uses the
92 scheduler module. Its goal is not to be very precise, but just
93 simple to use. provides two timers: one in s and us, and one in
94 us which doesn't overflow on seconds (better to substract two
97 CONFIG_MODULE_TIME_CREATE_CONFIG
98 Create a time_config.h file if it does not exist, with a default
103 This module can be used to have a very precise, yet human-readable,
104 time. It uses TIMER2 in asynchronous mode, you MUST have a 32.768kHz
105 quartz connected to TOSC1 and TOSC2 pins.
106 Provides a global time value (instant 0 is the initialization of the
107 module). Warning: this module uses some hardcoded values for
108 timer 2 configuration, it may not work on all AVR.
110 CONFIG_MODULE_TIME_EXT_CREATE_CONFIG
111 Create a time_ext_config.h file if it does not exist, with a default
115 This module provide functions to use the embedded UART or USART in
116 the AVR. With this module, it is more easy to configure it, and
117 data can be emited on interruption. The uart module also contains
118 a fifo for emission and reception (configurable in uart_config.h).
120 CONFIG_MODULE_UART_CREATE_CONFIG
121 Create a uart_config.h file if it does not exist, with a default
125 This module provide functions to use the embedded SPI in
128 CONFIG_MODULE_SPI_CREATE_CONFIG
129 Create a spi_config.h file if it does not exist, with a default
133 This module provide functions to use the embedded I2C (TWI
134 interface) in the AVR.
136 CONFIG_MODULE_I2C_CREATE_CONFIG
137 Create a i2c_config.h file if it does not exist, with a default
140 CONFIG_MODULE_MF2_CLIENT
141 This module provide functions to interface with a device that uses
142 the mf2 protocol. With the client, you can interface with a PS/2 keyboard.
144 CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
145 Enabling this option avoid active loops and enable mf2 watchdog.
146 The watchdog avoid desynchronisation if there is transmission
147 problems or if keyboard is unplugged during operation.
149 CONFIG_MODULE_MF2_CLIENT_CREATE_CONFIG
150 Create a mf2_client_config.h file if it does not exist, with a default
153 CONFIG_MODULE_MF2_SERVER
154 This module provide functions to interface with a device that uses
155 the mf2 protocol. With the server, you can emulate a PS/2 keyboard.
157 CONFIG_MODULE_MF2_SERVER_CREATE_CONFIG
158 Create a mf2_server_config.h file if it does not exist, with a default
163 This module provide some simple functions to use some timers
164 functionnalities of AVR.
166 CONFIG_MODULE_TIMER_CREATE_CONFIG
167 Create a timer_config.h file if it does not exist, with a default
171 This module provide a driver to use the PWM (Pulse Width Modulation)
172 hardware of the AVR : the configuration can be statically or dynamically
173 defined. This module can be replaced by PWM_NG.
175 CONFIG_MODULE_PWM_CREATE_CONFIG
176 Create a pwm_config.h file if it does not exist, with a default
180 This module provide a driver to use the PWM (Pulse Width Modulation)
181 hardware of the AVR : the configuration is set dynamically.
185 CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL
186 This module drives a 3-phase synchronous motor (called brushless)
187 This is done with 3 hall sensors who give the position of the rotor.
188 The controller polls these sensors, and updates 3 PWM outputs to drive
191 CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE
192 This is a double implementation of the MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL
193 This module drives two 3-phase synchronous motor (called brushless)
194 This is done with 3 hall sensors who give the position of the rotor.
195 The controller polls these sensors, and updates 3 PWM outputs to drive
196 the 3 phases of each motor
199 This modules implements the protocol to use a CC2420 radio chip.
200 This radio chip is IEEE 802.15.4 compliant and is widely used
202 This modules requires SPI to be activated.
205 This modules implements the protocol to use a xbee radio chip.
206 It currently only supports xbee868.
208 CONFIG_MODULE_XBEE_STATS
209 Enable xbee statistics (takes ~100 bytes per device).
211 CONFIG_MODULE_XBEE_ATCMD_HELP
212 Embed help strings of AT commands in program memory.
215 The menu module provides some helpers to create a human-machine
216 interface that uses a tree-organized static menu.
219 This module provides functions to parse vt100 commands.
222 The rdline module provides an interface for editing a buffer on a
223 vt100 terminal, for instance through a UART.
225 CONFIG_MODULE_RDLINE_CREATE_CONFIG
226 Create a rdline_config.h file if it does not exist, with a default
229 CONFIG_MODULE_RDLINE_KILL_BUF
230 Enable cut/paste (with CTRL-k and CTRL-y)
232 CONFIG_MODULE_RDLINE_HISTORY
233 Enable history buffer, to save last commands (up and down arrows)
236 The parse module is able to parse a buffer containing strings,
237 numbers, (...) into a C structure.
241 This module provide an interface to control an external standard
242 LCD screen (text mode).
244 CONFIG_MODULE_LCD_CREATE_CONFIG
245 Create a lcd_config.h file if it does not exist, with a default
249 CONFIG_MODULE_MULTISERVO
250 This module provide an interface to command many servo (like in model
251 toys). It uses one timer (a 8 bits or a 16 bits, depending on accuracy
252 you want). As it does not uses the PWM mode of timer, it can consum
253 some CPU time in interrupt, but you can command up to 10 servos
254 and the output ports can be on a non-specialized port.
256 CONFIG_MODULE_MULTISERVO_CREATE_CONFIG
257 Create a servo_config.h file if it does not exist, with a default
261 CONFIG_MODULE_ENCODERS_MICROB
262 Provide an interface for reading values from encoders. The electric
263 scheme is provided in the file encoders_microb.h
265 CONFIG_MODULE_ENCODERS_SPI
266 Provide an interface for reading values from encoders. This module
267 uses the SPI interface to update values.
269 CONFIG_MODULE_ENCODERS_EIRBOT
270 Provide an interface for reading values from encoders. The electric
271 scheme should be provided in the file encoders_eirbot.h
273 CONFIG_MODULE_ROBOT_SYSTEM
274 The Robot System module role is to provide a virtual system that
275 represents a robot by its angle/distance instead of left/right
276 wheels. It provides a virtual angle/distance PWM and a virtual
277 angle/distance encoder.
279 CONFIG_MODULE_ROBOT_SYSTEM_MOT_AND_EXT
280 If the robot has external and motor encoder, you can use both
281 by defining this option.
283 CONFIG_MODULE_POSITION_MANAGER
284 This module processes the position of the robot, depending of the
285 value returned by the associated robot system, and some physical
286 parameters of the robot.
288 CONFIG_MODULE_TRAJECTORY_MANAGER
289 Manage the control systems of the robot, depending on the position,
290 the physical parameters of the robot, and the user consign. Command
291 can be something like trajectory_goto_xya(...)
293 CONFIG_MODULE_BLOCKING_DETECTION_MANAGER
294 Detect when the robot is blocked on an obstacle.
296 CONFIG_MODULE_OBSTACLE_AVOIDANCE
297 Determine a optimized path from a point to antoher, avioding
301 CONTROL_SYSTEM_MANAGER
302 A module that manages a servo control system. It uses filters, like
303 the PID filter to work. This module also needs a the in/out functions
304 of the controled system, for instance encoders and PWM, but it can
305 any other func that has the same interface.
308 This filter provides a PID (proportionnal, integral, derivate).
310 CONFIG_MODULE_PID_CREATE_CONFIG
311 Create a pid_config.h file if it does not exist, with a default
315 This module limits the variation of the input of the filter. It can
316 be used in a speed control system as a consign filter to set a
317 maximum acceleration.
319 CONFIG_MODULE_QUADRAMP
320 This module limits the variation of the input, and the variation
321 of the derivate of the input. It can be used in a position control
322 system as a consign filter to specify a maximum acceleration and a
325 CONFIG_MODULE_QUADRAMP_DERIVATE
326 This module generates the same kind of ramp than the quadramp.
327 however here we generate the derivate of this ramp, which is a speed
328 consign which can be fed to a speed PID.
329 The advantages are less computation (no square root), and a better
330 robustness against blocking.
333 This module is a general digital filter. It is very useful for all
334 filtering purposes, not only for control loops. You can implement
335 every digital filter with this module ! Sometimes you will have to
339 Enable AES crypto functions in Aversive
341 CONFIG_MODULE_AES_CTR
342 Enable AES counter mode
345 Enable MD5 alg functions in Aversive
347 CONFIG_MODULE_MD5_HMAC
348 Enable md5 HMAC functions in Aversive
351 Enable RC4 alg functions in Aversive
355 Enable base64 encoding module, compatible with PEM.
357 CONFIG_MODULE_HAMMING
358 Enable Hamming encoding module, which is an error detection
362 CONFIG_MODULE_DIAGNOSTIC
363 this module contains tools to view the stack space or the processor
367 this module helps storing and handling errors, warnings and so on...
369 CONFIG_AVRDUDE_PROG_FUTURELEC
370 Choose the hardware programmer type. Please see the avrdude manual
374 Choose the avrdude device. Under linux, it can be '/dev/parport0' or
375 '/dev/ttyS0', depending on the programmer type. Under win32, it can
376 look like 'com1' for instance.
378 CONFIG_AVRDUDE_BAUDRATE
379 Choose the baudrate. This can be very useful if you are using a stk500
380 bootloader, and you want to speed it up.
382 CONFIG_AVRDUDE_CHECK_SIGNATURE
383 Avrdude normally checks the device signature, but some bootloaders doesn't
384 implement this, or your device may not communicate with Avrdude. This option
385 allows you to bypass this check.
388 If you enable this option, a script will be launched just after this
389 saving the configuration. This script uses avrdude to program the
390 fuse value of your target device. NOT IMPLEMENTED YET.