Update project.
[bertos.git] / boards / stm32-p103 / templates / stm32-p103_kernel / cfg / cfg_adc.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 2008 Develer S.r.l. (http://www.develer.com/)
30  *
31  * -->
32  *
33  * \brief Configuration file for the ADC module.
34  *
35  * \author Daniele Basile <asterix@develer.com>
36  */
37
38 #ifndef CFG_ADC_H
39 #define CFG_ADC_H
40
41 /**
42  * Module logging level.
43  *
44  * $WIZ$ type = "enum"
45  * $WIZ$ value_list = "log_level"
46  */
47 #define ADC_LOG_LEVEL      LOG_LVL_INFO
48
49 /**
50  * Module logging format.
51  *
52  * $WIZ$ type = "enum"
53  * $WIZ$ value_list = "log_format"
54  */
55 #define ADC_LOG_FORMAT     LOG_FMT_VERBOSE
56
57 /**
58  * Clock Frequency for ADC conversion.
59  * This frequency will be rounded down to an integer
60  * submultiple of CPU_FREQ.
61  *
62  * $WIZ$ type = "int"
63  * $WIZ$ supports = "at91"
64  * $WIZ$ max = 5000000
65  */
66 #define CONFIG_ADC_CLOCK        4800000UL
67
68 /**
69  * Minimum time for starting up a conversion [us].
70  *
71  * $WIZ$ type = "int"
72  * $WIZ$ min = 20
73  * $WIZ$ supports = "at91"
74  */
75 #define CONFIG_ADC_STARTUP_TIME 20
76
77 /**
78  * Minimum time for sample and hold [ns].
79  *
80  * $WIZ$ type = "int"
81  * $WIZ$ min = 600
82  * $WIZ$ supports = "at91"
83  */
84 #define CONFIG_ADC_SHTIME       834
85
86 /**
87  * ADC Voltage Reference.
88  *
89  * $WIZ$ type = "enum"
90  * $WIZ$ value_list = "avr_adc_refs"
91  * $WIZ$ supports = "avr"
92  */
93 #define CONFIG_ADC_AVR_REF      ADC_AVR_AVCC
94
95 /**
96  * ADC clock divisor from main crystal.
97  *
98  * $WIZ$ type = "int"
99  * $WIZ$ min = 2
100  * $WIZ$ max = 128
101  * $WIZ$ supports = "avr"
102  */
103 #define CONFIG_ADC_AVR_DIVISOR  2
104
105 /**
106  * Enable ADC strobe for debugging ADC ISR.
107  *
108  * $WIZ$ type = "boolean"
109  */
110 #define CONFIG_ADC_STROBE  0
111
112
113 /**
114  * Start up timer[s] = startup value / ADCClock [Hz]
115  *
116  * $WIZ$ type = "enum"
117  * $WIZ$ value_list = "sam3_adc_sut"
118  * $WIZ$ supports = "sam3"
119  */
120 #define CONFIG_ADC_SUT         ADC_SUT512
121
122 /**
123  * Analog Settling Time[s] = settling value / ADCClock[Hz]
124  *
125  * $WIZ$ type = "enum"
126  * $WIZ$ value_list = "sam3_adc_stt"
127  * $WIZ$ supports = "sam3"
128  */
129 #define CONFIG_ADC_STTLING     ADC_AST17
130
131 /**
132  * Tracking Time[s] = (TRACKTIM + 1) / ADCClock[Hz]
133  *
134  * $WIZ$ type = "int"
135  * $WIZ$ min = 0
136  * $WIZ$ supports = "sam3"
137  */
138 #define CONFIG_ADC_TRACKTIM    0
139
140 /**
141  * Transfer Period[s] = (TRANSFER * 2 + 3) ADCClock[Hz]
142  *
143  * $WIZ$ type = "int"
144  * $WIZ$ min = 0
145  * $WIZ$ supports = "sam3"
146  */
147 #define CONFIG_ADC_TRANSFER    1
148
149 #endif /* CFG_ADC_H */