mainmenu_name "Aversive project configuration" ############################################################################# mainmenu_option next_comment comment 'Hardware' # name must be CONFIG_MCU_##mcu name## choice 'Avr type' "\ AT90s2313 CONFIG_MCU_AT90S2313 \ AT90s2323 CONFIG_MCU_AT90S2323 \ AT90s2333 CONFIG_MCU_AT90S3333 \ AT90s2343 CONFIG_MCU_AT90S2343 \ ATtiny22 CONFIG_MCU_ATTINY22 \ ATtiny26 CONFIG_MCU_ATTINY26 \ AT90s4414 CONFIG_MCU_AT90S4414 \ AT90s4433 CONFIG_MCU_AT90S4433 \ AT90s4434 CONFIG_MCU_AT90S4434 \ AT90s8515 CONFIG_MCU_AT90S8515 \ AT90c8534 CONFIG_MCU_AT90S8534 \ AT90s8535 CONFIG_MCU_AT90S8535 \ AT86rf401 CONFIG_MCU_AT86RF401 \ ATmega103 CONFIG_MCU_ATMEGA103 \ ATmega603 CONFIG_MCU_ATMEGA603 \ AT43usb320 CONFIG_MCU_AT43USB320 \ AT43usb355 CONFIG_MCU_AT43USB355 \ AT76c711 CONFIG_MCU_AT76C711 \ ATmega8 CONFIG_MCU_ATMEGA8 \ ATmega48 CONFIG_MCU_ATMEGA48 \ ATmega88 CONFIG_MCU_ATMEGA88 \ ATmega8515 CONFIG_MCU_ATMEGA8515 \ ATmega8535 CONFIG_MCU_ATMEGA8535 \ ATtiny13 CONFIG_MCU_ATTINY13 \ ATtiny2313 CONFIG_MCU_ATTINY2313 \ ATmega16 CONFIG_MCU_ATMEGA16 \ ATmega161 CONFIG_MCU_ATMEGA161 \ ATmega162 CONFIG_MCU_ATMEGA162 \ ATmega163 CONFIG_MCU_ATMEGA163 \ ATmega165 CONFIG_MCU_ATMEGA165 \ ATmega168 CONFIG_MCU_ATMEGA168 \ ATmega169 CONFIG_MCU_ATMEGA169 \ ATmega32 CONFIG_MCU_ATMEGA32 \ ATmega323 CONFIG_MCU_ATMEGA323 \ ATmega325 CONFIG_MCU_ATMEGA325 \ ATmega3250 CONFIG_MCU_ATMEGA3250 \ ATmega64 CONFIG_MCU_ATMEGA64 \ ATmega645 CONFIG_MCU_ATMEGA645 \ ATmega6450 CONFIG_MCU_ATMEGA6450 \ ATmega128 CONFIG_MCU_ATMEGA128 \ ATmega1281 CONFIG_MCU_ATMEGA1281 \ AT90can128 CONFIG_MCU_AT90CAN128 \ AT94k CONFIG_MCU_AT94K \ AT90s1200 CONFIG_MCU_AT90S1200 \ ATmega2560 CONFIG_MCU_ATMEGA2560 \ ATmega256 CONFIG_MCU_ATMEGA256 \ " ATmega128 int 'Quartz Frequency (Hz)' CONFIG_QUARTZ '12000000' endmenu ############################################################################# mainmenu_option next_comment comment 'Generation options' choice 'Optimization level' "\ -O0 CONFIG_OPTM_0 \ -O1 CONFIG_OPTM_1 \ -O2 CONFIG_OPTM_2 \ -O3 CONFIG_OPTM_3 \ -Os CONFIG_OPTM_S \ " -Os bool 'Include Math lib' CONFIG_MATH_LIB bool 'fdevopen compatibility' CONFIG_FDEVOPEN_COMPAT # printf version, advanced depends on math lib if [ "$CONFIG_MATH_LIB" = "y" ]; then choice 'Printf capabilities' "\ none CONFIG_NO_PRINTF \ minimal CONFIG_MINIMAL_PRINTF \ standard CONFIG_STANDARD_PRINTF \ advanced CONFIG_ADVANCED_PRINTF \ " standard else choice 'Printf capabilities' "\ none CONFIG_NO_PRINTF \ minimal CONFIG_MINIMAL_PRINTF \ standard CONFIG_STANDARD_PRINTF \ " standard fi choice 'Default output format' "\ ihex CONFIG_FORMAT_IHEX \ srec CONFIG_FORMAT_SREC \ binary CONFIG_FORMAT_BINARY \ " ihex endmenu ############################################################################# mainmenu_option next_comment comment 'Base modules' comment 'Enable math library in generation options to see all modules' #### CIRCULAR BUFFER bool 'Circular buffer' CONFIG_MODULE_CIRBUF dep_bool ' |-- Allow buffer larger than 127' CONFIG_MODULE_CIRBUF_LARGE \ $CONFIG_MODULE_CIRBUF #### FIXED_POINT dep_bool 'Fixed_Point lib' CONFIG_MODULE_FIXED_POINT \ $CONFIG_MATH_LIB #### VECT2 dep_bool 'Vect2 lib' CONFIG_MODULE_VECT2 \ $CONFIG_MATH_LIB #### GEOMETRY dep_bool 'Geometry lib' CONFIG_MODULE_GEOMETRY \ $CONFIG_MATH_LIB #### SCHEDULER bool 'Scheduler' CONFIG_MODULE_SCHEDULER dep_bool ' |-- enable debug statistics' CONFIG_MODULE_SCHEDULER_STATS \ $CONFIG_MODULE_SCHEDULER dep_bool ' |-- Create Default scheduler config' CONFIG_MODULE_SCHEDULER_CREATE_CONFIG \ $CONFIG_MODULE_SCHEDULER if [ "$CONFIG_MODULE_TIMER" = "y" ]; then choice 'Scheduler config' "use_timer_module CONFIG_MODULE_SCHEDULER_USE_TIMERS\ use_timer0 CONFIG_MODULE_SCHEDULER_TIMER0\ manual CONFIG_MODULE_SCHEDULER_MANUAL" use_timer_module else choice 'Scheduler config' "use_timer_module CONFIG_MODULE_SCHEDULER_USE_TIMERS\ use_timer0 CONFIG_MODULE_SCHEDULER_TIMER0\ manual CONFIG_MODULE_SCHEDULER_MANUAL" use_timer0 fi #### TIME dep_bool 'Time' CONFIG_MODULE_TIME \ $CONFIG_MODULE_SCHEDULER dep_bool ' |-- Create Default time config' CONFIG_MODULE_TIME_CREATE_CONFIG \ $CONFIG_MODULE_TIME #### TIME_EXT bool 'Time - reloaded' CONFIG_MODULE_TIME_EXT dep_bool ' |-- Create Default time_ext config' CONFIG_MODULE_TIME_EXT_CREATE_CONFIG \ $CONFIG_MODULE_TIME_EXT endmenu ############################################################################# mainmenu_option next_comment comment 'Communication modules' comment 'uart needs circular buffer, mf2 client may need scheduler' #### UART dep_bool 'Uart' CONFIG_MODULE_UART \ $CONFIG_MODULE_CIRBUF dep_bool ' |-- Allow 9 bits operations' CONFIG_MODULE_UART_9BITS \ $CONFIG_MODULE_UART dep_bool ' |-- Create Default uart config' CONFIG_MODULE_UART_CREATE_CONFIG \ $CONFIG_MODULE_UART #### SPI bool 'spi (very EXPERIMENTAL)' CONFIG_MODULE_SPI dep_bool ' |-- Create Default spi config' CONFIG_MODULE_SPI_CREATE_CONFIG \ $CONFIG_MODULE_SPI #### I2C bool 'i2c' CONFIG_MODULE_I2C dep_bool ' |-- Allow master mode' CONFIG_MODULE_I2C_MASTER \ $CONFIG_MODULE_I2C dep_bool ' |-- Allow multimaster mode' CONFIG_MODULE_I2C_MULTIMASTER \ $CONFIG_MODULE_I2C_MASTER dep_bool ' |-- Create Default i2c config' CONFIG_MODULE_I2C_CREATE_CONFIG \ $CONFIG_MODULE_I2C #### MF2_CLIENT bool 'mf2_client (very EXPERIMENTAL)' CONFIG_MODULE_MF2_CLIENT dep_bool ' |-- Use scheduler (watchdog + no active loops)' CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER \ $CONFIG_MODULE_MF2_CLIENT \ $CONFIG_MODULE_SCHEDULER dep_bool ' |-- Create Default mf2_client config' CONFIG_MODULE_MF2_CLIENT_CREATE_CONFIG \ $CONFIG_MODULE_MF2_CLIENT #### MF2_SERVER bool 'mf2_server (very EXPERIMENTAL)' CONFIG_MODULE_MF2_SERVER dep_bool ' |-- Create Default mf2_server config' CONFIG_MODULE_MF2_SERVER_CREATE_CONFIG \ $CONFIG_MODULE_MF2_SERVER endmenu ############################################################################# mainmenu_option next_comment comment 'Hardware modules' #### TIMER bool 'Timer' CONFIG_MODULE_TIMER dep_bool ' |-- Create Default timer config' CONFIG_MODULE_TIMER_CREATE_CONFIG \ $CONFIG_MODULE_TIMER dep_bool ' |-- Allow dynamic modification of prescaler' CONFIG_MODULE_TIMER_DYNAMIC \ $CONFIG_MODULE_TIMER #### PWM bool 'PWM' CONFIG_MODULE_PWM dep_bool ' |-- Create Default pwm config' CONFIG_MODULE_PWM_CREATE_CONFIG \ $CONFIG_MODULE_PWM #### PWM_NG bool 'PWM_ng' CONFIG_MODULE_PWM_NG #### ADC bool 'ADC' CONFIG_MODULE_ADC dep_bool ' |-- Create Default adc config' CONFIG_MODULE_ADC_CREATE_CONFIG \ $CONFIG_MODULE_ADC endmenu ############################################################################# mainmenu_option next_comment comment 'IHM modules' #### menu bool 'Menu' CONFIG_MODULE_MENU #### vt100 bool 'Vt100' CONFIG_MODULE_VT100 #### rdline dep_bool 'Rdline' CONFIG_MODULE_RDLINE \ $CONFIG_MODULE_VT100 \ $CONFIG_MODULE_CIRBUF dep_bool ' |-- Create Default rdline config' CONFIG_MODULE_RDLINE_CREATE_CONFIG \ $CONFIG_MODULE_RDLINE dep_bool ' |-- Enable cut/paste' CONFIG_MODULE_RDLINE_KILL_BUF \ $CONFIG_MODULE_RDLINE dep_bool ' |-- Enable history' CONFIG_MODULE_RDLINE_HISTORY \ $CONFIG_MODULE_RDLINE #### parse bool 'Parse' CONFIG_MODULE_PARSE dep_bool ' |-- Do not parse float' CONFIG_MODULE_PARSE_NO_FLOAT \ $CONFIG_MODULE_PARSE endmenu ############################################################################# mainmenu_option next_comment comment 'External devices modules' #### LCD bool 'LCD' CONFIG_MODULE_LCD dep_bool ' |-- Create Default lcd config' CONFIG_MODULE_LCD_CREATE_CONFIG \ $CONFIG_MODULE_LCD #### SERVO bool 'Multiservo' CONFIG_MODULE_MULTISERVO dep_bool ' |-- Create Default servo config' CONFIG_MODULE_MULTISERVO_CREATE_CONFIG \ $CONFIG_MODULE_MULTISERVO bool 'AX-12' CONFIG_MODULE_AX12 dep_bool ' |-- Create Default AX-12 config' CONFIG_MODULE_AX12_CREATE_CONFIG\ $CONFIG_MODULE_AX12 mainmenu_option next_comment comment 'Brushless motor drivers (you should enable pwm modules to see all)' #### CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL dep_bool '3 phase motor with digital hall sensors' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL \ $CONFIG_MODULE_PWM dep_bool ' |-- Create Default brushless_3phase_digital_hall config' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_CREATE_CONFIG \ $CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL #### CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE dep_bool 'two 3 phase motor with digital hall sensors' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE \ $CONFIG_MODULE_PWM dep_bool ' Create Default brushless_3phase_digital_hall_double config' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE_CREATE_CONFIG \ $CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE endmenu # (brushless) mainmenu_option next_comment comment 'Encoders (you need comm/spi for encoders_spi)' #### ENCODERS bool 'Encoders (microb)' CONFIG_MODULE_ENCODERS_MICROB dep_bool ' |-- Create Default encoders_microb config' CONFIG_MODULE_ENCODERS_MICROB_CREATE_CONFIG \ $CONFIG_MODULE_ENCODERS_MICROB #### ENCODERS bool 'Encoders (eirbot)' CONFIG_MODULE_ENCODERS_EIRBOT dep_bool ' |-- Create Default encoders_eirbot config' CONFIG_MODULE_ENCODERS_EIRBOT_CREATE_CONFIG \ $CONFIG_MODULE_ENCODERS_EIRBOT #### ENCODERS dep_bool 'Encoders_spi (microb)' CONFIG_MODULE_ENCODERS_SPI \ $CONFIG_MODULE_SPI dep_bool ' |-- Create Default encoders_spi config' CONFIG_MODULE_ENCODERS_SPI_CREATE_CONFIG \ $CONFIG_MODULE_ENCODERS_SPI endmenu # (encoders) mainmenu_option next_comment comment 'Robot specific modules (fixed point lib may be needed)' #### ROBOT_SYSTEM bool 'Robot System' CONFIG_MODULE_ROBOT_SYSTEM dep_bool 'Use fixed point lib' CONFIG_MODULE_ROBOT_SYSTEM_USE_F64 \ $CONFIG_MODULE_FIXED_POINT dep_bool ' |-- Allow motor and external encoders' CONFIG_MODULE_ROBOT_SYSTEM_MOT_AND_EXT \ $CONFIG_MODULE_ROBOT_SYSTEM #### POSITION_MANAGER dep_bool 'Position manager' CONFIG_MODULE_POSITION_MANAGER \ $CONFIG_MODULE_ROBOT_SYSTEM dep_bool ' |-- Compensate centrifugal force' CONFIG_MODULE_COMPENSATE_CENTRIFUGAL_FORCE \ $CONFIG_MODULE_POSITION_MANAGER #### TRAJECTORY MANAGER dep_bool 'Trajectory manager' CONFIG_MODULE_TRAJECTORY_MANAGER \ $CONFIG_MODULE_POSITION_MANAGER \ $CONFIG_MODULE_SCHEDULER \ $CONFIG_MODULE_VECT2 \ $CONFIG_MODULE_FIXED_POINT #### BLOCKING DETECTION MANAGER bool 'Blocking detection manager' CONFIG_MODULE_BLOCKING_DETECTION_MANAGER #### OBSTACLE AVOIDANCE dep_bool 'Obstacle Avoidance' CONFIG_MODULE_OBSTACLE_AVOIDANCE\ $CONFIG_MODULE_GEOMETRY dep_bool ' |-- Create Default Obstacle Avoidance config' CONFIG_MODULE_OBSTACLE_AVOIDANCE_CREATE_CONFIG \ $CONFIG_MODULE_OBSTACLE_AVOIDANCE endmenu # (robot) mainmenu_option next_comment comment 'Control system modules' #### CONTROL SYSTEM MANAGER bool 'Control System Manager' CONFIG_MODULE_CONTROL_SYSTEM_MANAGER comment 'Filters' bool 'PID' CONFIG_MODULE_PID dep_bool ' |-- Create Default PID config' CONFIG_MODULE_PID_CREATE_CONFIG \ $CONFIG_MODULE_PID bool 'ramp' CONFIG_MODULE_RAMP bool 'Quadramp' CONFIG_MODULE_QUADRAMP bool 'Quadramp derivate' CONFIG_MODULE_QUADRAMP_DERIVATE bool 'Biquad' CONFIG_MODULE_BIQUAD endmenu # (control system) mainmenu_option next_comment comment 'Radio devices' comment 'Some radio devices require SPI to be activated' #### RADIO DEVICES dep_bool 'CC2420 Radio Device (IEEE 802.15.4) (VERY EXPERIMENTAL)' CONFIG_MODULE_CC2420 \ $CONFIG_MODULE_SPI dep_bool ' |-- Create Default CC2420 config' CONFIG_MODULE_CC2420_CREATE_CONFIG \ $CONFIG_MODULE_CC2420 endmenu # radio endmenu # (devices) ############################################################################# mainmenu_option next_comment comment 'Crypto modules' comment 'Crypto modules depend on utils module' #### AES bool 'aes' CONFIG_MODULE_AES dep_bool 'aes counter mode' CONFIG_MODULE_AES_CTR \ $CONFIG_MODULE_AES #### MD5 bool 'md5' CONFIG_MODULE_MD5 dep_bool 'md5 hmac' CONFIG_MODULE_MD5_HMAC \ $CONFIG_MODULE_MD5 #### RC4 bool 'rc4' CONFIG_MODULE_RC4 endmenu # (crypto) ############################################################################# mainmenu_option next_comment comment 'Encodings modules' comment 'Encoding modules depend on utils module' #### BASE 64 bool 'Base64 encoding (PEM)' CONFIG_MODULE_BASE64 #### HAMMING bool 'Hamming' CONFIG_MODULE_HAMMING endmenu # (encodings) ############################################################################# mainmenu_option next_comment comment 'Debug modules' comment 'Debug modules depend on utils module' #### DIAGNOSTIC bool 'diagnostic' CONFIG_MODULE_DIAGNOSTIC dep_bool ' |-- Create Default diagnostic config' CONFIG_MODULE_DIAGNOSTIC_CREATE_CONFIG \ $CONFIG_MODULE_DIAGNOSTIC #### ERROR bool 'error' CONFIG_MODULE_ERROR dep_bool ' |-- Create Default error config' CONFIG_MODULE_ERROR_CREATE_CONFIG \ $CONFIG_MODULE_ERROR endmenu ############################################################################# mainmenu_option next_comment comment 'Programmer options' choice 'Programmer' "avrdude CONFIG_AVRDUDE\ avarice CONFIG_AVARICE " avrdude mainmenu_option next_comment comment 'Avrdude' choice 'Programmer type' "futurlec CONFIG_AVRDUDE_PROG_FUTURELEC\ abcmini CONFIG_AVRDUDE_PROG_ABCMINI\ picoweb CONFIG_AVRDUDE_PROG_PICOWEB\ sp12 CONFIG_AVRDUDE_PROG_SP12\ alf CONFIG_AVRDUDE_PROG_ALF\ bascom CONFIG_AVRDUDE_PROG_BASCOM\ dt006 CONFIG_AVRDUDE_PROG_DT006\ pony-stk200 CONFIG_AVRDUDE_PROG_PONY_STK200\ stk200 CONFIG_AVRDUDE_PROG_STK200\ pavr CONFIG_AVRDUDE_PROG_PAVR\ butterfly CONFIG_AVRDUDE_PROG_BUTTERFLY\ avr910 CONFIG_AVRDUDE_PROG_AVR910\ stk500 CONFIG_AVRDUDE_PROG_STK500\ avrisp CONFIG_AVRDUDE_PROG_AVRISP\ bsd CONFIG_AVRDUDE_PROG_BSD\ dapa CONFIG_AVRDUDE_PROG_DAPA\ jtag1 CONFIG_AVRDUDE_PROG_JTAG1\ avr109 CONFIG_AVRDUDE_PROG_AVR109\ " stk200 string 'Port device' CONFIG_AVRDUDE_PORT '/dev/parport0' int 'Programmer baudrate' CONFIG_AVRDUDE_BAUDRATE '19200' endmenu mainmenu_option next_comment comment 'Avarice' string 'Port device' CONFIG_AVARICE_PORT '/dev/ttyS0' int 'Debug TCP Port' CONFIG_AVARICE_DEBUG_PORT '1234' choice 'Programmer type' "mkI CONFIG_AVARICE_PROG_MKI\ mkII CONFIG_AVARICE_PROG_MKII " mkI endmenu bool 'Check device signature' CONFIG_AVRDUDE_CHECK_SIGNATURE endmenu #############################################################################