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