projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git]
/
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
7a02c61
..
d85fddc
100644
(file)
--- a/
LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h
+++ b/
LUFA/Drivers/Peripheral/AVR8/ADC_AVR8.h
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 201
1
.
+ Copyright (C) Dean Camera, 201
2
.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 201
1
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
2
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
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-55,18
+55,21
@@
* \code
* // Initialize the ADC driver before first use
* ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_32);
* \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);
* // 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());
* // 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);
* // Start reading ADC channel 1 in free running (continuous conversion) mode
* ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | ADC_CHANNEL1);
- * while (!(ADC_IsReadingComplete())) {};
- * printf("Conversion Result: %d\r\n", ADC_GetResult());
+ * for (;;)
+ * {
+ * while (!(ADC_IsReadingComplete())) {};
+ * printf("Conversion Result: %d\r\n", ADC_GetResult());
+ * }
* \endcode
*
* @{
* \endcode
*
* @{
@@
-101,7
+104,7
@@
#define _ADC_GET_MUX_MASK2(y) ADC_CHANNEL ## y
#define _ADC_GET_MUX_MASK(y) _ADC_GET_MUX_MASK2(y)
#endif
#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 */
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name ADC Reference Configuration Masks */
@@
-115,7
+118,7
@@
/** Reference mask, for using the internally generated 2.56V reference voltage as the ADC reference. */
#define ADC_REFERENCE_INT2560MV ((1 << REFS1) | (1 << REFS0))
//@}
/** Reference mask, for using the internally generated 2.56V reference voltage as the ADC reference. */
#define ADC_REFERENCE_INT2560MV ((1 << REFS1) | (1 << REFS0))
//@}
-
+
/** \name ADC Result Adjustment Configuration Masks */
//@{
/** Left-adjusts the 10-bit ADC result, so that the upper 8 bits of the value returned by the
/** \name ADC Result Adjustment Configuration Masks */
//@{
/** Left-adjusts the 10-bit ADC result, so that the upper 8 bits of the value returned by the
@@
-141,7
+144,7
@@
*/
#define ADC_SINGLE_CONVERSION (0 << ADATE)
//@}
*/
#define ADC_SINGLE_CONVERSION (0 << ADATE)
//@}
-
+
/** \name ADC Prescaler Configuration Masks */
//@{
/** Sets the ADC input clock to prescale by a factor of 2 the AVR's system clock. */
/** \name ADC Prescaler Configuration Masks */
//@{
/** Sets the ADC input clock to prescale by a factor of 2 the AVR's system clock. */
@@
-174,7
+177,7
@@
/** MUX mask define for the ADC1 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading(). */
#define ADC_CHANNEL1 (0x01 << MUX0)
/** MUX mask define for the ADC1 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading(). */
#define ADC_CHANNEL1 (0x01 << MUX0)
- #if
!(defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__
) || defined(__DOXYGEN__))
+ #if
(!(defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)
) || defined(__DOXYGEN__))
/** MUX mask define for the ADC2 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading().
*
* \note Not available on all AVR models.
/** MUX mask define for the ADC2 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading().
*
* \note Not available on all AVR models.
@@
-200,9
+203,6
@@
/** MUX mask define for the ADC7 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
#define ADC_CHANNEL7 (0x07 << MUX0)
/** MUX mask define for the ADC7 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
#define ADC_CHANNEL7 (0x07 << MUX0)
- /** MUX mask define for the internal 1.1V bandgap channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading(). */
- #define ADC_1100MV_BANDGAP (0x1E << MUX0)
-
#if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__DOXYGEN__))
/** MUX mask define for the ADC8 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading().
*
#if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__DOXYGEN__))
/** MUX mask define for the ADC8 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading().
*
@@
-248,10
+248,13
@@
#define ADC_INT_TEMP_SENS ((1 << 8) | (0x07 << MUX0))
#endif
#define ADC_INT_TEMP_SENS ((1 << 8) | (0x07 << MUX0))
#endif
+ /** MUX mask define for the internal 1.1V band-gap channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading(). */
+ #define ADC_1100MV_BANDGAP (0x1E << MUX0)
+
/** Retrieves the ADC MUX mask for the given ADC channel number.
*
/** Retrieves the ADC MUX mask for the given ADC channel number.
*
- * \
note
This macro will only work correctly on channel numbers that are compile-time
- * constants defined by the preprocessor.
+ * \
attention
This macro will only work correctly on channel numbers that are compile-time
+ *
constants defined by the preprocessor.
*
* \param[in] Channel Index of the ADC channel whose MUX mask is to be retrieved.
*/
*
* \param[in] Channel Index of the ADC channel whose MUX mask is to be retrieved.
*/
@@
-265,9
+268,8
@@
*
* \note This must only be called for ADC channels with are connected to a physical port
* pin of the AVR, denoted by its special alternative function ADCx.
*
* \note This must only be called for ADC channels with are connected to a physical port
* pin of the AVR, denoted by its special alternative function ADCx.
- * \n\n
*
*
- * \
note
The channel number must be specified as an integer, and <b>not</b> a \c ADC_CHANNEL* mask.
+ * \
warning
The channel number must be specified as an integer, and <b>not</b> a \c ADC_CHANNEL* mask.
*
* \param[in] ChannelIndex ADC channel number to set up for conversions.
*/
*
* \param[in] ChannelIndex ADC channel number to set up for conversions.
*/
@@
-308,9
+310,8
@@
*
* \note This must only be called for ADC channels with are connected to a physical port
* pin of the AVR, denoted by its special alternative function ADCx.
*
* \note This must only be called for ADC channels with are connected to a physical port
* pin of the AVR, denoted by its special alternative function ADCx.
- * \n\n
*
*
- * \
note
The channel number must be specified as an integer, and <b>not</b> a \c ADC_CHANNEL* mask.
+ * \
warning
The channel number must be specified as an integer, and <b>not</b> a \c ADC_CHANNEL* mask.
*
* \param[in] ChannelIndex ADC channel number to set up for conversions.
*/
*
* \param[in] ChannelIndex ADC channel number to set up for conversions.
*/
@@
-400,6
+401,8
@@
* the results read directly from the \ref ADC_GetResult() instead to reduce overhead.
*
* \param[in] MUXMask Mask comprising of an ADC channel mask, reference mask and adjustment mask.
* the results read directly from the \ref ADC_GetResult() instead to reduce overhead.
*
* \param[in] MUXMask Mask comprising of an ADC channel mask, reference mask and adjustment mask.
+ *
+ * \return Converted ADC result for the given ADC channel.
*/
static inline uint16_t ADC_GetChannelReading(const uint16_t MUXMask) ATTR_WARN_UNUSED_RESULT;
static inline uint16_t ADC_GetChannelReading(const uint16_t MUXMask)
*/
static inline uint16_t ADC_GetChannelReading(const uint16_t MUXMask) ATTR_WARN_UNUSED_RESULT;
static inline uint16_t ADC_GetChannelReading(const uint16_t MUXMask)
@@
-417,8
+420,8
@@
*
* \param[in] Mode Mask of ADC prescale and mode settings.
*/
*
* \param[in] Mode Mask of ADC prescale and mode settings.
*/
- static inline void ADC_Init(uint8_t Mode) ATTR_ALWAYS_INLINE;
- static inline void ADC_Init(uint8_t Mode)
+ static inline void ADC_Init(
const
uint8_t Mode) ATTR_ALWAYS_INLINE;
+ static inline void ADC_Init(
const
uint8_t Mode)
{
ADCSRA = ((1 << ADEN) | Mode);
}
{
ADCSRA = ((1 << ADEN) | Mode);
}