# # Format of this file: descriptionvariable helptext.... # If the question being documented is of type "choice", we list # only the first occurring config variable. The help texts # must not contain empty lines. No variable should occur twice; if it # does, only the first occurrence will be used by Configure. The lines # in a help text should be indented two positions. Lines starting with # `#' are ignored. To be nice to menuconfig, limit your lines to 70 # characters. Use emacs' kfill.el to edit this file or you lose. # CONFIG_MCU_ATMEGA128 Choose your target device. CONFIG_QUARTZ Choose the speed of your target device. This frequency is specified in Hertz. CONFIG_OPTM_0 Choose this option to customize code optimization (see the gcc manual for details). The -Os option is recommanded for most purposes. CONFIG_MATH_LIB Include math lib in the linker flags. CONFIG_MINIMAL_PRINTF Choose printf style. The minimal printf cannot handle floats. The advanced printf can, but it requires the math lib. Disable it if you don't use printf, you'll win some prog space. CONFIG_FORMAT_IHEX Set the default format of generated executable. The Intel HEX format is the default choice, as it is a simple format, supported by avrdude. You can also choose raw binary or S-records (see avr-objcopy manual for details). CONFIG_MODULE_CIRBUF This module provides a circular buffer implementation (fifo or lifo). CONFIG_MODULE_FIXED_POINT This module provides functions for using fixed point variables. Using this type can be faster and/or more accurate than using float in some cases (for example if you mainly do sums). It requires the math lib. CONFIG_MODULE_VECT2 This module provides functions for converting 2D vectors from polar to cartesian and vice versa. CONFIG_MODULE_SCHEDULER The 'scheduler' module is NOT a scheduler in the same way than in a multitask kernel. This module allow to schedule functions in the future (only a call, or periodical call). If CONFIG_MODULE_SCHEDULER_USE_TIMERS option is not enabled, the functions are called from TIMER0 interrupt, else you can choose which timer to use. This module is able to handle priority between events. CONFIG_MODULE_SCHEDULER_CREATE_CONFIG Create a scheduler_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_SCHEDULER_TIMER0 Use either the hardware/timer module, the timer0 or a manual call for the to call the scheduler. The generic timer module support many archs and timers. If you don't enable it, you must use TIMER0 overflow interrupt, and only some AVR are supported, or you should can call the scheduler manually. In this case, the SCHEDULER_UNIT macro has to be defined in configuration file. CONFIG_TIME This module can be used to get a human readable time. It uses the scheduler module. Its goal is not to be very precise, but just simple to use. provides two timers: one in s and us, and one in us which doesn't overflow on seconds (better to substract two times) CONFIG_MODULE_TIME_CREATE_CONFIG Create a time_config.h file if it does not exist, with a default configuration. CONFIG_TIME_EXT This module can be used to have a very precise, yet human-readable, time. It uses TIMER2 in asynchronous mode, you MUST have a 32.768kHz quartz connected to TOSC1 and TOSC2 pins. Provides a global time value (instant 0 is the initialization of the module). Warning: this module uses some hardcoded values for timer 2 configuration, it may not work on all AVR. CONFIG_MODULE_TIME_EXT_CREATE_CONFIG Create a time_ext_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_UART This module provide functions to use the embedded UART or USART in the AVR. With this module, it is more easy to configure it, and data can be emited on interruption. The uart module also contains a fifo for emission and reception (configurable in uart_config.h). CONFIG_MODULE_UART_CREATE_CONFIG Create a uart_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_SPI This module provide functions to use the embedded SPI in the AVR. CONFIG_MODULE_SPI_CREATE_CONFIG Create a spi_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_I2C This module provide functions to use the embedded I2C (TWI interface) in the AVR. CONFIG_MODULE_I2C_CREATE_CONFIG Create a i2c_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_MF2_CLIENT This module provide functions to interface with a device that uses the mf2 protocol. With the client, you can interface with a PS/2 keyboard. CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER Enabling this option avoid active loops and enable mf2 watchdog. The watchdog avoid desynchronisation if there is transmission problems or if keyboard is unplugged during operation. CONFIG_MODULE_MF2_CLIENT_CREATE_CONFIG Create a mf2_client_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_MF2_SERVER This module provide functions to interface with a device that uses the mf2 protocol. With the server, you can emulate a PS/2 keyboard. CONFIG_MODULE_MF2_SERVER_CREATE_CONFIG Create a mf2_server_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_TIMER This module provide some simple functions to use some timers functionnalities of AVR. CONFIG_MODULE_TIMER_CREATE_CONFIG Create a timer_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_PWM This module provide a driver to use the PWM (Pulse Width Modulation) hardware of the AVR : the configuration can be statically or dynamically defined. This module can be replaced by PWM_NG. CONFIG_MODULE_PWM_CREATE_CONFIG Create a pwm_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_PWM_NG This module provide a driver to use the PWM (Pulse Width Modulation) hardware of the AVR : the configuration is set dynamically. CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL This module drives a 3-phase synchronous motor (called brushless) This is done with 3 hall sensors who give the position of the rotor. The controller polls these sensors, and updates 3 PWM outputs to drive the 3 phases. CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE This is a double implementation of the MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL This module drives two 3-phase synchronous motor (called brushless) This is done with 3 hall sensors who give the position of the rotor. The controller polls these sensors, and updates 3 PWM outputs to drive the 3 phases of each motor CONFIG_MODULE_CC2420 This modules implements the protocol to use a CC2420 radio chip. This radio chip is IEEE 802.15.4 compliant and is widely used in wireless sensors. This modules requires SPI to be activated. CONFIG_MODULE_MENU The menu module provides some helpers to create a human-machine interface that uses a tree-organized static menu. CONFIG_MODULE_VT100 This module provides functions to parse vt100 commands. CONFIG_MODULE_RDLINE The rdline module provides an interface for editing a buffer on a vt100 terminal, for instance through a UART. CONFIG_MODULE_RDLINE_CREATE_CONFIG Create a rdline_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_RDLINE_KILL_BUF Enable cut/paste (with CTRL-k and CTRL-y) CONFIG_MODULE_RDLINE_HISTORY Enable history buffer, to save last commands (up and down arrows) CONFIG_MODULE_PARSE The parse module is able to parse a buffer containing strings, numbers, (...) into a C structure. CONFIG_MODULE_LCD This module provide an interface to control an external standard LCD screen (text mode). CONFIG_MODULE_LCD_CREATE_CONFIG Create a lcd_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_MULTISERVO This module provide an interface to command many servo (like in model toys). It uses one timer (a 8 bits or a 16 bits, depending on accuracy you want). As it does not uses the PWM mode of timer, it can consum some CPU time in interrupt, but you can command up to 10 servos and the output ports can be on a non-specialized port. CONFIG_MODULE_MULTISERVO_CREATE_CONFIG Create a servo_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_ENCODERS_MICROB Provide an interface for reading values from encoders. The electric scheme is provided in the file encoders_microb.h CONFIG_MODULE_ENCODERS_SPI Provide an interface for reading values from encoders. This module uses the SPI interface to update values. CONFIG_MODULE_ENCODERS_EIRBOT Provide an interface for reading values from encoders. The electric scheme should be provided in the file encoders_eirbot.h CONFIG_MODULE_ROBOT_SYSTEM The Robot System module role is to provide a virtual system that represents a robot by its angle/distance instead of left/right wheels. It provides a virtual angle/distance PWM and a virtual angle/distance encoder. CONFIG_MODULE_ROBOT_SYSTEM_MOT_AND_EXT If the robot has external and motor encoder, you can use both by defining this option. CONFIG_MODULE_POSITION_MANAGER This module processes the position of the robot, depending of the value returned by the associated robot system, and some physical parameters of the robot. CONFIG_MODULE_TRAJECTORY_MANAGER Manage the control systems of the robot, depending on the position, the physical parameters of the robot, and the user consign. Command can be something like trajectory_goto_xya(...) CONFIG_MODULE_BLOCKING_DETECTION_MANAGER Detect when the robot is blocked on an obstacle. CONFIG_MODULE_OBSTACLE_AVOIDANCE Determine a optimized path from a point to antoher, avioding obstacles. CONTROL_SYSTEM_MANAGER A module that manages a servo control system. It uses filters, like the PID filter to work. This module also needs a the in/out functions of the controled system, for instance encoders and PWM, but it can any other func that has the same interface. CONFIG_MODULE_PID This filter provides a PID (proportionnal, integral, derivate). CONFIG_MODULE_PID_CREATE_CONFIG Create a pid_config.h file if it does not exist, with a default configuration. CONFIG_MODULE_RAMP This module limits the variation of the input of the filter. It can be used in a speed control system as a consign filter to set a maximum acceleration. CONFIG_MODULE_QUADRAMP This module limits the variation of the input, and the variation of the derivate of the input. It can be used in a position control system as a consign filter to specify a maximum acceleration and a maximum speed. CONFIG_MODULE_QUADRAMP_DERIVATE This module generates the same kind of ramp than the quadramp. however here we generate the derivate of this ramp, which is a speed consign which can be fed to a speed PID. The advantages are less computation (no square root), and a better robustness against blocking. CONFIG_MODULE_BIQUAD This module is a general digital filter. It is very useful for all filtering purposes, not only for control loops. You can implement every digital filter with this module ! Sometimes you will have to put a few in series. CONFIG_MODULE_AES Enable AES crypto functions in Aversive CONFIG_MODULE_AES_CTR Enable AES counter mode CONFIG_MODULE_MD5 Enable MD5 alg functions in Aversive CONFIG_MODULE_MD5_HMAC Enable md5 HMAC functions in Aversive CONFIG_MODULE_RC4 Enable RC4 alg functions in Aversive CONFIG_MODULE_BASE64 Enable base64 encoding module, compatible with PEM. CONFIG_MODULE_HAMMING Enable Hamming encoding module, which is an error detection coding system. CONFIG_MODULE_DIAGNOSTIC this module contains tools to view the stack space or the processor charge (interrupts) CONFIG_MODULE_ERROR this module helps storing and handling errors, warnings and so on... CONFIG_AVRDUDE_PROG_FUTURELEC Choose the hardware programmer type. Please see the avrdude manual for details. CONFIG_AVRDUDE_PORT Choose the avrdude device. Under linux, it can be '/dev/parport0' or '/dev/ttyS0', depending on the programmer type. Under win32, it can look like 'com1' for instance. CONFIG_AVRDUDE_BAUDRATE Choose the baudrate. This can be very useful if you are using a stk500 bootloader, and you want to speed it up. CONFIG_AVRDUDE_CHECK_SIGNATURE Avrdude normally checks the device signature, but some bootloaders doesn't implement this, or your device may not communicate with Avrdude. This option allows you to bypass this check. CONFIG_AVRDUDE_FUSE If you enable this option, a script will be launched just after this saving the configuration. This script uses avrdude to program the fuse value of your target device. NOT IMPLEMENTED YET.