From 16178e1c45a76544d34ce63db37932838353637c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 28 Nov 2009 12:25:35 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1333 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/include/adc.h | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 os/hal/include/adc.h (limited to 'os/hal/include/adc.h') diff --git a/os/hal/include/adc.h b/os/hal/include/adc.h new file mode 100644 index 000000000..af08502a8 --- /dev/null +++ b/os/hal/include/adc.h @@ -0,0 +1,70 @@ +/* + ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/RT is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/** + * @file adc.h + * @brief ADC Driver macros and structures. + * @addtogroup ADC + * @{ + */ + +#ifndef _ADC_H_ +#define _ADC_H_ + +#if CH_HAL_USE_ADC + +#if !CH_USE_SEMAPHORES +#error "ADC driver requires CH_USE_SEMAPHORES" +#endif + +/** + * @brief Driver state machine possible states. + */ +typedef enum { + ADC_UNINIT = 0, /**< @brief Not initialized. */ + ADC_STOP = 1, /**< @brief Stopped. */ + ADC_READY = 2, /**< @brief Ready. */ + ADC_RUNNING = 3 /**< @brief Conversion running. */ +} adcstate_t; + +#include "adc_lld.h" + +#ifdef __cplusplus +extern "C" { +#endif + void adcInit(void); + void adcObjectInit(ADCDriver *adcp); + void adcStart(ADCDriver *adcp, const ADCConfig *config); + void adcStop(ADCDriver *adcp); + bool_t adcStartConversion(ADCDriver *adcp, + const ADCConversionGroup *grpp, + adcsample_t *samples, + size_t depth, + adccallback_t callback); + void adcStopConversion(ADCDriver *adcp); + msg_t adcWaitConversion(ADCDriver *adcp, systime_t timeout); +#ifdef __cplusplus +} +#endif + +#endif /* CH_HAL_USE_ADC */ + +#endif /* _ADC_H_ */ + +/** @} */ -- cgit v1.2.3