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
55#ifndef PERIPH_ADC_H
56#define PERIPH_ADC_H
57
58#include <limits.h>
59#include <stdint.h>
60
61#include "periph_cpu.h"
62#include "periph_conf.h"
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
71#ifndef HAVE_ADC_T
72typedef uint_fast8_t adc_t;
73#endif
74
78#ifndef ADC_UNDEF
79#define ADC_UNDEF (UINT_FAST8_MAX)
80#endif
81
85#ifndef ADC_LINE
86#define ADC_LINE(x) (x)
87#endif
88
92#ifndef HAVE_ADC_RES_T
93typedef enum {
100} adc_res_t;
101#endif
102
113int adc_init(adc_t line);
114
129int32_t adc_sample(adc_t line, adc_res_t res);
130
139
150
157
158#ifdef __cplusplus
159}
160#endif
161
162#endif /* PERIPH_ADC_H */
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:72
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:93
@ ADC_RES_16BIT
ADC resolution: 16 bit.
Definition: adc.h:99
@ ADC_RES_8BIT
ADC resolution: 8 bit.
Definition: adc.h:95
@ ADC_RES_14BIT
ADC resolution: 14 bit.
Definition: adc.h:98
@ ADC_RES_6BIT
ADC resolution: 6 bit.
Definition: adc.h:94
@ ADC_RES_10BIT
ADC resolution: 10 bit.
Definition: adc.h:96
@ ADC_RES_12BIT
ADC resolution: 12 bit.
Definition: adc.h:97