ser_open(): Document a bit more.
[bertos.git] / 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.11  2006/04/11 00:08:53  bernie
50  *#* Add smooth scrolling for menus.
51  *#*
52  *#* Revision 1.10  2006/03/22 09:48:51  bernie
53  *#* Add a few more config options.
54  *#*
55  *#* Revision 1.9  2006/02/24 00:27:35  bernie
56  *#* Enable kernel and fix Doxygen markup.
57  *#*
58  *#* Revision 1.8  2006/02/21 16:06:05  bernie
59  *#* Update copyright info.
60  *#*
61  *#* Revision 1.7  2006/02/17 22:28:19  bernie
62  *#* Add missing UART definitions.
63  *#*
64  *#* Revision 1.6  2006/02/15 09:12:56  bernie
65  *#* Switch to BITMAP_FMT_PLANAR_V_LSB.
66  *#*
67  *#* Revision 1.5  2006/02/10 12:34:33  bernie
68  *#* Add missing config options for gfx and kbd.
69  *#*
70  *#* Revision 1.4  2006/01/23 23:12:27  bernie
71  *#* Enable CONFIG_GFX_VCOORDS.
72  *#*
73  *#* Revision 1.3  2006/01/17 02:30:06  bernie
74  *#* Add new config vars.
75  *#*
76  *#* Revision 1.2  2005/11/27 03:04:57  bernie
77  *#* CONFIG_WATCHDOG: New config option.
78  *#*
79  *#* Revision 1.1  2005/11/04 17:42:12  bernie
80  *#* Move cfg/config.h to appconfig.h.
81  *#*/
82
83 #ifndef CONFIG_COMMON_H
84 #define CONFIG_COMMON_H
85
86 /*! Baud-rate for the kdebug console */
87 #define CONFIG_KDEBUG_BAUDRATE  19200
88
89 /*!
90  * printf()-style formatter configuration.
91  *
92  * \sa PRINTF_DISABLED
93  * \sa PRINTF_NOMODIFIERS
94  * \sa PRINTF_REDUCED
95  * \sa PRINTF_NOFLOAT
96  * \sa PRINTF_FULL
97  */
98 #define CONFIG_PRINTF PRINTF_FULL
99
100 /*!
101  * Multithreading kernel.
102  *
103  * \sa config_kern.h
104  */
105 #define CONFIG_KERNEL 1
106
107 /*!
108  * \name Serial driver parameters
109  * \{
110  */
111         /*! [bytes] Size of the outbound FIFO buffer for port 0. */
112         #define CONFIG_UART0_TXBUFSIZE  32
113
114         /*! [bytes] Size of the inbound FIFO buffer for port 0. */
115         #define CONFIG_UART0_RXBUFSIZE  64
116
117         /*! [bytes] Size of the outbound FIFO buffer for port 1. */
118         #define CONFIG_UART1_TXBUFSIZE  32
119
120         /*! [bytes] Size of the inbound FIFO buffer for port 1. */
121         #define CONFIG_UART1_RXBUFSIZE  64
122
123         /*! Default transmit timeout (ms). Set to -1 to disable timeout support */
124         #define CONFIG_SER_TXTIMEOUT    -1
125
126         /*! Default receive timeout (ms). Set to -1 to disable timeout support */
127         #define CONFIG_SER_RXTIMEOUT    -1
128
129         /*! Use RTS/CTS handshake */
130         #define CONFIG_SER_HWHANDSHAKE   0
131
132         /*! Default baud rate (set to 0 to disable) */
133         #define CONFIG_SER_DEFBAUDRATE   0
134
135         /*! Enable ser_gets() and ser_gets_echo() */
136         #define CONFIG_SER_GETS          0
137
138         /** Enable second serial port in emulator. */
139         #define CONFIG_EMUL_UART1        0
140
141         /*!
142          * Transmit always something on serial port 0 TX
143          * to avoid interference when sending burst of data,
144          * using AVR multiprocessor serial mode
145          */
146         #define CONFIG_SER_TXFILL        0
147
148         #define CONFIG_SER_STROBE        0
149 /*\}*/
150
151 /*!
152  * \name KBus configuration
153  * \{
154  */
155         /*! Board address for KBus */
156         #define CONFIG_KBUS_ADDR KBUS_ADDR_FOOBAR
157
158         /*! Disable KBUS escaping support */
159         #define CONFIG_KBUS_ESCAPE  0
160
161         /*! Serial port for internal KBUS communication */
162         #define CONFIG_KBUS_PORT  0
163
164         /*! Serial port speed for KBus communication */
165         #define CONFIG_KBUS_BAUDRATE  19200
166 /*\}*/
167
168 //! Hardware timer selection for drv/timer.c
169 #define CONFIG_TIMER  TIMER_ON_OUTPUT_COMPARE2
170
171 //! Debug timer interrupt using a strobe pin.
172 #define CONFIG_TIMER_STROBE  0
173
174 //! Enable watchdog timer.
175 #define CONFIG_WATCHDOG  1
176
177 //! EEPROM type for drv/eeprom.c
178 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
179
180 /// Select bitmap pixel format.
181 #define CONFIG_BITMAP_FMT  BITMAP_FMT_PLANAR_V_LSB
182
183 /// Enable line clipping algorithm.
184 #define CONFIG_GFX_CLIPPING 1
185
186 /// Enable text rendering in bitmaps.
187 #define CONFIG_GFX_TEXT 1
188
189 /// Enable virtual coordinate system.
190 #define CONFIG_GFX_VCOORDS 1
191
192 /// Keyboard polling method
193 #define CONFIG_KBD_POLL  KBD_POLL_SOFTINT
194
195 /// Enable keyboard event delivery to observers
196 #define CONFIG_KBD_OBSERVER  0
197
198 /// Enable key beeps
199 #define CONFIG_KBD_BEEP 1
200
201 /*!
202  * \name Type for the chart dataset
203  * \{
204  */
205 #define CONFIG_CHART_TYPE_X uint8_t
206 #define CONFIG_CHART_TYPE_Y uint8_t
207 /*\}*/
208
209 /// Enable button bar behind menus
210 #define CONFIG_MENU_MENUBAR  0
211
212 /// Enable smooth scrolling in menus
213 #define CONFIG_MENU_SMOOTH  1
214
215 #endif /* CONFIG_COMMON_H */