Make driver optional; mark AVR specific parts as such.
[bertos.git] / config_template.h
1 /*!
2  * \file
3  * <!--
4  * Copyright 2003, 2004 Develer S.r.l. (http://www.develer.com/)
5  * All Rights Reserved.
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.4  2004/08/25 14:12:08  rasky
50  *#* Aggiornato il comment block dei log RCS
51  *#*
52  *#* Revision 1.3  2004/08/24 14:30:11  bernie
53  *#* Use new-style config macros for drv/timer.c
54  *#*
55  *#* Revision 1.2  2004/08/05 18:46:52  bernie
56  *#* Documentation improvements.
57  *#*
58  *#* Revision 1.1  2004/07/29 23:34:32  bernie
59  *#* Add template configuration file.
60  *#*
61  *#*/
62
63 #ifndef CONFIG_COMMON_H
64 #define CONFIG_COMMON_H
65
66 /*! Baud-rate for the kdebug console */
67 #define CONFIG_KDEBUG_BAUDRATE  19200
68
69 /*!
70  * printf()-style formatter configuration.
71  *
72  * \sa PRINTF_DISABLED
73  * \sa PRINTF_NOMODIFIERS
74  * \sa PRINTF_REDUCED
75  * \sa PRINTF_NOFLOAT
76  * \sa PRINTF_FULL
77  */
78 #define CONFIG_PRINTF PRINTF_FULL
79
80 /*!
81  * Multithreading kernel
82  *
83  * /sa config_kernel.h
84  */
85 #define CONFIG_KERNEL 0
86
87 /*!
88  * \name Serial driver parameters
89  * \{
90  */
91         /*! Size of the outbound FIFO buffer for all ports (bytes) */
92         #define CONFIG_SER_TXBUFSIZE  32
93         /*! Size of the inbound FIFO buffer for all ports (bytes) */
94         #define CONFIG_SER_RXBUFSIZE  64
95
96         /*! Default transmit timeout (ms). Set to -1 to disable timeout support */
97         #define CONFIG_SER_TXTIMEOUT    -1
98         /*! Default receive timeout (ms). Set to -1 to disable timeout support */
99         #define CONFIG_SER_RXTIMEOUT    -1
100
101         /*! Use RTS/CTS handshake */
102         #define CONFIG_SER_HWHANDSHAKE   0
103
104         /*! Default baud rate (set to 0 to disable) */
105         #define CONFIG_SER_DEFBAUDRATE   0
106
107         /*! Enable ser_gets() and ser_gets_echo() */
108         #define CONFIG_SER_GETS          0
109
110         /*!
111          * Transmit always something on serial port 0 TX
112          * to avoid interference when sending burst of data,
113          * using AVR multiprocessor serial mode
114          */
115         #define CONFIG_SER_TXFILL        0
116 /*\}*/
117
118 /*!
119  * \name KBus configuration
120  * \{
121  */
122         /*! Board address for KBus */
123         #define CONFIG_KBUS_ADDR KBUS_ADDR_FOOBAR
124
125         /*! Disable KBUS escaping support */
126         #define CONFIG_KBUS_ESCAPE  0
127
128         /*! Serial port for internal KBUS communication */
129         #define CONFIG_KBUS_PORT  0
130
131         /*! Serial port speed for KBus communication */
132         #define CONFIG_KBUS_BAUDRATE  19200
133 /*\}*/
134
135 //! Hardware timer selection for drv/timer.c
136 #define CONFIG_TIMER  TIMER_ON_OUTPUT_COMPARE2
137
138 //! EEPROM type for drv/eeprom.c
139 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
140
141 #endif /* CONFIG_COMMON_H */