Removed 'This file is part of DevLib ...'
[bertos.git] / app / triface / appconfig.h
1 /**
2  * \file
3  * <!--
4  * This file is part of BeRTOS.
5  *
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.
10  *
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.
15  *
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
19  *
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.
28  *
29  * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
30  *
31  * -->
32  *
33  * \brief DevLib configuration options
34  *
35  * You should copy this header in your project and rename it to
36  * "config.h" and delete the CONFIG_ macros for the modules
37  * you're not using.
38  *
39  * <h2>Working with multiple applications</h2>
40  *
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.
46  *
47  * <h2>Configuration style</h2>
48  *
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:
53  *
54  * \code
55  *  #if CONFIG_FOO
56  *  void foo(void)
57  *  {
58  *      if (CONFIG_BAR)
59  *          bar();
60  *  }
61  *  #endif // CONFIG_FOO
62  * \endcode
63  *
64  * In most cases, we rely on the optimizer to discard checks
65  * on constant values and performing dead-code elimination.
66  *
67  * \version $Id$
68  * \author Bernardo Innocenti <bernie@develer.com>
69  * \author Stefano Fedrigo <aleph@develer.com>
70  */
71
72 /*#*
73  *#* $Log$
74  *#* Revision 1.5  2006/09/20 13:54:40  marco
75  *#* Added new SPI definitions.
76  *#*
77  *#* Revision 1.4  2006/07/19 12:56:25  bernie
78  *#* Convert to new Doxygen style.
79  *#*
80  *#* Revision 1.3  2006/06/12 21:37:01  marco
81  *#* implemented some commands (ver and sleep)
82  *#*
83  *#* Revision 1.2  2006/06/01 12:29:21  marco
84  *#* Add first simple protocol command (version request).
85  *#*
86  *#* Revision 1.1  2006/05/18 00:41:47  bernie
87  *#* New triface devlib application.
88  *#*
89  *#*/
90
91 #ifndef APPCONFIG_TRIFACE_H
92 #define APPCONFIG_TRIFACE_H
93
94 /** Baud-rate for the kdebug console */
95 #define CONFIG_KDEBUG_BAUDRATE  38400
96
97 /** Serial port number for kdebug console */
98 #define CONFIG_KDEBUG_PORT  0
99
100
101 /**
102  * printf()-style formatter configuration.
103  *
104  * \sa PRINTF_DISABLED
105  * \sa PRINTF_NOMODIFIERS
106  * \sa PRINTF_REDUCED
107  * \sa PRINTF_NOFLOAT
108  * \sa PRINTF_FULL
109  */
110 #define CONFIG_PRINTF PRINTF_FULL
111
112 /**
113  * Multithreading kernel.
114  *
115  * \sa config_kern.h
116  */
117 #define CONFIG_KERNEL 0
118
119 /**
120  * \name Serial driver parameters
121  * \{
122  */
123         /** [bytes] Size of the outbound FIFO buffer for port 0. */
124         #define CONFIG_UART0_TXBUFSIZE  32
125
126         /** [bytes] Size of the inbound FIFO buffer for port 0. */
127         #define CONFIG_UART0_RXBUFSIZE  64
128
129         /** [bytes] Size of the outbound FIFO buffer for port 1. */
130         #define CONFIG_UART1_TXBUFSIZE  32
131
132         /** [bytes] Size of the inbound FIFO buffer for port 1. */
133         #define CONFIG_UART1_RXBUFSIZE  64
134
135         /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */
136         #define CONFIG_SPI_TXBUFSIZE    16
137
138         /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */
139         #define CONFIG_SPI_RXBUFSIZE    32
140
141         /** SPI data order (AVR only). */
142         #define CONFIG_SPI_DATA_ORDER   SER_MSB_FIRST
143
144         /** SPI clock division factor (AVR only). */
145         #define CONFIG_SPI_CLOCK_DIV    16
146
147         /** SPI clock polarity: 0 = normal low, 1 = normal high (AVR only). */
148         #define CONFIG_SPI_CLOCK_POL    0
149
150         /** SPI clock phase: 0 = sample on first edge, 1 = sample on second clock edge (AVR only). */
151         #define CONFIG_SPI_CLOCK_PHASE  0
152
153         /** Default transmit timeout (ms). Set to -1 to disable timeout support */
154         #define CONFIG_SER_TXTIMEOUT    -1
155
156         /** Default receive timeout (ms). Set to -1 to disable timeout support */
157         #define CONFIG_SER_RXTIMEOUT    -1
158
159         /** Use RTS/CTS handshake */
160         #define CONFIG_SER_HWHANDSHAKE   0
161
162         /** Default baud rate (set to 0 to disable) */
163         #define CONFIG_SER_DEFBAUDRATE   0
164
165         /** Enable ser_gets() and ser_gets_echo() */
166         #define CONFIG_SER_GETS          1
167
168         /** Enable second serial port in emulator. */
169         #define CONFIG_EMUL_UART1        0
170
171         /**
172          * Transmit always something on serial port 0 TX
173          * to avoid interference when sending burst of data,
174          * using AVR multiprocessor serial mode
175          */
176         #define CONFIG_SER_TXFILL        0
177
178         #define CONFIG_SER_STROBE        0
179 /*\}*/
180
181 /// Hardware timer selection for drv/timer.c
182 #define CONFIG_TIMER  TIMER_ON_OUTPUT_COMPARE0
183
184 /// Debug timer interrupt using a strobe pin.
185 #define CONFIG_TIMER_STROBE  0
186
187 /// Enable watchdog timer.
188 #define CONFIG_WATCHDOG  0
189
190 /// Enable internal parser commands.
191 #define CONFIG_INTERNAL_COMMANDS  0
192
193 #endif /* APPCONFIG_TRIFACE_H */