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 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.
62 CONFIG_MODULE_SCHEDULER_CREATE_CONFIG
63 Create a scheduler_config.h file if it does not exist, with a default
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.
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
82 CONFIG_MODULE_TIME_CREATE_CONFIG
83 Create a time_config.h file if it does not exist, with a default
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.
95 CONFIG_MODULE_TIME_EXT_CREATE_CONFIG
96 Create a time_ext_config.h file if it does not exist, with a default
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).
105 CONFIG_MODULE_UART_CREATE_CONFIG
106 Create a uart_config.h file if it does not exist, with a default
110 This module provide functions to use the embedded SPI in
113 CONFIG_MODULE_SPI_CREATE_CONFIG
114 Create a spi_config.h file if it does not exist, with a default
118 This module provide functions to use the embedded I2C (TWI
119 interface) in the AVR.
121 CONFIG_MODULE_I2C_CREATE_CONFIG
122 Create a i2c_config.h file if it does not exist, with a default
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.
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.
134 CONFIG_MODULE_MF2_CLIENT_CREATE_CONFIG
135 Create a mf2_client_config.h file if it does not exist, with a default
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.
142 CONFIG_MODULE_MF2_SERVER_CREATE_CONFIG
143 Create a mf2_server_config.h file if it does not exist, with a default
148 This module provide some simple functions to use some timers
149 functionnalities of AVR.
151 CONFIG_MODULE_TIMER_CREATE_CONFIG
152 Create a timer_config.h file if it does not exist, with a default
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.
160 CONFIG_MODULE_PWM_CREATE_CONFIG
161 Create a pwm_config.h file if it does not exist, with a default
165 This module provide a driver to use the PWM (Pulse Width Modulation)
166 hardware of the AVR : the configuration is set dynamically.
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
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
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
187 This modules requires SPI to be activated.
190 The menu module provides some helpers to create a human-machine
191 interface that uses a tree-organized static menu.
194 This module provides functions to parse vt100 commands.
197 The rdline module provides an interface for editing a buffer on a
198 vt100 terminal, for instance through a UART.
200 CONFIG_MODULE_RDLINE_CREATE_CONFIG
201 Create a rdline_config.h file if it does not exist, with a default
204 CONFIG_MODULE_RDLINE_KILL_BUF
205 Enable cut/paste (with CTRL-k and CTRL-y)
207 CONFIG_MODULE_RDLINE_HISTORY
208 Enable history buffer, to save last commands (up and down arrows)
211 The parse module is able to parse a buffer containing strings,
212 numbers, (...) into a C structure.
216 This module provide an interface to control an external standard
217 LCD screen (text mode).
219 CONFIG_MODULE_LCD_CREATE_CONFIG
220 Create a lcd_config.h file if it does not exist, with a default
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.
231 CONFIG_MODULE_MULTISERVO_CREATE_CONFIG
232 Create a servo_config.h file if it does not exist, with a default
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
240 CONFIG_MODULE_ENCODERS_SPI
241 Provide an interface for reading values from encoders. This module
242 uses the SPI interface to update values.
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
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.
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.
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.
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(...)
268 CONFIG_MODULE_BLOCKING_DETECTION_MANAGER
269 Detect when the robot is blocked on an obstacle.
271 CONFIG_MODULE_OBSTACLE_AVOIDANCE
272 Determine a optimized path from a point to antoher, avioding
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.
283 This filter provides a PID (proportionnal, integral, derivate).
285 CONFIG_MODULE_PID_CREATE_CONFIG
286 Create a pid_config.h file if it does not exist, with a default
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.
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
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.
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
314 Enable AES crypto functions in Aversive
316 CONFIG_MODULE_AES_CTR
317 Enable AES counter mode
320 Enable MD5 alg functions in Aversive
322 CONFIG_MODULE_MD5_HMAC
323 Enable md5 HMAC functions in Aversive
326 Enable RC4 alg functions in Aversive
330 Enable base64 encoding module, compatible with PEM.
332 CONFIG_MODULE_HAMMING
333 Enable Hamming encoding module, which is an error detection
337 CONFIG_MODULE_DIAGNOSTIC
338 this module contains tools to view the stack space or the processor
342 this module helps storing and handling errors, warnings and so on...
344 CONFIG_AVRDUDE_PROG_FUTURELEC
345 Choose the hardware programmer type. Please see the avrdude manual
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.
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.
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.
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.