X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/5712b8dff669dc1947cd7d6f34f13eb9fe6a8d0a..8c6f26e19db3310c452d19393cb4def3592671b1:/LUFA/Drivers/Peripheral/ADC.h diff --git a/LUFA/Drivers/Peripheral/ADC.h b/LUFA/Drivers/Peripheral/ADC.h index 02d2d0838..5a1d33032 100644 --- a/LUFA/Drivers/Peripheral/ADC.h +++ b/LUFA/Drivers/Peripheral/ADC.h @@ -1,87 +1,77 @@ -/* - LUFA Library - Copyright (C) Dean Camera, 2009. - - dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com -*/ - -/* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaim all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. -*/ - -/** \file - * - * This file is the master dispatch header file for the device-specific ADC driver, for AVRs containing an ADC. - * - * User code should include this file, which will in turn include the correct ADC driver header file for the - * currently selected AVR model. - */ - -/** \ingroup Group_SubsystemDrivers - * @defgroup Group_ADC ADC Driver - LUFA/Drivers/Peripheral/ADC.h - */ - -#ifndef __ADC_H__ -#define __ADC_H__ - - /* Macros: */ - #if !defined(__DOXYGEN__) - #define INCLUDE_FROM_ADC_H - #define INCLUDE_FROM_CHIP_DRIVER - #endif - - /* Includes: */ - #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \ - defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \ - defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \ - defined(__AVR_ATmega32U6__)) - #include "AT90USBXXX67/ADC.h" - #else - #error "ADC is not available for the currently selected AVR model." - #endif - - /* Public Interface - May be used in end-application: */ - /* Inline Functions: */ - /** Starts the reading of the given channel, but does not wait until the conversion has completed. - * Once executed, the conversion status can be determined via the ADC_IsReadingComplete() macro and - * the result read via the ADC_GetResult() macro. - * - * \param MUXMask Mask comprising of an ADC channel number, reference mask and adjustment mask - */ - static inline void ADC_StartReading(const uint8_t MUXMask); - - /** Performs a complete single reading from channel, including a polling spinloop to wait for the - * conversion to complete, and the returning of the converted value. - * - * \param MUXMask Mask comprising of an ADC channel number, reference mask and adjustment mask - */ - static inline uint16_t ADC_GetChannelReading(const uint8_t MUXMask) ATTR_WARN_UNUSED_RESULT; - - /** Configures the given ADC channel, ready for ADC conversions. This function sets the - * associated port pin as an input and disables the digital portion of the I/O to reduce - * power consumption. - * - * \param Channel ADC channel number to set up for conversions - */ - static inline void ADC_SetupChannel(const uint8_t Channel); - -#endif +/* + LUFA Library + Copyright (C) Dean Camera, 2011. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +*/ + +/* + Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +/** \file + * \brief Hardware Analogue-to-Digital converter driver. + * + * This file is the master dispatch header file for the device-specific ADC driver, for microcontrollers + * containing an ADC. + * + * User code should include this file, which will in turn include the correct ADC driver header file for the + * currently selected architecture and microcontroller model. + */ + +/** \ingroup Group_PeripheralDrivers + * \defgroup Group_ADC ADC Driver - LUFA/Drivers/Peripheral/ADC.h + * \brief Hardware Analogue-to-Digital converter driver. + * + * \section Sec_Dependencies Module Source Dependencies + * The following files must be built with any user project that uses this module: + * - None + * + * \section Sec_ModDescription Module Description + * Hardware ADC driver. This module provides an easy to use driver for the hardware ADC + * present on many microcontrollers, for the conversion of analogue signals into the + * digital domain. + * + * \note The exact API for this driver may vary depending on the target used - see + * individual target module documentation for the API specific to your target processor. + */ + +#ifndef __ADC_H__ +#define __ADC_H__ + + /* Macros: */ + #if !defined(__DOXYGEN__) + #define __INCLUDE_FROM_ADC_H + #endif + + /* Includes: */ + #include "../../Common/Common.h" + + /* Includes: */ + #if (ARCH == ARCH_AVR8) + #include "AVR8/ADC_AVR8.h" + #else + #error The ADC peripheral driver is not currently available for your selected architecture. + #endif + +#endif +