From 9add0d100d21ea0eed8ad7d867938268cb9d06b4 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 9 Apr 2012 12:45:49 +0000 Subject: Ensure Temperature.c and TWI_AVR8.c can be compiled silently in projects with non-supported hardware - produce errors only if the user application includes the module header files. --- LUFA/Drivers/Board/Temperature.c | 4 ++++ LUFA/Drivers/Board/Temperature.h | 20 ++++++++++++++------ LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) (limited to 'LUFA/Drivers') diff --git a/LUFA/Drivers/Board/Temperature.c b/LUFA/Drivers/Board/Temperature.c index 44316e74c..f465add49 100644 --- a/LUFA/Drivers/Board/Temperature.c +++ b/LUFA/Drivers/Board/Temperature.c @@ -28,8 +28,11 @@ this software. */ +#define __INCLUDE_FROM_TEMPERATURE_C #include "Temperature.h" +#if defined(TEMPERATURE_SENSOR_DRIVER_COMPATIBLE) + static const uint16_t PROGMEM Temperature_Lookup[TEMP_TABLE_SIZE] = { 0x3B4, 0x3B0, 0x3AB, 0x3A6, 0x3A0, 0x39A, 0x394, 0x38E, 0x388, 0x381, 0x37A, 0x373, @@ -60,3 +63,4 @@ int8_t Temperature_GetTemperature(void) return TEMP_MAX_TEMP; } +#endif diff --git a/LUFA/Drivers/Board/Temperature.h b/LUFA/Drivers/Board/Temperature.h index 6be214884..ef967967b 100644 --- a/LUFA/Drivers/Board/Temperature.h +++ b/LUFA/Drivers/Board/Temperature.h @@ -69,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" { @@ -133,6 +139,8 @@ } #endif + #endif + #endif /** @} */ diff --git a/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c b/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c index 45477fd52..495744b43 100644 --- a/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c +++ b/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c @@ -29,7 +29,7 @@ */ #include "../../../Common/Common.h" -#if (ARCH == ARCH_AVR8) +#if (ARCH == ARCH_AVR8) && defined(TWCR) #define __INCLUDE_FROM_TWI_C #include "../TWI.h" -- cgit v1.2.3