aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-05-05 14:02:02 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-05-05 14:02:02 +0000
commitf11f69fd2989899b3088ea7d11b981f2d68c05e0 (patch)
tree41b86aed89f0697733202b705c506d9cde4a7e87 /LUFA/Drivers
parent253deb996f321c59c102a64e17f95d0b5b0a0e6d (diff)
downloadlufa-f11f69fd2989899b3088ea7d11b981f2d68c05e0.tar.gz
lufa-f11f69fd2989899b3088ea7d11b981f2d68c05e0.tar.bz2
lufa-f11f69fd2989899b3088ea7d11b981f2d68c05e0.zip
Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code, changed LED board driver code to define dummy LED masks for the first four board LEDs so that user code can be compiled for boards with less than four LEDs without code modifications (thanks to Morten Lund).
Diffstat (limited to 'LUFA/Drivers')
-rw-r--r--LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h2
-rw-r--r--LUFA/Drivers/Board/LEDs.h24
2 files changed, 25 insertions, 1 deletions
diff --git a/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h b/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
index a073d2ef5..9f808279a 100644
--- a/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
+++ b/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
@@ -108,7 +108,7 @@
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
{
- PORTD = (PORTD & ~(LEDMask & LEDS_ALL_LEDS)) | (ActiveMask & LEDS_ALL_LEDS))
+ PORTD = ((PORTD & ~(LEDMask & LEDS_ALL_LEDS)) | (ActiveMask & LEDS_ALL_LEDS));
}
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/Drivers/Board/LEDs.h b/LUFA/Drivers/Board/LEDs.h
index 1874dfde3..f65e67c81 100644
--- a/LUFA/Drivers/Board/LEDs.h
+++ b/LUFA/Drivers/Board/LEDs.h
@@ -53,6 +53,14 @@
* If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
* directory. Otherwise, it will include the appropriate built in board driver header file.
*
+ * \note To make code as compatible as possible, it is assumed that all boards carry a minimum of four LEDs. If
+ * a board contains less than four LEDs, the remaining LED masks are defined to 0 so as to have no effect.
+ * If other behaviour is desired, either alias the remaining LED masks to existing LED masks via the -D
+ * switch in the project makefile, or alias them to nothing in the makefile to cause compilation errors when
+ * a non-existing LED is referenced in application code. Note that this means that it is possible to make
+ * compatible code for a board with no LEDs by making a board LED driver (see \ref Page_WritingBoardDrivers)
+ * which contains only stub functions and defines no LEDs.
+ *
* @{
*/
@@ -84,6 +92,22 @@
#include "Board/LEDs.h"
#endif
+ #if !defined(LEDS_LED1)
+ #define LEDS_LED1 0
+ #endif
+
+ #if !defined(LEDS_LED2)
+ #define LEDS_LED2 0
+ #endif
+
+ #if !defined(LEDS_LED3)
+ #define LEDS_LED3 0
+ #endif
+
+ #if !defined(LEDS_LED4)
+ #define LEDS_LED4 0
+ #endif
+
/* Pseudo-Functions for Doxygen: */
#if defined(__DOXYGEN__)
/** Initializes the board LED driver so that the LEDs can be controlled. This sets the appropriate port