* User code should include this file, which will in turn include the correct ADC driver header file for the\r
* currently selected AVR model.\r
*/\r
+\r
+/** \ingroup Group_SubsystemDrivers\r
+ * @defgroup Group_ADC ADC Driver - LUFA/Drivers/AT90USBXXX/ADC.h\r
+ */\r
\r
#ifndef __ADC_H__\r
#define __ADC_H__\r
#error "ADC is not available for the currently selected AVR model."\r
#endif\r
\r
+ /* Public Interface - May be used in end-application: */\r
+ /* Inline Functions: */\r
+ /** Starts the reading of the given channel, but does not wait until the conversion has completed.\r
+ * Once executed, the conversion status can be determined via the ADC_IsReadingComplete() macro and\r
+ * the result read via the ADC_GetResult() macro.\r
+ *\r
+ * \param MUXMask Mask comprising of an ADC channel number, reference mask and adjustment mask\r
+ */\r
+ static inline void ADC_StartReading(const uint8_t MUXMask);\r
+\r
+ /** Performs a complete single reading from channel, including a polling spinloop to wait for the\r
+ * conversion to complete, and the returning of the converted value.\r
+ *\r
+ * \param MUXMask Mask comprising of an ADC channel number, reference mask and adjustment mask\r
+ */\r
+ static inline uint16_t ADC_GetChannelReading(const uint8_t MUXMask) ATTR_WARN_UNUSED_RESULT;\r
+\r
+ /** Configures the given ADC channel, ready for ADC conversions. This function sets the\r
+ * associated port pin as an input and disables the digital portion of the I/O to reduce\r
+ * power consumption.\r
+ *\r
+ * \param Channel ADC channel number to set up for conversions\r
+ */\r
+ static inline void ADC_SetupChannel(const uint8_t Channel);\r
+ \r
#endif\r