X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/eee252603be67c539f9986cde76454f756e55d95..c49d4af4493f39e6f9f62f7b91d2cbe75be5e8fe:/LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h diff --git a/LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h b/LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h index 06162f29b..03b6ed0c2 100644 --- a/LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h +++ b/LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2012. + Copyright (C) Dean Camera, 2014. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2014 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 @@ -41,28 +41,28 @@ /** \ingroup Group_ADC * \defgroup Group_ADC_AVR8 ADC Peripheral Driver (AVR8) * - * \section Sec_ModDescription Module Description + * \section Sec_ADC_AVR8_ModDescription Module Description * On-chip Analogue-to-Digital converter (ADC) driver for supported U4, U6 and U7 model AVRs that contain an ADC * peripheral internally. * * \note This file should not be included directly. It is automatically included as needed by the ADC driver * dispatch header located in LUFA/Drivers/Peripheral/ADC.h. * - * \section Sec_ExampleUsage Example Usage + * \section Sec_ADC_AVR8_ExampleUsage Example Usage * The following snippet is an example of how this module may be used within a typical * application. * * \code * // Initialize the ADC driver before first use * ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_32); - * + * * // Must setup the ADC channel to read beforehand * ADC_SetupChannel(1); - * + * * // Perform a single conversion of the ADC channel 1 * ADC_GetChannelReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | ADC_CHANNEL1); * printf("Conversion Result: %d\r\n", ADC_GetResult()); - * + * * // Start reading ADC channel 1 in free running (continuous conversion) mode * ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | ADC_CHANNEL1); * for (;;) @@ -93,18 +93,10 @@ #if !(defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \ defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \ - defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \ - defined(__AVR_ATmega32U6__)) + defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) #error The ADC peripheral driver is not currently available for your selected microcontroller model. #endif - /* Private Interface - For use in library only: */ - #if !defined(__DOXYGEN__) - /* Macros: */ - #define _ADC_GET_MUX_MASK2(y) ADC_CHANNEL ## y - #define _ADC_GET_MUX_MASK(y) _ADC_GET_MUX_MASK2(y) - #endif - /* Public Interface - May be used in end-application: */ /* Macros: */ /** \name ADC Reference Configuration Masks */ @@ -258,7 +250,7 @@ * * \param[in] Channel Index of the ADC channel whose MUX mask is to be retrieved. */ - #define ADC_GET_CHANNEL_MASK(Channel) _ADC_GET_MUX_MASK(Channel) + #define ADC_GET_CHANNEL_MASK(Channel) CONCAT_EXPANDED(ADC_CHANNEL, Channel) //@} /* Inline Functions: */ @@ -276,8 +268,7 @@ static inline void ADC_SetupChannel(const uint8_t ChannelIndex) { #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \ - defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \ - defined(__AVR_ATmega32U6__)) + defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__)) DDRF &= ~(1 << ChannelIndex); DIDR0 |= (1 << ChannelIndex); #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) @@ -318,8 +309,7 @@ static inline void ADC_DisableChannel(const uint8_t ChannelIndex) { #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \ - defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \ - defined(__AVR_ATmega32U6__)) + defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__)) DDRF &= ~(1 << ChannelIndex); DIDR0 &= ~(1 << ChannelIndex); #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) @@ -372,7 +362,7 @@ /** Indicates if the current ADC conversion is completed, or still in progress. * - * \return Boolean false if the reading is still taking place, or true if the conversion is + * \return Boolean \c false if the reading is still taking place, or true if the conversion is * complete and ready to be read out with \ref ADC_GetResult(). */ static inline bool ADC_IsReadingComplete(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;