|
|
|
@ -36,6 +36,20 @@
|
|
|
|
|
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** \ingroup Group_LEDs
|
|
|
|
|
* \defgroup Group_LEDs_MICROPENDOUS_REV1 MICROPENDOUS_REV1
|
|
|
|
|
* \brief Board specific LED driver header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous).
|
|
|
|
|
*
|
|
|
|
|
* See \ref Group_LEDs_MICROPENDOUS_32U2 for more details.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** \ingroup Group_LEDs
|
|
|
|
|
* \defgroup Group_LEDs_MICROPENDOUS_REV2 MICROPENDOUS_REV2
|
|
|
|
|
* \brief Board specific LED driver header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous).
|
|
|
|
|
*
|
|
|
|
|
* See \ref Group_LEDs_MICROPENDOUS_32U2 for more details.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** \ingroup Group_LEDs
|
|
|
|
|
* \defgroup Group_LEDs_MICROPENDOUS_32U2 MICROPENDOUS_32U2
|
|
|
|
|
* \brief Board specific LED driver header for the Micropendous 32U2.
|
|
|
|
@ -61,10 +75,30 @@
|
|
|
|
|
#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Private Interface - For use in library only: */
|
|
|
|
|
#if !defined(__DOXYGEN__)
|
|
|
|
|
#if (BOARD == BOARD_MICROPENDOUS_32U2)
|
|
|
|
|
#define _BOARD_LED1_MASK (1 << 6)
|
|
|
|
|
#define _BOARD_LED_PORTLETTER D
|
|
|
|
|
#elif (BOARD == BOARD_MICROPENDOUS_REV1)
|
|
|
|
|
#define _BOARD_LED1_MASK (1 << 1)
|
|
|
|
|
#define _BOARD_LED_PORTLETTER B
|
|
|
|
|
#elif (BOARD == BOARD_MICROPENDOUS_REV2)
|
|
|
|
|
#define _BOARD_LED1_MASK (1 << 1)
|
|
|
|
|
#define _BOARD_LED_PORTLETTER B
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define _BOARD_LED_CONCAT2(Reg, Letter) Reg ## Letter
|
|
|
|
|
#define _BOARD_LED_CONCAT(Reg, Letter) _BOARD_LED_CONCAT2(Reg, Letter)
|
|
|
|
|
|
|
|
|
|
#define _BOARD_LED_PORT _BOARD_LED_CONCAT(PORT, _BOARD_LED_PORTLETTER)
|
|
|
|
|
#define _BOARD_LED_DDR _BOARD_LED_CONCAT(DDR, _BOARD_LED_PORTLETTER)
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Public Interface - May be used in end-application: */
|
|
|
|
|
/* Macros: */
|
|
|
|
|
/** LED mask for the first LED on the board. */
|
|
|
|
|
#define LEDS_LED1 (1 << 6)
|
|
|
|
|
#define LEDS_LED1 _BOARD_LED1_MASK
|
|
|
|
|
|
|
|
|
|
/** LED mask for all the LEDs on the board. */
|
|
|
|
|
#define LEDS_ALL_LEDS LEDS_LED1
|
|
|
|
@ -76,46 +110,46 @@
|
|
|
|
|
#if !defined(__DOXYGEN__)
|
|
|
|
|
static inline void LEDs_Init(void)
|
|
|
|
|
{
|
|
|
|
|
DDRD |= LEDS_ALL_LEDS;
|
|
|
|
|
PORTD &= ~LEDS_ALL_LEDS;
|
|
|
|
|
_BOARD_LED_DDR |= LEDS_ALL_LEDS;
|
|
|
|
|
_BOARD_LED_PORT &= ~LEDS_ALL_LEDS;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline void LEDs_Disable(void)
|
|
|
|
|
{
|
|
|
|
|
DDRD &= ~LEDS_ALL_LEDS;
|
|
|
|
|
PORTD &= ~LEDS_ALL_LEDS;
|
|
|
|
|
_BOARD_LED_DDR &= ~LEDS_ALL_LEDS;
|
|
|
|
|
_BOARD_LED_PORT &= ~LEDS_ALL_LEDS;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
|
|
|
|
|
{
|
|
|
|
|
PORTD |= LEDMask;
|
|
|
|
|
_BOARD_LED_PORT |= LEDMask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
|
|
|
|
|
{
|
|
|
|
|
PORTD &= ~LEDMask;
|
|
|
|
|
_BOARD_LED_PORT &= ~LEDMask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
|
|
|
|
|
{
|
|
|
|
|
PORTD = ((PORTF & ~LEDS_ALL_LEDS) | LEDMask);
|
|
|
|
|
_BOARD_LED_PORT = ((PORTF & ~LEDS_ALL_LEDS) | LEDMask);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
|
|
|
|
|
const uint8_t ActiveMask)
|
|
|
|
|
{
|
|
|
|
|
PORTD = ((PORTF & ~LEDMask) | ActiveMask);
|
|
|
|
|
_BOARD_LED_PORT = ((PORTF & ~LEDMask) | ActiveMask);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
|
|
|
|
|
{
|
|
|
|
|
PORTD ^= LEDMask;
|
|
|
|
|
_BOARD_LED_PORT ^= LEDMask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
|
|
|
|
|
static inline uint8_t LEDs_GetLEDs(void)
|
|
|
|
|
{
|
|
|
|
|
return (PORTD & LEDS_ALL_LEDS);
|
|
|
|
|
return (_BOARD_LED_PORT & LEDS_ALL_LEDS);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|