aboutsummaryrefslogtreecommitdiff
path: root/LUFA/Drivers/AT90USBXXX/ADC.h
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA/Drivers/AT90USBXXX/ADC.h')
-rw-r--r--LUFA/Drivers/AT90USBXXX/ADC.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/LUFA/Drivers/AT90USBXXX/ADC.h b/LUFA/Drivers/AT90USBXXX/ADC.h
index 341b4e1940..12e168834d 100644
--- a/LUFA/Drivers/AT90USBXXX/ADC.h
+++ b/LUFA/Drivers/AT90USBXXX/ADC.h
@@ -35,6 +35,10 @@
* 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/AT90USBXXX/ADC.h
+ */
#ifndef __ADC_H__
#define __ADC_H__
@@ -55,4 +59,29 @@
#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