4 * This file is part of BeRTOS.
6 * Bertos is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 * As a special exception, you may use this file as part of a free software
21 * library without restriction. Specifically, if other files instantiate
22 * templates or use macros or inline functions from this file, or you compile
23 * this file and link it with other files to produce an executable, this
24 * file does not by itself cause the resulting executable to be covered by
25 * the GNU General Public License. This exception does not however
26 * invalidate any other reasons why the executable file might be covered by
27 * the GNU General Public License.
29 * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
33 * \brief DevLib configuration options
35 * You should copy this header in your project and rename it to
36 * "config.h" and delete the CONFIG_ macros for the modules
39 * <h2>Working with multiple applications</h2>
41 * If your project is made of multiple DevLib-based applications,
42 * create a custom "config.h" file in each application subdirectory
43 * and play with the compiler include path to get the desired result.
44 * You can share common options by creationg a "config_common.h" header
45 * and including it from all your "config.h" copies.
47 * <h2>Configuration style</h2>
49 * For improved compile-time checking of configuration options,
50 * the preferred way to use a \c CONFIG_ symbol is keeping it
51 * always defined with a value of either 0 or 1. This lets
52 * you write tests like this:
61 * #endif // CONFIG_FOO
64 * In most cases, we rely on the optimizer to discard checks
65 * on constant values and performing dead-code elimination.
68 * \author Bernardo Innocenti <bernie@develer.com>
69 * \author Stefano Fedrigo <aleph@develer.com>
75 /** Kdebug console on debug unit */
76 #define CONFIG_KDEBUG_PORT KDEBUG_PORT_DBGU
78 /** Baud-rate for the kdebug console */
79 #define CONFIG_KDEBUG_BAUDRATE 115200
82 * printf()-style formatter configuration.
85 * \sa PRINTF_NOMODIFIERS
90 #define CONFIG_PRINTF PRINTF_FULL
93 * Multithreading kernel.
97 #define CONFIG_KERNEL 1
100 * \name Serial driver parameters
103 /** [bytes] Size of the outbound FIFO buffer for port 0. */
104 #define CONFIG_UART0_TXBUFSIZE 32
106 /** [bytes] Size of the inbound FIFO buffer for port 0. */
107 #define CONFIG_UART0_RXBUFSIZE 64
109 /** [bytes] Size of the outbound FIFO buffer for port 1. */
110 #define CONFIG_UART1_TXBUFSIZE 32
112 /** [bytes] Size of the inbound FIFO buffer for port 1. */
113 #define CONFIG_UART1_RXBUFSIZE 64
115 /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */
116 #define CONFIG_SPI0_TXBUFSIZE 16
118 /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */
119 #define CONFIG_SPI0_RXBUFSIZE 32
121 /** SPI data order (AVR only). */
122 #define CONFIG_SPI_DATA_ORDER SER_MSB_FIRST
124 /** SPI clock division factor (AVR only). */
125 #define CONFIG_SPI_CLOCK_DIV 16
127 /** SPI clock polarity: 0 = normal low, 1 = normal high (AVR only). */
128 #define CONFIG_SPI_CLOCK_POL 0
130 /** SPI clock phase: 0 = sample on first edge, 1 = sample on second clock edge (AVR only). */
131 #define CONFIG_SPI_CLOCK_PHASE 0
133 /** Default transmit timeout (ms). Set to -1 to disable timeout support */
134 #define CONFIG_SER_TXTIMEOUT -1
136 /** Default receive timeout (ms). Set to -1 to disable timeout support */
137 #define CONFIG_SER_RXTIMEOUT -1
139 /** Use RTS/CTS handshake */
140 #define CONFIG_SER_HWHANDSHAKE 0
142 /** Default baud rate (set to 0 to disable) */
143 #define CONFIG_SER_DEFBAUDRATE 0
145 /** Enable second serial port in emulator. */
146 #define CONFIG_EMUL_UART1 0
149 * Transmit always something on serial port 0 TX
150 * to avoid interference when sending burst of data,
151 * using AVR multiprocessor serial mode
153 #define CONFIG_SER_TXFILL 0
155 #define CONFIG_SER_STROBE 0
158 /// Hardware timer selection for drv/timer.c
159 #define CONFIG_TIMER TIMER_DEFAULT
161 /// Debug timer interrupt using a strobe pin.
162 #define CONFIG_TIMER_STROBE 0
164 /// Enable ADS strobe.
165 #define CONFIG_ADC_STROBE 0
167 /// Enable watchdog timer.
168 #define CONFIG_WATCHDOG 0
170 /// EEPROM type for drv/eeprom.c
171 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
173 /// Select bitmap pixel format.
174 #define CONFIG_BITMAP_FMT BITMAP_FMT_PLANAR_V_LSB
176 /// Enable line clipping algorithm.
177 #define CONFIG_GFX_CLIPPING 1
179 /// Enable text rendering in bitmaps.
180 #define CONFIG_GFX_TEXT 1
182 /// Enable virtual coordinate system.
183 #define CONFIG_GFX_VCOORDS 1
185 /// Keyboard polling method
186 #define CONFIG_KBD_POLL KBD_POLL_SOFTINT
188 /// Enable keyboard event delivery to observers
189 #define CONFIG_KBD_OBSERVER 0
192 #define CONFIG_KBD_BEEP 1
194 /// Enable long pression handler for keys
195 #define CONFIG_KBD_LONGPRESS 1
198 * \name Type for the chart dataset
201 #define CONFIG_CHART_TYPE_X uint8_t
202 #define CONFIG_CHART_TYPE_Y uint8_t
205 /// Enable button bar behind menus
206 #define CONFIG_MENU_MENUBAR 0
208 /// Enable smooth scrolling in menus
209 #define CONFIG_MENU_SMOOTH 1
211 /** Enable kfile_gets() and kfile_gets_echo() */
212 #define CONFIG_KFILE_GETS 0
215 #define CONFIG_TEST 0
217 #define CONFIG_FAST_MEM 0
220 #endif /* APPCONFIG_COMMON_H */