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>
50 /** Baud-rate for the kdebug console */
51 #define CONFIG_KDEBUG_BAUDRATE 115200
54 * printf()-style formatter configuration.
57 * \sa PRINTF_NOMODIFIERS
62 #define CONFIG_PRINTF PRINTF_FULL
65 * Multithreading kernel.
69 #define CONFIG_KERNEL 0
72 * \name Serial driver parameters
75 /** [bytes] Size of the outbound FIFO buffer for port 0. */
76 #define CONFIG_UART0_TXBUFSIZE 32
78 /** [bytes] Size of the inbound FIFO buffer for port 0. */
79 #define CONFIG_UART0_RXBUFSIZE 64
81 /** [bytes] Size of the outbound FIFO buffer for port 1. */
82 #define CONFIG_UART1_TXBUFSIZE 32
84 /** [bytes] Size of the inbound FIFO buffer for port 1. */
85 #define CONFIG_UART1_RXBUFSIZE 64
87 /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */
88 #define CONFIG_SPI_TXBUFSIZE 16
90 /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */
91 #define CONFIG_SPI_RXBUFSIZE 32
93 /** SPI data order (AVR only). */
94 #define CONFIG_SPI_DATA_ORDER SER_MSB_FIRST
96 /** SPI clock division factor (AVR only). */
97 #define CONFIG_SPI_CLOCK_DIV 16
99 /** SPI clock polarity: 0 = normal low, 1 = normal high (AVR only). */
100 #define CONFIG_SPI_CLOCK_POL 0
102 /** SPI clock phase: 0 = sample on first edge, 1 = sample on second clock edge (AVR only). */
103 #define CONFIG_SPI_CLOCK_PHASE 0
105 /** Default transmit timeout (ms). Set to -1 to disable timeout support */
106 #define CONFIG_SER_TXTIMEOUT -1
108 /** Default receive timeout (ms). Set to -1 to disable timeout support */
109 #define CONFIG_SER_RXTIMEOUT -1
111 /** Use RTS/CTS handshake */
112 #define CONFIG_SER_HWHANDSHAKE 0
114 /** Default baud rate (set to 0 to disable) */
115 #define CONFIG_SER_DEFBAUDRATE 0
117 /** Enable ser_gets() and ser_gets_echo() */
118 #define CONFIG_SER_GETS 0
120 /** Enable second serial port in emulator. */
121 #define CONFIG_EMUL_UART1 0
124 * Transmit always something on serial port 0 TX
125 * to avoid interference when sending burst of data,
126 * using AVR multiprocessor serial mode
128 #define CONFIG_SER_TXFILL 0
130 #define CONFIG_SER_STROBE 0
133 /// Hardware timer selection for drv/timer.c
134 #define CONFIG_TIMER TIMER_DEFAULT
136 /// Debug timer interrupt using a strobe pin.
137 #define CONFIG_TIMER_STROBE 0
139 /// Enable ADS strobe.
140 #define CONFIG_ADC_STROBE 0
142 /// Enable watchdog timer.
143 #define CONFIG_WATCHDOG 0
145 /// EEPROM type for drv/eeprom.c
146 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
148 /// Select bitmap pixel format.
149 #define CONFIG_BITMAP_FMT BITMAP_FMT_PLANAR_V_LSB
151 /// Enable line clipping algorithm.
152 #define CONFIG_GFX_CLIPPING 1
154 /// Enable text rendering in bitmaps.
155 #define CONFIG_GFX_TEXT 1
157 /// Enable virtual coordinate system.
158 #define CONFIG_GFX_VCOORDS 1
160 /// Keyboard polling method
161 #define CONFIG_KBD_POLL KBD_POLL_SOFTINT
163 /// Enable keyboard event delivery to observers
164 #define CONFIG_KBD_OBSERVER 0
167 #define CONFIG_KBD_BEEP 1
169 /// Enable long pression handler for keys
170 #define CONFIG_KBD_LONGPRESS 1
173 * \name Type for the chart dataset
176 #define CONFIG_CHART_TYPE_X uint8_t
177 #define CONFIG_CHART_TYPE_Y uint8_t
180 /// Enable button bar behind menus
181 #define CONFIG_MENU_MENUBAR 0
183 /// Enable smooth scrolling in menus
184 #define CONFIG_MENU_SMOOTH 1
186 #endif /* APPCONFIG_COMMON_H */