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