adc.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014-2015 Freie Universität Berlin
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
57 #include <limits.h>
58 #include <stdint.h>
59 
60 #include "periph_cpu.h"
61 #include "periph_conf.h"
62 
63 #ifdef __cplusplus
64 extern "C" {
65 #endif
66 
70 #ifndef HAVE_ADC_T
71 typedef uint_fast8_t adc_t;
72 #endif
73 
77 #ifndef ADC_UNDEF
78 #define ADC_UNDEF (UINT_FAST8_MAX)
79 #endif
80 
84 #ifndef ADC_LINE
85 #define ADC_LINE(x) (x)
86 #endif
87 
91 #ifndef HAVE_ADC_RES_T
92 typedef enum {
99 } adc_res_t;
100 #endif
101 
112 int adc_init(adc_t line);
113 
128 int32_t adc_sample(adc_t line, adc_res_t res);
129 
138 
147 
154 
155 #ifdef __cplusplus
156 }
157 #endif
158 
int32_t adc_sample(adc_t line, adc_res_t res)
Sample a value from the given ADC line.
int adc_init(adc_t line)
Initialize the given ADC line.
int32_t adc_continuous_sample(adc_t line)
Sample an ADC line without powering off the ADC afterward.
void adc_continuous_stop(void)
Disable the ADC to save power.
uint_fast8_t adc_t
Define default ADC type identifier.
Definition: adc.h:71
void adc_continuous_begin(adc_res_t res)
Configure the ADC with a given resolution for continuous sampling.
adc_res_t
Possible ADC resolution settings.
Definition: adc.h:92
@ ADC_RES_16BIT
ADC resolution: 16 bit.
Definition: adc.h:98
@ ADC_RES_8BIT
ADC resolution: 8 bit.
Definition: adc.h:94
@ ADC_RES_14BIT
ADC resolution: 14 bit.
Definition: adc.h:97
@ ADC_RES_6BIT
ADC resolution: 6 bit.
Definition: adc.h:93
@ ADC_RES_10BIT
ADC resolution: 10 bit.
Definition: adc.h:95
@ ADC_RES_12BIT
ADC resolution: 12 bit.
Definition: adc.h:96