/*
LUFA Library
- Copyright (C) Dean Camera, 2011.
+ Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2012 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
*/
/** \file
- * \brief Master include file for the board temperature sensor driver.
+ * \brief NTC Temperature Sensor board hardware driver.
*
* Master include file for the board temperature sensor driver, for the USB boards which contain a temperature sensor.
*/
/** \ingroup Group_BoardDrivers
- * @defgroup Group_Temperature Temperature Sensor Driver - LUFA/Drivers/Board/Temperature.h
+ * \defgroup Group_Temperature Temperature Sensor Driver - LUFA/Drivers/Board/Temperature.h
+ * \brief NTC Temperature Sensor board hardware driver.
*
* \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module:
* application.
*
* \code
- * // Initialise the ADC and board temperature sensor drivers before first use
+ * // Initialize the ADC and board temperature sensor drivers before first use
* ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_128);
* Temperature_Init();
- *
- * // Display converted temperature in degrees Celcius
+ *
+ * // Display converted temperature in degrees Celsius
* printf("Current Temperature: %d Degrees\r\n", Temperature_GetTemperature());
* \endcode
- *
+ *
* @{
*/
#define __TEMPERATURE_H__
/* Includes: */
- #include <avr/pgmspace.h>
-
#include "../../Common/Common.h"
- #include "../Peripheral/ADC.h"
- #if (BOARD == BOARD_NONE)
- #error The Board Temperature Sensor driver cannot be used if the makefile BOARD option is not set.
- #elif ((BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && \
- (BOARD != BOARD_STK526) && (BOARD != BOARD_USER) && \
- (BOARD != BOARD_EVK527))
- #error The selected board does not contain a temperature sensor.
+ /* Preprocessor Checks: */
+ #if ((BOARD == BOARD_USBKEY) || (BOARD == BOARD_STK525) || \
+ (BOARD == BOARD_STK526) || (BOARD == BOARD_EVK527))
+ #define TEMPERATURE_SENSOR_DRIVER_COMPATIBLE
+ #endif
+
+ #if !defined(__INCLUDE_FROM_TEMPERATURE_C) && !defined(TEMPERATURE_SENSOR_DRIVER_COMPATIBLE)
+ #error The selected board does not contain a compatible temperature sensor.
#endif
+ #if defined(TEMPERATURE_SENSOR_DRIVER_COMPATIBLE)
+
+ /* Includes: */
+ #include "../Peripheral/ADC.h"
+
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
/** ADC channel MUX mask for the temperature sensor. */
#define TEMP_ADC_CHANNEL_MASK ADC_CHANNEL0
-
+
/** Size of the temperature sensor lookup table, in lookup values */
#define TEMP_TABLE_SIZE 120
#define TEMP_MAX_TEMP ((TEMP_TABLE_SIZE - 1) + TEMP_TABLE_OFFSET_DEGREES)
/* Inline Functions: */
- /** Initialises the temperature sensor driver, including setting up the appropriate ADC channel.
+ /** Initializes the temperature sensor driver, including setting up the appropriate ADC channel.
* This must be called before any other temperature sensor routines.
*
* \pre The ADC itself (not the ADC channel) must be configured separately before calling the
}
#endif
+ #endif
+
#endif
/** @} */