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