diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2012-04-09 12:45:49 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2012-04-09 12:45:49 +0000 |
commit | 9add0d100d21ea0eed8ad7d867938268cb9d06b4 (patch) | |
tree | 07545e2cbe4b74cda5c837d69e1111a4180805e4 | |
parent | d771099f62e7e83f7360b59fe6193d095c741666 (diff) | |
download | lufa-9add0d100d21ea0eed8ad7d867938268cb9d06b4.tar.gz lufa-9add0d100d21ea0eed8ad7d867938268cb9d06b4.tar.bz2 lufa-9add0d100d21ea0eed8ad7d867938268cb9d06b4.zip |
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.
-rw-r--r-- | LUFA/Drivers/Board/Temperature.c | 4 | ||||
-rw-r--r-- | LUFA/Drivers/Board/Temperature.h | 20 | ||||
-rw-r--r-- | LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c | 2 |
3 files changed, 19 insertions, 7 deletions
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" |