Paparazzi UAS  v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adc_arch.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010-2012 Paparazzi team
3  *
4  * This file is part of Paparazzi.
5  *
6  * Paparazzi 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, or (at your option)
9  * any later version.
10  *
11  * Paparazzi 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 Paparazzi; see the file COPYING. If not, write to
18  * the Free Software Foundation, 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  *
21  */
22 
30 #ifndef ADC_ARCH_H
31 #define ADC_ARCH_H
32 
33 #include BOARD_CONFIG
34 
35 /* Set the correct ADC resolution */
36 #ifndef ADC_RESOLUTION
37 #define ADC_RESOLUTION 4096
38 #endif
39 
41 #ifdef AD1_1_CHANNEL
42  AD1_1,
43 #endif
44 #ifdef AD1_2_CHANNEL
45  AD1_2,
46 #endif
47 #ifdef AD1_3_CHANNEL
48  AD1_3,
49 #endif
50 #ifdef AD1_4_CHANNEL
51  AD1_4,
52 #endif
54 };
55 
58 #ifdef AD2_1_CHANNEL
59  AD2_1,
60 #endif
61 #ifdef AD2_2_CHANNEL
62  AD2_2,
63 #endif
64 #ifdef AD2_3_CHANNEL
65  AD2_3,
66 #endif
67 #ifdef AD2_4_CHANNEL
68  AD2_4,
69 #endif
71 };
72 
75 #ifdef AD3_1_CHANNEL
76  AD3_1,
77 #endif
78 #ifdef AD3_2_CHANNEL
79  AD3_2,
80 #endif
81 #ifdef AD3_3_CHANNEL
82  AD3_3,
83 #endif
84 #ifdef AD3_4_CHANNEL
85  AD3_4,
86 #endif
88 };
89 
90 #if USE_ADC_WATCHDOG
91 
92 /* Watchdog callback type definition
93  */
94 typedef void (*adc_watchdog_callback)(void);
95 
96 /* Watchdog register function
97  *
98  * @param adc adc bank to monitor
99  * @param chan adc channel to monitor
100  * @param low low threshhold for callback trigger
101  * @param high high threshhold for callback trigger
102  */
103 extern void register_adc_watchdog(uint32_t adc, uint8_t chan, uint16_t low, uint16_t high, adc_watchdog_callback cb);
104 
105 #endif
106 
107 #endif /* ADC_ARCH_H */
unsigned short uint16_t
Definition: types.h:16
adc1_channels
Definition: adc_arch.h:41
unsigned long uint32_t
Definition: types.h:18
unsigned char uint8_t
Definition: types.h:14
adc3_channels
Definition: adc_arch.h:73
adc2_channels
Definition: adc_arch.h:56