6534836d59ad7d5890226f2361b41a4365fe2f3a
[bertos.git] / app / randpool / appconfig.h
1 /**
2  * \file
3  * <!--
4  * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
5  * This file is part of DevLib - See README.devlib for information.
6  * -->
7  *
8  * \brief DevLib configuration options
9  *
10  * You should copy this header in your project and rename it to
11  * "config.h" and delete the CONFIG_ macros for the modules
12  * you're not using.
13  *
14  * <h2>Working with multiple applications</h2>
15  *
16  * If your project is made of multiple DevLib-based applications,
17  * create a custom "config.h" file in each application subdirectory
18  * and play with the compiler include path to get the desired result.
19  * You can share common options by creationg a "config_common.h" header
20  * and including it from all your "config.h" copies.
21  *
22  * <h2>Configuration style</h2>
23  *
24  * For improved compile-time checking of configuration options,
25  * the preferred way to use a \c CONFIG_ symbol is keeping it
26  * always defined with a value of either 0 or 1.  This lets
27  * you write tests like this:
28  *
29  * \code
30  *  #if CONFIG_FOO
31  *  void foo(void)
32  *  {
33  *      if (CONFIG_BAR)
34  *          bar();
35  *  }
36  *  #endif // CONFIG_FOO
37  * \endcode
38  *
39  * In most cases, we rely on the optimizer to discard checks
40  * on constant values and performing dead-code elimination.
41  *
42  * \version $Id$
43  * \author Bernardo Innocenti <bernie@develer.com>
44  * \author Stefano Fedrigo <aleph@develer.com>
45  */
46
47 /*#*
48  *#* $Log$
49  *#* Revision 1.1  2007/02/15 18:17:51  asterix
50  *#* Add randpool test program.
51  *#*
52  *#* Revision 1.16  2007/02/12 15:29:41  asterix
53  *#* Add CONFIG_RANDPOOL_TIMER macro to swich on or off timer support in randpool.
54  *#*
55  *#* Revision 1.15  2007/02/08 14:20:35  asterix
56  *#* Add CONFIG_SIZE_ENTROPY_POOL.
57  *#*
58  *#* Revision 1.14  2007/02/06 11:37:26  asterix
59  *#* Add CONFIG_MD2_STD_PERM for use standard permutation in MD2.
60  *#*
61  *#* Revision 1.13  2007/01/31 13:49:40  asterix
62  *#* Add config size block for MD2
63  *#*
64  *#* Revision 1.3  2006/09/13 18:29:22  bernie
65  *#* Add a few missing CONFIG_ definitions.
66  *#*
67  *#* Revision 1.2  2006/07/19 12:56:24  bernie
68  *#* Convert to new Doxygen style.
69  *#*
70  *#* Revision 1.1  2006/05/18 00:40:43  bernie
71  *#* Rename appconfig.h to appconfig_common.h.
72  *#*
73  *#* Revision 1.11  2006/04/11 00:08:53  bernie
74  *#* Add smooth scrolling for menus.
75  *#*
76  *#* Revision 1.10  2006/03/22 09:48:51  bernie
77  *#* Add a few more config options.
78  *#*
79  *#* Revision 1.9  2006/02/24 00:27:35  bernie
80  *#* Enable kernel and fix Doxygen markup.
81  *#*
82  *#* Revision 1.8  2006/02/21 16:06:05  bernie
83  *#* Update copyright info.
84  *#*
85  *#* Revision 1.7  2006/02/17 22:28:19  bernie
86  *#* Add missing UART definitions.
87  *#*
88  *#* Revision 1.6  2006/02/15 09:12:56  bernie
89  *#* Switch to BITMAP_FMT_PLANAR_V_LSB.
90  *#*
91  *#* Revision 1.5  2006/02/10 12:34:33  bernie
92  *#* Add missing config options for gfx and kbd.
93  *#*
94  *#* Revision 1.4  2006/01/23 23:12:27  bernie
95  *#* Enable CONFIG_GFX_VCOORDS.
96  *#*
97  *#* Revision 1.3  2006/01/17 02:30:06  bernie
98  *#* Add new config vars.
99  *#*
100  *#* Revision 1.2  2005/11/27 03:04:57  bernie
101  *#* CONFIG_WATCHDOG: New config option.
102  *#*
103  *#* Revision 1.1  2005/11/04 17:42:12  bernie
104  *#* Move cfg/config.h to appconfig.h.
105  *#*/
106
107 #ifndef APPCONFIG_H
108 #define APPCONFIG_H
109
110 /** Baud-rate for the kdebug console */
111 #define CONFIG_KDEBUG_BAUDRATE  19200
112
113 /**
114  * printf()-style formatter configuration.
115  *
116  * \sa PRINTF_DISABLED
117  * \sa PRINTF_NOMODIFIERS
118  * \sa PRINTF_REDUCED
119  * \sa PRINTF_NOFLOAT
120  * \sa PRINTF_FULL
121  */
122 #define CONFIG_PRINTF PRINTF_FULL
123
124 /**
125  * Multithreading kernel.
126  *
127  * \sa config_kern.h
128  */
129 #define CONFIG_KERNEL 0
130
131 /**
132  * \name Serial driver parameters
133  * \{
134  */
135         /** [bytes] Size of the outbound FIFO buffer for port 0. */
136         #define CONFIG_UART0_TXBUFSIZE  32
137
138         /** [bytes] Size of the inbound FIFO buffer for port 0. */
139         #define CONFIG_UART0_RXBUFSIZE  64
140
141         /** [bytes] Size of the outbound FIFO buffer for port 1. */
142         #define CONFIG_UART1_TXBUFSIZE  32
143
144         /** [bytes] Size of the inbound FIFO buffer for port 1. */
145         #define CONFIG_UART1_RXBUFSIZE  64
146
147         /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */
148         #define CONFIG_SPI_TXBUFSIZE    16
149
150         /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */
151         #define CONFIG_SPI_RXBUFSIZE    32
152
153         /** SPI data order (AVR only). */
154         #define CONFIG_SPI_DATA_ORDER   SER_MSB_FIRST
155
156         /** SPI clock division factor (AVR only). */
157         #define CONFIG_SPI_CLOCK_DIV    16
158
159         /** SPI clock polarity: 0 = normal low, 1 = normal high (AVR only). */
160         #define CONFIG_SPI_CLOCK_POL    0
161
162         /** SPI clock phase: 0 = sample on first edge, 1 = sample on second clock edge (AVR only). */
163         #define CONFIG_SPI_CLOCK_PHASE  0
164
165         /** Default transmit timeout (ms). Set to -1 to disable timeout support */
166         #define CONFIG_SER_TXTIMEOUT    -1
167
168         /** Default receive timeout (ms). Set to -1 to disable timeout support */
169         #define CONFIG_SER_RXTIMEOUT    -1
170
171         /** Use RTS/CTS handshake */
172         #define CONFIG_SER_HWHANDSHAKE   0
173
174         /** Default baud rate (set to 0 to disable) */
175         #define CONFIG_SER_DEFBAUDRATE   0
176
177         /** Enable ser_gets() and ser_gets_echo() */
178         #define CONFIG_SER_GETS          0
179
180         /** Enable second serial port in emulator. */
181         #define CONFIG_EMUL_UART1        0
182
183         /**
184          * Transmit always something on serial port 0 TX
185          * to avoid interference when sending burst of data,
186          * using AVR multiprocessor serial mode
187          */
188         #define CONFIG_SER_TXFILL        0
189
190         #define CONFIG_SER_STROBE        0
191 /*\}*/
192
193 /// Hardware timer selection for drv/timer.c
194 #define CONFIG_TIMER  TIMER_ON_OUTPUT_COMPARE2
195
196 /// Debug timer interrupt using a strobe pin.
197 #define CONFIG_TIMER_STROBE  0
198
199 /// Enable ADS strobe.
200 #define CONFIG_ADC_STROBE  0
201
202 /// Enable watchdog timer.
203 #define CONFIG_WATCHDOG 0 
204
205 /// EEPROM type for drv/eeprom.c
206 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
207
208 /// Select bitmap pixel format.
209 #define CONFIG_BITMAP_FMT  BITMAP_FMT_PLANAR_V_LSB
210
211 /// Enable line clipping algorithm.
212 #define CONFIG_GFX_CLIPPING  1
213
214 /// Enable text rendering in bitmaps.
215 #define CONFIG_GFX_TEXT  1
216
217 /// Enable virtual coordinate system.
218 #define CONFIG_GFX_VCOORDS  1
219
220 /// Keyboard polling method
221 #define CONFIG_KBD_POLL  KBD_POLL_SOFTINT
222
223 /// Enable keyboard event delivery to observers
224 #define CONFIG_KBD_OBSERVER  0
225
226 /// Enable key beeps
227 #define CONFIG_KBD_BEEP  1
228
229 /// Enable long pression handler for keys
230 #define CONFIG_KBD_LONGPRESS  1
231
232 /**
233  * \name Type for the chart dataset
234  * \{
235  */
236 #define CONFIG_CHART_TYPE_X uint8_t
237 #define CONFIG_CHART_TYPE_Y uint8_t
238 /*\}*/
239
240 /// Enable button bar behind menus
241 #define CONFIG_MENU_MENUBAR  0
242
243 /// Enable smooth scrolling in menus
244 #define CONFIG_MENU_SMOOTH  1
245
246 /// Size of block for MD2 algorithm.
247 #define CONFIG_MD2_BLOCK_LEN 16
248
249 /// Use standard permutation in MD2 algorithm.
250 #define CONFIG_MD2_STD_PERM 0 
251
252 /// Define a size, in byte, of entropy pool.
253 #define CONFIG_SIZE_ENTROPY_POOL 256
254
255 /// Turn on or off timer support in Randpool.
256 #define CONFIG_RANDPOOL_TIMER 1
257
258 #endif /* APPCONFIG_H */