Ensure Temperature.c and TWI_AVR8.c can be compiled silently in projects with non...
authorDean Camera <dean@fourwalledcubicle.com>
Mon, 9 Apr 2012 12:45:49 +0000 (12:45 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Mon, 9 Apr 2012 12:45:49 +0000 (12:45 +0000)
LUFA/Drivers/Board/Temperature.c
LUFA/Drivers/Board/Temperature.h
LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c

index 44316e7..f465add 100644 (file)
   this software.
 */
 
   this software.
 */
 
+#define  __INCLUDE_FROM_TEMPERATURE_C
 #include "Temperature.h"
 
 #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,
 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;
 }
 
        return TEMP_MAX_TEMP;
 }
 
+#endif
index 6be2148..ef96796 100644 (file)
 
        /* Includes: */
                #include "../../Common/Common.h"
 
        /* 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
 
                        #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" {
        /* Enable C linkage for C++ Compilers: */
                #if defined(__cplusplus)
                        extern "C" {
                        }
                #endif
 
                        }
                #endif
 
+       #endif
+       
 #endif
 
 /** @} */
 #endif
 
 /** @} */
index 45477fd..495744b 100644 (file)
@@ -29,7 +29,7 @@
 */
 
 #include "../../../Common/Common.h"
 */
 
 #include "../../../Common/Common.h"
-#if (ARCH == ARCH_AVR8)
+#if (ARCH == ARCH_AVR8) && defined(TWCR)
 
 #define  __INCLUDE_FROM_TWI_C
 #include "../TWI.h"
 
 #define  __INCLUDE_FROM_TWI_C
 #include "../TWI.h"