* Temperature sensor board driver for the USB boards which contain a temperature sensor.\r
*/\r
\r
+/** \ingroup Group_BoardDrivers\r
+ * @defgroup Group_Temperature Temperature Sensor Driver - LUFA/Drivers/Board/Temperature.h\r
+ *\r
+ * \section Sec_Dependencies Module Source Dependencies\r
+ * The following files must be built with any user project that uses this module:\r
+ * - LUFA/Drivers/Board/Temperature.c\r
+ *\r
+ * \section Module Description\r
+ * Temperature sensor driver. This provides an easy to use interface for the hardware temperature sensor located\r
+ * on many boards. It provides an interface to configure the sensor and appropriate ADC channel, plus read out the\r
+ * current temperature in degrees C. It is designed for and will only work with the temperature sensor located on the\r
+ * official Atmel USB AVR boards, as each sensor has different characteristics.\r
+ *\r
+ * @{\r
+ */\r
+\r
#ifndef __TEMPERATURE_H__\r
#define __TEMPERATURE_H__\r
\r
/* Includes: */\r
#include <avr/pgmspace.h>\r
\r
- #include "../AT90USBXXX/ADC.h"\r
#include "../../Common/Common.h"\r
+ #include "../Peripheral/ADC.h"\r
\r
#if !defined(BOARD)\r
- #error #error BOARD must be set in makefile to a value specified in BoardTypes.h. \r
- #elif (BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && (BOARD != BOARD_STK526)\r
+ #error BOARD must be set in makefile to a value specified in BoardTypes.h. \r
+ #elif ((BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && \\r
+ (BOARD != BOARD_STK526) && (BOARD != BOARD_USER) && \\r
+ (BOARD != BOARD_EVK527))\r
#error The selected board does not contain a temperature sensor.\r
#endif\r
\r
/** ADC channel number for the temperature sensor. */\r
#define TEMP_ADC_CHANNEL 0\r
\r
- /** Minimum returnable temperature from the Temperature_GetTemperature() function. */\r
+ /** Minimum returnable temperature from the \ref Temperature_GetTemperature() function. */\r
#define TEMP_MIN_TEMP TEMP_TABLE_OFFSET\r
\r
- /** Maximum returnable temperature from the Temperature_GetTemperature() function. */\r
+ /** Maximum returnable temperature from the \ref Temperature_GetTemperature() function. */\r
#define TEMP_MAX_TEMP ((TEMP_TABLE_SIZE - 1) + TEMP_TABLE_OFFSET)\r
- \r
- /** Initializes the temperature sensor driver, including setting up the appropriate ADC channel.\r
- * This must be called before any other temperature sensor routines.\r
- *\r
- * The ADC itself (not the ADC channel) must be configured seperately before calling the temperature\r
- * sensor functions.\r
- */\r
- #define Temperature_Init() ADC_SetupChannel(TEMP_ADC_CHANNEL);\r
+ \r
+ /* Pseudo-Function Macros: */\r
+ #if defined(__DOXYGEN__)\r
+ /** Initializes the temperature sensor driver, including setting up the appropriate ADC channel.\r
+ * This must be called before any other temperature sensor routines.\r
+ *\r
+ * \note The ADC itself (not the ADC channel) must be configured separately before calling the\r
+ * temperature sensor functions.\r
+ */\r
+ static inline void Temperature_Init(void);\r
+ #else\r
+ #define Temperature_Init() ADC_SetupChannel(TEMP_ADC_CHANNEL);\r
+ #endif\r
\r
/* Function Prototypes: */\r
/** Performs a complete ADC on the temperature sensor channel, and converts the result into a\r
- * valid temperature between TEMP_MIN_TEMP and TEMP_MAX_TEMP in degrees Celcius.\r
+ * valid temperature between \ref TEMP_MIN_TEMP and \ref TEMP_MAX_TEMP in degrees Celsius.\r
*\r
- * \return Signed temperature in degrees Celcius\r
+ * \return Signed temperature in degrees Celsius\r
*/\r
int8_t Temperature_GetTemperature(void) ATTR_WARN_UNUSED_RESULT;\r
\r
#endif\r
\r
#endif\r
+\r
+/** @} */\r