aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-04-09 12:45:49 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-04-09 12:45:49 +0000
commit9add0d100d21ea0eed8ad7d867938268cb9d06b4 (patch)
tree07545e2cbe4b74cda5c837d69e1111a4180805e4
parentd771099f62e7e83f7360b59fe6193d095c741666 (diff)
downloadlufa-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.c4
-rw-r--r--LUFA/Drivers/Board/Temperature.h20
-rw-r--r--LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c2
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"