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.10 2006/03/22 09:48:51 bernie
50 *#* Add a few more config options.
52 *#* Revision 1.9 2006/02/24 00:27:35 bernie
53 *#* Enable kernel and fix Doxygen markup.
55 *#* Revision 1.8 2006/02/21 16:06:05 bernie
56 *#* Update copyright info.
58 *#* Revision 1.7 2006/02/17 22:28:19 bernie
59 *#* Add missing UART definitions.
61 *#* Revision 1.6 2006/02/15 09:12:56 bernie
62 *#* Switch to BITMAP_FMT_PLANAR_V_LSB.
64 *#* Revision 1.5 2006/02/10 12:34:33 bernie
65 *#* Add missing config options for gfx and kbd.
67 *#* Revision 1.4 2006/01/23 23:12:27 bernie
68 *#* Enable CONFIG_GFX_VCOORDS.
70 *#* Revision 1.3 2006/01/17 02:30:06 bernie
71 *#* Add new config vars.
73 *#* Revision 1.2 2005/11/27 03:04:57 bernie
74 *#* CONFIG_WATCHDOG: New config option.
76 *#* Revision 1.1 2005/11/04 17:42:12 bernie
77 *#* Move cfg/config.h to appconfig.h.
80 #ifndef CONFIG_COMMON_H
81 #define CONFIG_COMMON_H
83 /*! Baud-rate for the kdebug console */
84 #define CONFIG_KDEBUG_BAUDRATE 19200
87 * printf()-style formatter configuration.
90 * \sa PRINTF_NOMODIFIERS
95 #define CONFIG_PRINTF PRINTF_FULL
98 * Multithreading kernel.
102 #define CONFIG_KERNEL 1
105 * \name Serial driver parameters
108 /*! [bytes] Size of the outbound FIFO buffer for port 0. */
109 #define CONFIG_UART0_TXBUFSIZE 32
111 /*! [bytes] Size of the inbound FIFO buffer for port 0. */
112 #define CONFIG_UART0_RXBUFSIZE 64
114 /*! [bytes] Size of the outbound FIFO buffer for port 1. */
115 #define CONFIG_UART1_TXBUFSIZE 32
117 /*! [bytes] Size of the inbound FIFO buffer for port 1. */
118 #define CONFIG_UART1_RXBUFSIZE 64
120 /*! Default transmit timeout (ms). Set to -1 to disable timeout support */
121 #define CONFIG_SER_TXTIMEOUT -1
123 /*! Default receive timeout (ms). Set to -1 to disable timeout support */
124 #define CONFIG_SER_RXTIMEOUT -1
126 /*! Use RTS/CTS handshake */
127 #define CONFIG_SER_HWHANDSHAKE 0
129 /*! Default baud rate (set to 0 to disable) */
130 #define CONFIG_SER_DEFBAUDRATE 0
132 /*! Enable ser_gets() and ser_gets_echo() */
133 #define CONFIG_SER_GETS 0
135 /** Enable second serial port in emulator. */
136 #define CONFIG_EMUL_UART1 0
139 * Transmit always something on serial port 0 TX
140 * to avoid interference when sending burst of data,
141 * using AVR multiprocessor serial mode
143 #define CONFIG_SER_TXFILL 0
145 #define CONFIG_SER_STROBE 0
149 * \name KBus configuration
152 /*! Board address for KBus */
153 #define CONFIG_KBUS_ADDR KBUS_ADDR_FOOBAR
155 /*! Disable KBUS escaping support */
156 #define CONFIG_KBUS_ESCAPE 0
158 /*! Serial port for internal KBUS communication */
159 #define CONFIG_KBUS_PORT 0
161 /*! Serial port speed for KBus communication */
162 #define CONFIG_KBUS_BAUDRATE 19200
165 //! Hardware timer selection for drv/timer.c
166 #define CONFIG_TIMER TIMER_ON_OUTPUT_COMPARE2
168 //! Debug timer interrupt using a strobe pin.
169 #define CONFIG_TIMER_STROBE 0
171 //! Enable watchdog timer.
172 #define CONFIG_WATCHDOG 1
174 //! EEPROM type for drv/eeprom.c
175 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
177 /// Select bitmap pixel format.
178 #define CONFIG_BITMAP_FMT BITMAP_FMT_PLANAR_V_LSB
180 /// Enable line clipping algorithm.
181 #define CONFIG_GFX_CLIPPING 1
183 /// Enable text rendering in bitmaps.
184 #define CONFIG_GFX_TEXT 1
186 /// Enable virtual coordinate system.
187 #define CONFIG_GFX_VCOORDS 1
189 /// Keyboard polling method
190 #define CONFIG_KBD_POLL KBD_POLL_SOFTINT
192 /// Enable keyboard event delivery to observers
193 #define CONFIG_KBD_OBSERVER 0
196 #define CONFIG_KBD_BEEP 1
199 * \name Type for the chart dataset
202 #define CONFIG_CHART_TYPE_X uint8_t
203 #define CONFIG_CHART_TYPE_Y uint8_t
206 /// Enable button bar behind menus
207 #define CONFIG_MENU_MENUBAR 0
209 #endif /* CONFIG_COMMON_H */