X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/3d4d8e7f628f9dc9981242f69b097333faa9940d..0da99447d3e88e83f9977501bee56af5c7aa56c0:/LUFA/Drivers/Board/Temperature.h diff --git a/LUFA/Drivers/Board/Temperature.h b/LUFA/Drivers/Board/Temperature.h index f7a2b6d87..54ca957a6 100644 --- a/LUFA/Drivers/Board/Temperature.h +++ b/LUFA/Drivers/Board/Temperature.h @@ -1,13 +1,13 @@ /* 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 @@ -29,13 +29,14 @@ */ /** \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 + * \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: @@ -52,14 +53,14 @@ * 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 Celsius * printf("Current Temperature: %d Degrees\r\n", Temperature_GetTemperature()); * \endcode - * + * * @{ */ @@ -68,16 +69,22 @@ /* Includes: */ #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)) + /* 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" { @@ -90,7 +97,7 @@ /** 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 @@ -101,7 +108,7 @@ #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 @@ -132,6 +139,8 @@ } #endif + #endif + #endif /** @} */