6c9ae3108bb84f01e036b7db2df0599e2e4e1b5c
[aversive.git] / config.in
1 mainmenu_name "Aversive project configuration"
2
3 #############################################################################
4
5 mainmenu_option next_comment
6 comment 'Hardware'
7 # name must be CONFIG_MCU_##mcu name##
8
9 choice 'Avr type' "\
10  AT90s2313 CONFIG_MCU_AT90S2313 \
11  AT90s2323 CONFIG_MCU_AT90S2323 \
12  AT90s2333 CONFIG_MCU_AT90S3333 \
13  AT90s2343 CONFIG_MCU_AT90S2343 \
14  ATtiny22 CONFIG_MCU_ATTINY22 \
15  ATtiny26 CONFIG_MCU_ATTINY26 \
16  ATtiny45 CONFIG_MCU_ATTINY45 \
17  AT90s4414 CONFIG_MCU_AT90S4414 \
18  AT90s4433 CONFIG_MCU_AT90S4433 \
19  AT90s4434 CONFIG_MCU_AT90S4434 \
20  AT90s8515 CONFIG_MCU_AT90S8515 \
21  AT90c8534 CONFIG_MCU_AT90S8534 \
22  AT90s8535 CONFIG_MCU_AT90S8535 \
23  AT86rf401 CONFIG_MCU_AT86RF401 \
24  ATmega103 CONFIG_MCU_ATMEGA103 \
25  ATmega603 CONFIG_MCU_ATMEGA603 \
26  AT43usb320 CONFIG_MCU_AT43USB320 \
27  AT43usb355 CONFIG_MCU_AT43USB355 \
28  AT76c711 CONFIG_MCU_AT76C711 \
29  ATmega8 CONFIG_MCU_ATMEGA8 \
30  ATmega48 CONFIG_MCU_ATMEGA48 \
31  ATmega88 CONFIG_MCU_ATMEGA88 \
32  ATmega8515 CONFIG_MCU_ATMEGA8515 \
33  ATmega8535 CONFIG_MCU_ATMEGA8535 \
34  ATtiny13 CONFIG_MCU_ATTINY13 \
35  ATtiny2313 CONFIG_MCU_ATTINY2313 \
36  ATmega16 CONFIG_MCU_ATMEGA16 \
37  ATmega161 CONFIG_MCU_ATMEGA161 \
38  ATmega162 CONFIG_MCU_ATMEGA162 \
39  ATmega163 CONFIG_MCU_ATMEGA163 \
40  ATmega165 CONFIG_MCU_ATMEGA165 \
41  ATmega168 CONFIG_MCU_ATMEGA168 \
42  ATmega169 CONFIG_MCU_ATMEGA169 \
43  ATmega32 CONFIG_MCU_ATMEGA32 \
44  ATmega323 CONFIG_MCU_ATMEGA323 \
45  ATmega325 CONFIG_MCU_ATMEGA325 \
46  ATmega328P CONFIG_MCU_ATMEGA328P \
47  ATmega3250 CONFIG_MCU_ATMEGA3250 \
48  ATmega64 CONFIG_MCU_ATMEGA64 \
49  ATmega645 CONFIG_MCU_ATMEGA645 \
50  ATmega6450 CONFIG_MCU_ATMEGA6450 \
51  ATmega128 CONFIG_MCU_ATMEGA128 \
52  ATmega1281 CONFIG_MCU_ATMEGA1281 \
53  AT90can128 CONFIG_MCU_AT90CAN128 \
54  AT94k CONFIG_MCU_AT94K \
55  AT90s1200 CONFIG_MCU_AT90S1200 \
56  ATmega2560 CONFIG_MCU_ATMEGA2560 \
57  ATmega256 CONFIG_MCU_ATMEGA256 \
58  ATxmega128A1 CONFIG_MCU_ATXMEGA128A1 \
59 " ATmega128
60
61 int 'Quartz Frequency (Hz)' CONFIG_QUARTZ '12000000'
62
63 endmenu
64
65 #############################################################################
66
67 mainmenu_option next_comment
68 comment 'Generation options'
69
70
71 choice 'Optimization level' "\
72  -O0 CONFIG_OPTM_0 \
73  -O1 CONFIG_OPTM_1 \
74  -O2 CONFIG_OPTM_2 \
75  -O3 CONFIG_OPTM_3 \
76  -Os CONFIG_OPTM_S \
77 " -Os
78
79 bool 'Include Math lib' CONFIG_MATH_LIB
80
81 bool 'fdevopen compatibility' CONFIG_FDEVOPEN_COMPAT
82
83 # printf version, advanced depends on math lib
84 if [ "$CONFIG_MATH_LIB" = "y" ]; then
85
86 choice 'Printf capabilities' "\
87  none CONFIG_NO_PRINTF \
88  minimal CONFIG_MINIMAL_PRINTF \
89  standard CONFIG_STANDARD_PRINTF \
90  advanced CONFIG_ADVANCED_PRINTF \
91 " standard
92
93 else
94
95 choice 'Printf capabilities' "\
96  none CONFIG_NO_PRINTF \
97  minimal CONFIG_MINIMAL_PRINTF \
98  standard CONFIG_STANDARD_PRINTF \
99 " standard
100
101 fi
102
103 choice 'Default output format' "\
104  ihex CONFIG_FORMAT_IHEX \
105  srec CONFIG_FORMAT_SREC \
106  binary CONFIG_FORMAT_BINARY \
107 " ihex
108  
109 endmenu
110
111 #############################################################################
112
113 mainmenu_option next_comment
114 comment 'Base modules'
115
116 comment 'Enable math library in generation options to see all modules'
117
118 #### CIRCULAR BUFFER
119 bool 'Circular buffer' CONFIG_MODULE_CIRBUF
120 dep_bool '  |-- Allow buffer larger than 127' CONFIG_MODULE_CIRBUF_LARGE \
121         $CONFIG_MODULE_CIRBUF
122
123
124 #### FIXED_POINT
125 dep_bool 'Fixed_Point lib' CONFIG_MODULE_FIXED_POINT \
126         $CONFIG_MATH_LIB
127
128
129 #### VECT2
130 dep_bool 'Vect2 lib' CONFIG_MODULE_VECT2 \
131         $CONFIG_MATH_LIB
132
133 #### GEOMETRY
134 dep_bool 'Geometry lib' CONFIG_MODULE_GEOMETRY \
135         $CONFIG_MATH_LIB
136
137 #### Hostsim
138 bool 'Hostsim' CONFIG_MODULE_HOSTSIM
139
140 #### SCHEDULER
141 bool 'Scheduler' CONFIG_MODULE_SCHEDULER
142
143 dep_bool '  |-- enable debug statistics' CONFIG_MODULE_SCHEDULER_STATS \
144         $CONFIG_MODULE_SCHEDULER
145
146 dep_bool '  |-- Create Default scheduler config' CONFIG_MODULE_SCHEDULER_CREATE_CONFIG \
147         $CONFIG_MODULE_SCHEDULER
148
149 if [ "$CONFIG_MODULE_TIMER" = "y" ]; then
150
151 choice 'Scheduler config' "use_timer_module CONFIG_MODULE_SCHEDULER_USE_TIMERS\
152  use_timer0 CONFIG_MODULE_SCHEDULER_TIMER0\
153  manual CONFIG_MODULE_SCHEDULER_MANUAL" use_timer_module
154
155 else
156
157 choice 'Scheduler config' "use_timer_module CONFIG_MODULE_SCHEDULER_USE_TIMERS\
158  use_timer0 CONFIG_MODULE_SCHEDULER_TIMER0\
159  manual CONFIG_MODULE_SCHEDULER_MANUAL" use_timer0
160
161 fi
162
163 #### TIME
164 dep_bool 'Time' CONFIG_MODULE_TIME \
165         $CONFIG_MODULE_SCHEDULER
166
167 dep_bool '  |-- Create Default time config' CONFIG_MODULE_TIME_CREATE_CONFIG \
168         $CONFIG_MODULE_TIME
169
170 #### TIME_EXT
171 bool 'Time - reloaded' CONFIG_MODULE_TIME_EXT
172
173 dep_bool '  |-- Create Default time_ext config' CONFIG_MODULE_TIME_EXT_CREATE_CONFIG \
174         $CONFIG_MODULE_TIME_EXT
175
176
177
178 endmenu
179
180 #############################################################################
181
182 mainmenu_option next_comment
183 comment 'Communication modules'
184
185 comment 'uart needs circular buffer, mf2 client may need scheduler'
186
187 #### UART
188 dep_bool 'Uart' CONFIG_MODULE_UART \
189         $CONFIG_MODULE_CIRBUF
190
191 dep_bool '  |-- Allow 9 bits operations' CONFIG_MODULE_UART_9BITS \
192         $CONFIG_MODULE_UART
193
194 dep_bool '  |-- Create Default uart config' CONFIG_MODULE_UART_CREATE_CONFIG \
195         $CONFIG_MODULE_UART
196
197 #### SPI
198 bool 'spi (very EXPERIMENTAL)' CONFIG_MODULE_SPI
199
200 dep_bool '  |-- Create Default spi config' CONFIG_MODULE_SPI_CREATE_CONFIG \
201         $CONFIG_MODULE_SPI
202
203 #### I2C
204 bool 'i2c' CONFIG_MODULE_I2C
205
206 dep_bool '  |-- Allow master mode' CONFIG_MODULE_I2C_MASTER \
207         $CONFIG_MODULE_I2C
208
209 dep_bool '  |-- Allow multimaster mode' CONFIG_MODULE_I2C_MULTIMASTER \
210         $CONFIG_MODULE_I2C_MASTER
211
212 dep_bool '  |-- Create Default i2c config' CONFIG_MODULE_I2C_CREATE_CONFIG \
213         $CONFIG_MODULE_I2C
214
215
216 #### MF2_CLIENT
217 bool 'mf2_client (very EXPERIMENTAL)' CONFIG_MODULE_MF2_CLIENT
218
219 dep_bool '  |-- Use scheduler (watchdog + no active loops)' CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER \
220         $CONFIG_MODULE_MF2_CLIENT \
221         $CONFIG_MODULE_SCHEDULER
222
223 dep_bool '  |-- Create Default mf2_client config' CONFIG_MODULE_MF2_CLIENT_CREATE_CONFIG \
224         $CONFIG_MODULE_MF2_CLIENT
225
226 #### MF2_SERVER
227 bool 'mf2_server (very EXPERIMENTAL)' CONFIG_MODULE_MF2_SERVER
228
229 dep_bool '  |-- Create Default mf2_server config' CONFIG_MODULE_MF2_SERVER_CREATE_CONFIG \
230         $CONFIG_MODULE_MF2_SERVER
231
232 endmenu
233
234 #############################################################################
235
236 mainmenu_option next_comment
237 comment 'Hardware modules'
238
239 #### TIMER
240 bool 'Timer' CONFIG_MODULE_TIMER
241
242 dep_bool '  |-- Create Default timer config' CONFIG_MODULE_TIMER_CREATE_CONFIG \
243         $CONFIG_MODULE_TIMER
244
245 dep_bool '  |-- Allow dynamic modification of prescaler' CONFIG_MODULE_TIMER_DYNAMIC \
246         $CONFIG_MODULE_TIMER
247
248
249 #### PWM
250 bool 'PWM' CONFIG_MODULE_PWM 
251
252 dep_bool '  |-- Create Default pwm config' CONFIG_MODULE_PWM_CREATE_CONFIG \
253         $CONFIG_MODULE_PWM
254
255
256 #### PWM_NG
257 bool 'PWM_ng' CONFIG_MODULE_PWM_NG
258
259 #### ADC
260 bool 'ADC' CONFIG_MODULE_ADC
261
262 dep_bool '  |-- Create Default adc config' CONFIG_MODULE_ADC_CREATE_CONFIG \
263         $CONFIG_MODULE_ADC
264
265 endmenu
266
267 #############################################################################
268
269 mainmenu_option next_comment
270 comment 'IHM modules'
271
272 #### menu
273 bool 'Menu' CONFIG_MODULE_MENU
274
275 #### vt100
276 bool 'Vt100' CONFIG_MODULE_VT100
277
278 #### rdline
279 dep_bool 'Rdline' CONFIG_MODULE_RDLINE \
280         $CONFIG_MODULE_VT100 \
281         $CONFIG_MODULE_CIRBUF
282
283 dep_bool '  |-- Create Default rdline config' CONFIG_MODULE_RDLINE_CREATE_CONFIG \
284         $CONFIG_MODULE_RDLINE
285
286 dep_bool '  |-- Enable cut/paste' CONFIG_MODULE_RDLINE_KILL_BUF \
287         $CONFIG_MODULE_RDLINE
288
289 dep_bool '  |-- Enable history' CONFIG_MODULE_RDLINE_HISTORY \
290         $CONFIG_MODULE_RDLINE
291
292 #### parse
293
294 bool 'Parse' CONFIG_MODULE_PARSE
295 dep_bool '  |-- Do not parse float' CONFIG_MODULE_PARSE_NO_FLOAT \
296         $CONFIG_MODULE_PARSE
297
298 endmenu
299
300 #############################################################################
301
302 mainmenu_option next_comment
303 comment 'External devices modules'
304
305 #### LCD
306 bool 'LCD' CONFIG_MODULE_LCD
307
308 dep_bool '  |-- Create Default lcd config' CONFIG_MODULE_LCD_CREATE_CONFIG \
309         $CONFIG_MODULE_LCD
310
311 #### SERVO
312 bool 'Multiservo' CONFIG_MODULE_MULTISERVO
313
314 dep_bool '  |-- Create Default servo config' CONFIG_MODULE_MULTISERVO_CREATE_CONFIG \
315         $CONFIG_MODULE_MULTISERVO
316
317 bool 'AX-12' CONFIG_MODULE_AX12
318
319 dep_bool '  |-- Create Default AX-12 config' CONFIG_MODULE_AX12_CREATE_CONFIG\
320         $CONFIG_MODULE_AX12
321
322 mainmenu_option next_comment
323 comment 'Brushless motor drivers (you should enable pwm modules to see all)'
324
325 #### CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL
326 dep_bool '3 phase motor with digital hall sensors' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL \
327         $CONFIG_MODULE_PWM
328
329 dep_bool '  |-- Create Default brushless_3phase_digital_hall config' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_CREATE_CONFIG \
330         $CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL
331
332 #### CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE
333 dep_bool 'two 3 phase motor with digital hall sensors' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE \
334         $CONFIG_MODULE_PWM
335
336 dep_bool ' Create Default brushless_3phase_digital_hall_double config' CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE_CREATE_CONFIG \
337         $CONFIG_MODULE_BRUSHLESS_3PHASE_DIGITAL_HALL_DOUBLE
338
339 endmenu # (brushless)
340
341 mainmenu_option next_comment
342 comment 'Encoders (you need comm/spi for encoders_spi)'
343
344 #### ENCODERS
345 bool 'Encoders (microb)' CONFIG_MODULE_ENCODERS_MICROB
346
347 dep_bool '  |-- Create Default encoders_microb config' CONFIG_MODULE_ENCODERS_MICROB_CREATE_CONFIG \
348         $CONFIG_MODULE_ENCODERS_MICROB
349
350 #### ENCODERS
351 bool 'Encoders (eirbot)' CONFIG_MODULE_ENCODERS_EIRBOT
352
353 dep_bool '  |-- Create Default encoders_eirbot config' CONFIG_MODULE_ENCODERS_EIRBOT_CREATE_CONFIG \
354         $CONFIG_MODULE_ENCODERS_EIRBOT
355
356 #### ENCODERS
357 dep_bool 'Encoders_spi (microb)' CONFIG_MODULE_ENCODERS_SPI \
358          $CONFIG_MODULE_SPI
359
360 dep_bool '  |-- Create Default encoders_spi config' CONFIG_MODULE_ENCODERS_SPI_CREATE_CONFIG \
361         $CONFIG_MODULE_ENCODERS_SPI
362
363 endmenu # (encoders)
364
365 mainmenu_option next_comment
366 comment 'Robot specific modules (fixed point lib may be needed)'
367
368 #### ROBOT_SYSTEM
369 bool 'Robot System' CONFIG_MODULE_ROBOT_SYSTEM
370
371 dep_bool 'Use fixed point lib' CONFIG_MODULE_ROBOT_SYSTEM_USE_F64 \
372         $CONFIG_MODULE_FIXED_POINT
373
374 dep_bool '  |-- Allow motor and external encoders' CONFIG_MODULE_ROBOT_SYSTEM_MOT_AND_EXT \
375         $CONFIG_MODULE_ROBOT_SYSTEM
376
377 #### POSITION_MANAGER
378 dep_bool 'Position manager' CONFIG_MODULE_POSITION_MANAGER \
379         $CONFIG_MODULE_ROBOT_SYSTEM
380
381 dep_bool '  |-- Compensate centrifugal force' CONFIG_MODULE_COMPENSATE_CENTRIFUGAL_FORCE \
382         $CONFIG_MODULE_POSITION_MANAGER
383
384 #### TRAJECTORY MANAGER
385 dep_bool 'Trajectory manager' CONFIG_MODULE_TRAJECTORY_MANAGER \
386         $CONFIG_MODULE_POSITION_MANAGER \
387         $CONFIG_MODULE_SCHEDULER \
388         $CONFIG_MODULE_VECT2
389
390 #### BLOCKING DETECTION MANAGER
391 bool 'Blocking detection manager' CONFIG_MODULE_BLOCKING_DETECTION_MANAGER
392
393 #### OBSTACLE AVOIDANCE
394 dep_bool 'Obstacle Avoidance' CONFIG_MODULE_OBSTACLE_AVOIDANCE\
395         $CONFIG_MODULE_GEOMETRY
396
397 dep_bool '  |-- Create Default Obstacle Avoidance config' CONFIG_MODULE_OBSTACLE_AVOIDANCE_CREATE_CONFIG \
398         $CONFIG_MODULE_OBSTACLE_AVOIDANCE
399
400 endmenu # (robot)
401
402 mainmenu_option next_comment
403 comment 'Control system modules'
404
405 #### CONTROL SYSTEM MANAGER
406 bool 'Control System Manager' CONFIG_MODULE_CONTROL_SYSTEM_MANAGER
407
408 comment 'Filters'
409
410 bool 'PID' CONFIG_MODULE_PID
411
412 dep_bool '  |-- Create Default PID config' CONFIG_MODULE_PID_CREATE_CONFIG \
413         $CONFIG_MODULE_PID
414
415 bool 'ramp' CONFIG_MODULE_RAMP
416
417 bool 'Quadramp' CONFIG_MODULE_QUADRAMP
418
419 bool 'Quadramp derivate' CONFIG_MODULE_QUADRAMP_DERIVATE
420
421 bool 'Biquad' CONFIG_MODULE_BIQUAD
422
423 endmenu # (control system)
424
425
426 mainmenu_option next_comment
427 comment 'Radio devices'
428 comment 'Some radio devices require SPI to be activated'
429 #### RADIO DEVICES
430 dep_bool 'CC2420 Radio Device (IEEE 802.15.4) (VERY EXPERIMENTAL)' CONFIG_MODULE_CC2420 \
431         $CONFIG_MODULE_SPI
432
433 dep_bool '  |-- Create Default CC2420 config' CONFIG_MODULE_CC2420_CREATE_CONFIG \
434         $CONFIG_MODULE_CC2420
435
436 endmenu # radio
437
438
439 endmenu # (devices)
440
441 #############################################################################
442
443
444 mainmenu_option next_comment
445 comment 'Crypto modules'
446
447 comment 'Crypto modules depend on utils module'
448
449 #### AES
450 bool 'aes' CONFIG_MODULE_AES
451
452 dep_bool 'aes counter mode' CONFIG_MODULE_AES_CTR \
453         $CONFIG_MODULE_AES
454
455 #### MD5
456 bool 'md5' CONFIG_MODULE_MD5
457
458 dep_bool 'md5 hmac' CONFIG_MODULE_MD5_HMAC \
459         $CONFIG_MODULE_MD5
460
461 #### RC4
462 bool 'rc4' CONFIG_MODULE_RC4 
463
464 endmenu # (crypto)
465
466 #############################################################################
467
468
469 mainmenu_option next_comment
470 comment 'Encodings modules'
471
472 comment 'Encoding modules depend on utils module'
473
474 #### BASE 64
475 bool 'Base64 encoding (PEM)' CONFIG_MODULE_BASE64
476
477 #### HAMMING
478 bool 'Hamming' CONFIG_MODULE_HAMMING
479
480 endmenu # (encodings)
481
482
483 #############################################################################
484
485
486 mainmenu_option next_comment
487 comment 'Debug modules'
488
489 comment 'Debug modules depend on utils module'
490
491 #### DIAGNOSTIC
492 bool 'diagnostic' CONFIG_MODULE_DIAGNOSTIC
493
494 dep_bool '  |-- Create Default diagnostic config' CONFIG_MODULE_DIAGNOSTIC_CREATE_CONFIG \
495         $CONFIG_MODULE_DIAGNOSTIC
496
497 #### ERROR
498 bool 'error' CONFIG_MODULE_ERROR
499
500 dep_bool '  |-- Create Default error config' CONFIG_MODULE_ERROR_CREATE_CONFIG \
501         $CONFIG_MODULE_ERROR
502
503 endmenu
504
505 #############################################################################
506
507 mainmenu_option next_comment
508 comment 'Programmer options'
509
510 choice 'Programmer' "avrdude CONFIG_AVRDUDE\
511  avarice CONFIG_AVARICE
512 " avrdude
513
514 mainmenu_option next_comment
515 comment 'Avrdude'
516
517 choice 'Programmer type' "futurlec CONFIG_AVRDUDE_PROG_FUTURELEC\
518  abcmini CONFIG_AVRDUDE_PROG_ABCMINI\
519  picoweb CONFIG_AVRDUDE_PROG_PICOWEB\
520  sp12 CONFIG_AVRDUDE_PROG_SP12\
521  alf CONFIG_AVRDUDE_PROG_ALF\
522  bascom CONFIG_AVRDUDE_PROG_BASCOM\
523  dt006 CONFIG_AVRDUDE_PROG_DT006\
524  pony-stk200 CONFIG_AVRDUDE_PROG_PONY_STK200\
525  stk200 CONFIG_AVRDUDE_PROG_STK200\
526  pavr CONFIG_AVRDUDE_PROG_PAVR\
527  butterfly CONFIG_AVRDUDE_PROG_BUTTERFLY\
528  avr910 CONFIG_AVRDUDE_PROG_AVR910\
529  stk500 CONFIG_AVRDUDE_PROG_STK500\
530  avrisp CONFIG_AVRDUDE_PROG_AVRISP\
531  bsd CONFIG_AVRDUDE_PROG_BSD\
532  dapa CONFIG_AVRDUDE_PROG_DAPA\
533  jtag1 CONFIG_AVRDUDE_PROG_JTAG1\
534  avr109 CONFIG_AVRDUDE_PROG_AVR109\
535  avrispmkii CONFIG_AVRDUDE_PROG_AVRISPMKII\
536 " stk200
537
538 string 'Port device' CONFIG_AVRDUDE_PORT '/dev/parport0'
539
540 int 'Programmer baudrate' CONFIG_AVRDUDE_BAUDRATE '19200'
541
542 endmenu
543
544 mainmenu_option next_comment
545 comment 'Avarice'
546
547 string 'Port device' CONFIG_AVARICE_PORT '/dev/ttyS0'
548
549 int 'Debug TCP Port' CONFIG_AVARICE_DEBUG_PORT '1234'
550
551 choice 'Programmer type' "mkI CONFIG_AVARICE_PROG_MKI\
552  mkII CONFIG_AVARICE_PROG_MKII
553 " mkI
554
555 endmenu
556
557 bool 'Check device signature' CONFIG_AVRDUDE_CHECK_SIGNATURE
558
559 endmenu
560
561 #############################################################################