fc0253ba6deade18655bd9bb009f6cee5a764057
[bertos.git] / app / triface / 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.5  2006/09/20 13:54:40  marco
50  *#* Added new SPI definitions.
51  *#*
52  *#* Revision 1.4  2006/07/19 12:56:25  bernie
53  *#* Convert to new Doxygen style.
54  *#*
55  *#* Revision 1.3  2006/06/12 21:37:01  marco
56  *#* implemented some commands (ver and sleep)
57  *#*
58  *#* Revision 1.2  2006/06/01 12:29:21  marco
59  *#* Add first simple protocol command (version request).
60  *#*
61  *#* Revision 1.1  2006/05/18 00:41:47  bernie
62  *#* New triface devlib application.
63  *#*
64  *#*/
65
66 #ifndef APPCONFIG_TRIFACE_H
67 #define APPCONFIG_TRIFACE_H
68
69 /** Baud-rate for the kdebug console */
70 #define CONFIG_KDEBUG_BAUDRATE  38400
71
72 /** Serial port number for kdebug console */
73 #define CONFIG_KDEBUG_PORT  0
74
75
76 /**
77  * printf()-style formatter configuration.
78  *
79  * \sa PRINTF_DISABLED
80  * \sa PRINTF_NOMODIFIERS
81  * \sa PRINTF_REDUCED
82  * \sa PRINTF_NOFLOAT
83  * \sa PRINTF_FULL
84  */
85 #define CONFIG_PRINTF PRINTF_FULL
86
87 /**
88  * Multithreading kernel.
89  *
90  * \sa config_kern.h
91  */
92 #define CONFIG_KERNEL 0
93
94 /**
95  * \name Serial driver parameters
96  * \{
97  */
98         /** [bytes] Size of the outbound FIFO buffer for port 0. */
99         #define CONFIG_UART0_TXBUFSIZE  32
100
101         /** [bytes] Size of the inbound FIFO buffer for port 0. */
102         #define CONFIG_UART0_RXBUFSIZE  64
103
104         /** [bytes] Size of the outbound FIFO buffer for port 1. */
105         #define CONFIG_UART1_TXBUFSIZE  32
106
107         /** [bytes] Size of the inbound FIFO buffer for port 1. */
108         #define CONFIG_UART1_RXBUFSIZE  64
109
110         /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */
111         #define CONFIG_SPI_TXBUFSIZE    16
112
113         /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */
114         #define CONFIG_SPI_RXBUFSIZE    32
115
116         /** SPI data order (AVR only). */
117         #define CONFIG_SPI_DATA_ORDER   SER_MSB_FIRST
118
119         /** SPI clock division factor (AVR only). */
120         #define CONFIG_SPI_CLOCK_DIV    16
121
122         /** SPI clock polarity: 0 = normal low, 1 = normal high (AVR only). */
123         #define CONFIG_SPI_CLOCK_POL    0
124
125         /** SPI clock phase: 0 = sample on first edge, 1 = sample on second clock edge (AVR only). */
126         #define CONFIG_SPI_CLOCK_PHASE  0
127
128         /** Default transmit timeout (ms). Set to -1 to disable timeout support */
129         #define CONFIG_SER_TXTIMEOUT    -1
130
131         /** Default receive timeout (ms). Set to -1 to disable timeout support */
132         #define CONFIG_SER_RXTIMEOUT    -1
133
134         /** Use RTS/CTS handshake */
135         #define CONFIG_SER_HWHANDSHAKE   0
136
137         /** Default baud rate (set to 0 to disable) */
138         #define CONFIG_SER_DEFBAUDRATE   0
139
140         /** Enable ser_gets() and ser_gets_echo() */
141         #define CONFIG_SER_GETS          1
142
143         /** Enable second serial port in emulator. */
144         #define CONFIG_EMUL_UART1        0
145
146         /**
147          * Transmit always something on serial port 0 TX
148          * to avoid interference when sending burst of data,
149          * using AVR multiprocessor serial mode
150          */
151         #define CONFIG_SER_TXFILL        0
152
153         #define CONFIG_SER_STROBE        0
154 /*\}*/
155
156 /// Hardware timer selection for drv/timer.c
157 #define CONFIG_TIMER  TIMER_ON_OUTPUT_COMPARE0
158
159 /// Debug timer interrupt using a strobe pin.
160 #define CONFIG_TIMER_STROBE  0
161
162 /// Enable watchdog timer.
163 #define CONFIG_WATCHDOG  0
164
165 /// Enable internal parser commands.
166 #define CONFIG_INTERNAL_COMMANDS  0
167
168 #endif /* APPCONFIG_TRIFACE_H */