90aeb7bdfd13119341ca045ebf4d4ccb117eaa7c
[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  *
60  * $WIZ$ type = "int"
61  * $WIZ$ supports = "at91"
62  */
63 #define CONFIG_ADC_CLOCK        4800000UL
64
65 /**
66  * Minimum time for starting up a conversion [us].
67  *
68  * $WIZ$ type = "int"
69  * $WIZ$ min = 0
70  * $WIZ$ supports = "at91"
71  */
72 #define CONFIG_ADC_STARTUP_TIME 20
73
74 /**
75  * Minimum time for sample and hold [us].
76  *
77  * $WIZ$ type = "int"
78  * $WIZ$ min = 0
79  * $WIZ$ supports = "at91"
80  */
81 #define CONFIG_ADC_SHTIME       834
82
83 /**
84  * ADC Voltage Reference.
85  *
86  * $WIZ$ type = "enum"
87  * $WIZ$ value_list = "avr_adc_refs"
88  * $WIZ$ supports = "avr"
89  */
90 #define CONFIG_ADC_AVR_REF      ADC_AVR_AVCC
91
92 /**
93  * ADC clock divisor from main crystal.
94  *
95  * $WIZ$ type = "int"
96  * $WIZ$ min = 2
97  * $WIZ$ max = 128
98  * $WIZ$ supports = "avr"
99  */
100 #define CONFIG_ADC_AVR_DIVISOR  2
101
102 /**
103  * Enable ADC strobe for debugging ADC ISR.
104  *
105  * $WIZ$ type = "boolean"
106  */
107 #define CONFIG_ADC_STROBE  0
108
109 #endif /* CFG_ADC_H */