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.
8 * \brief DevLib configuration options
10 * You should copy this header in your project and rename it to
11 * "config.h" and delete the CONFIG_ macros for the modules
14 * <h2>Working with multiple applications</h2>
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.
22 * <h2>Configuration style</h2>
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:
36 * #endif // CONFIG_FOO
39 * In most cases, we rely on the optimizer to discard checks
40 * on constant values and performing dead-code elimination.
43 * \author Bernardo Innocenti <bernie@develer.com>
44 * \author Stefano Fedrigo <aleph@develer.com>
49 *#* Revision 1.1 2007/02/15 18:17:51 asterix
50 *#* Add randpool test program.
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.
55 *#* Revision 1.15 2007/02/08 14:20:35 asterix
56 *#* Add CONFIG_SIZE_ENTROPY_POOL.
58 *#* Revision 1.14 2007/02/06 11:37:26 asterix
59 *#* Add CONFIG_MD2_STD_PERM for use standard permutation in MD2.
61 *#* Revision 1.13 2007/01/31 13:49:40 asterix
62 *#* Add config size block for MD2
64 *#* Revision 1.3 2006/09/13 18:29:22 bernie
65 *#* Add a few missing CONFIG_ definitions.
67 *#* Revision 1.2 2006/07/19 12:56:24 bernie
68 *#* Convert to new Doxygen style.
70 *#* Revision 1.1 2006/05/18 00:40:43 bernie
71 *#* Rename appconfig.h to appconfig_common.h.
73 *#* Revision 1.11 2006/04/11 00:08:53 bernie
74 *#* Add smooth scrolling for menus.
76 *#* Revision 1.10 2006/03/22 09:48:51 bernie
77 *#* Add a few more config options.
79 *#* Revision 1.9 2006/02/24 00:27:35 bernie
80 *#* Enable kernel and fix Doxygen markup.
82 *#* Revision 1.8 2006/02/21 16:06:05 bernie
83 *#* Update copyright info.
85 *#* Revision 1.7 2006/02/17 22:28:19 bernie
86 *#* Add missing UART definitions.
88 *#* Revision 1.6 2006/02/15 09:12:56 bernie
89 *#* Switch to BITMAP_FMT_PLANAR_V_LSB.
91 *#* Revision 1.5 2006/02/10 12:34:33 bernie
92 *#* Add missing config options for gfx and kbd.
94 *#* Revision 1.4 2006/01/23 23:12:27 bernie
95 *#* Enable CONFIG_GFX_VCOORDS.
97 *#* Revision 1.3 2006/01/17 02:30:06 bernie
98 *#* Add new config vars.
100 *#* Revision 1.2 2005/11/27 03:04:57 bernie
101 *#* CONFIG_WATCHDOG: New config option.
103 *#* Revision 1.1 2005/11/04 17:42:12 bernie
104 *#* Move cfg/config.h to appconfig.h.
110 /** Baud-rate for the kdebug console */
111 #define CONFIG_KDEBUG_BAUDRATE 19200
114 * printf()-style formatter configuration.
116 * \sa PRINTF_DISABLED
117 * \sa PRINTF_NOMODIFIERS
122 #define CONFIG_PRINTF PRINTF_FULL
125 * Multithreading kernel.
129 #define CONFIG_KERNEL 0
132 * \name Serial driver parameters
135 /** [bytes] Size of the outbound FIFO buffer for port 0. */
136 #define CONFIG_UART0_TXBUFSIZE 32
138 /** [bytes] Size of the inbound FIFO buffer for port 0. */
139 #define CONFIG_UART0_RXBUFSIZE 64
141 /** [bytes] Size of the outbound FIFO buffer for port 1. */
142 #define CONFIG_UART1_TXBUFSIZE 32
144 /** [bytes] Size of the inbound FIFO buffer for port 1. */
145 #define CONFIG_UART1_RXBUFSIZE 64
147 /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */
148 #define CONFIG_SPI_TXBUFSIZE 16
150 /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */
151 #define CONFIG_SPI_RXBUFSIZE 32
153 /** SPI data order (AVR only). */
154 #define CONFIG_SPI_DATA_ORDER SER_MSB_FIRST
156 /** SPI clock division factor (AVR only). */
157 #define CONFIG_SPI_CLOCK_DIV 16
159 /** SPI clock polarity: 0 = normal low, 1 = normal high (AVR only). */
160 #define CONFIG_SPI_CLOCK_POL 0
162 /** SPI clock phase: 0 = sample on first edge, 1 = sample on second clock edge (AVR only). */
163 #define CONFIG_SPI_CLOCK_PHASE 0
165 /** Default transmit timeout (ms). Set to -1 to disable timeout support */
166 #define CONFIG_SER_TXTIMEOUT -1
168 /** Default receive timeout (ms). Set to -1 to disable timeout support */
169 #define CONFIG_SER_RXTIMEOUT -1
171 /** Use RTS/CTS handshake */
172 #define CONFIG_SER_HWHANDSHAKE 0
174 /** Default baud rate (set to 0 to disable) */
175 #define CONFIG_SER_DEFBAUDRATE 0
177 /** Enable ser_gets() and ser_gets_echo() */
178 #define CONFIG_SER_GETS 0
180 /** Enable second serial port in emulator. */
181 #define CONFIG_EMUL_UART1 0
184 * Transmit always something on serial port 0 TX
185 * to avoid interference when sending burst of data,
186 * using AVR multiprocessor serial mode
188 #define CONFIG_SER_TXFILL 0
190 #define CONFIG_SER_STROBE 0
193 /// Hardware timer selection for drv/timer.c
194 #define CONFIG_TIMER TIMER_ON_OUTPUT_COMPARE2
196 /// Debug timer interrupt using a strobe pin.
197 #define CONFIG_TIMER_STROBE 0
199 /// Enable ADS strobe.
200 #define CONFIG_ADC_STROBE 0
202 /// Enable watchdog timer.
203 #define CONFIG_WATCHDOG 0
205 /// EEPROM type for drv/eeprom.c
206 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
208 /// Select bitmap pixel format.
209 #define CONFIG_BITMAP_FMT BITMAP_FMT_PLANAR_V_LSB
211 /// Enable line clipping algorithm.
212 #define CONFIG_GFX_CLIPPING 1
214 /// Enable text rendering in bitmaps.
215 #define CONFIG_GFX_TEXT 1
217 /// Enable virtual coordinate system.
218 #define CONFIG_GFX_VCOORDS 1
220 /// Keyboard polling method
221 #define CONFIG_KBD_POLL KBD_POLL_SOFTINT
223 /// Enable keyboard event delivery to observers
224 #define CONFIG_KBD_OBSERVER 0
227 #define CONFIG_KBD_BEEP 1
229 /// Enable long pression handler for keys
230 #define CONFIG_KBD_LONGPRESS 1
233 * \name Type for the chart dataset
236 #define CONFIG_CHART_TYPE_X uint8_t
237 #define CONFIG_CHART_TYPE_Y uint8_t
240 /// Enable button bar behind menus
241 #define CONFIG_MENU_MENUBAR 0
243 /// Enable smooth scrolling in menus
244 #define CONFIG_MENU_SMOOTH 1
246 /// Size of block for MD2 algorithm.
247 #define CONFIG_MD2_BLOCK_LEN 16
249 /// Use standard permutation in MD2 algorithm.
250 #define CONFIG_MD2_STD_PERM 0
252 /// Define a size, in byte, of entropy pool.
253 #define CONFIG_SIZE_ENTROPY_POOL 256
255 /// Turn on or off timer support in Randpool.
256 #define CONFIG_RANDPOOL_TIMER 1
258 #endif /* APPCONFIG_H */