Added new ADC_GET_CHANNEL_MASK() convenience macro to the ADC driver.

This commit is contained in:
Dean Camera 2011-01-16 16:13:22 +00:00
parent 70d55f6e0c
commit 32830a2b82
4 changed files with 26 additions and 8 deletions

View file

@ -90,6 +90,13 @@
#error Do not include this file directly. Include LUFA/Drivers/Peripheral/ADC.h instead.
#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 */
@ -235,6 +242,15 @@
*/
#define ADC_INT_TEMP_SENS ((1 << 8) | (0x07 << MUX0))
#endif
/** 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.
*
* \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)
//@}
/* Inline Functions: */

View file

@ -203,13 +203,19 @@
*/
#define ENDPOINT_EPSIZE_MASK 0x7F
/** Maximum size in bytes of a given endpoint.
/** Retrives the maximum bank size in bytes of a given endpoint.
*
* \note This macro will only work correctly on endpoint indexes that are compile-time constants
* defined by the preprocessor.
*
* \param[in] EPIndex Endpoint number, a value between 0 and (\ref ENDPOINT_TOTAL_ENDPOINTS - 1)
*/
#define ENDPOINT_MAX_SIZE(EPIndex) _ENDPOINT_GET_MAXSIZE(EPIndex)
/** Indicates the total number of banks supported by the given endpoint.
/** Retrieves the total number of banks supported by the given endpoint.
*
* \note This macro will only work correctly on endpoint indexes that are compile-time constants
* defined by the preprocessor.
*
* \param[in] EPIndex Endpoint number, a value between 0 and (\ref ENDPOINT_TOTAL_ENDPOINTS - 1)
*/