Add support for the Arduino Micro board, fix other Arduino board LED drivers.
This commit is contained in:
parent
5e4b14f007
commit
c69a623652
8 changed files with 46 additions and 36 deletions
|
@ -46,7 +46,7 @@
|
|||
* <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
|
||||
* <tr><td>LEDS_LED1</td><td>Yellow</td><td>RX</td><td>Low</td><td>PORTB.0</td></tr>
|
||||
* <tr><td>LEDS_LED2</td><td>Yellow</td><td>TX</td><td>Low</td><td>PORTD.5</td></tr>
|
||||
* <tr><td>LEDS_LED1</td><td>Yellow</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
|
||||
* <tr><td>LEDS_LED3</td><td>Yellow</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
|
||||
* </table>
|
||||
*
|
||||
* @{
|
||||
|
@ -98,9 +98,9 @@
|
|||
static inline void LEDs_Init(void)
|
||||
{
|
||||
DDRB |= LEDS_PORTB_LEDS;
|
||||
PORTB &= LEDS_PORTB_LEDS;
|
||||
PORTB |= LEDS_PORTB_LEDS;
|
||||
DDRD |= LEDS_PORTD_LEDS;
|
||||
PORTD &= LEDS_PORTD_LEDS;
|
||||
PORTD |= LEDS_PORTD_LEDS;
|
||||
DDRC |= LEDS_PORTC_LEDS;
|
||||
PORTC &= ~LEDS_PORTC_LEDS;
|
||||
}
|
||||
|
@ -117,44 +117,44 @@
|
|||
|
||||
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB |= (LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD |= (LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTB &= ~(LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD &= ~(LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTC |= (LEDMask & LEDS_PORTC_LEDS);
|
||||
}
|
||||
|
||||
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB &= ~(LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD &= ~(LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTB |= (LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD |= (LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTC &= ~(LEDMask & LEDS_PORTC_LEDS);
|
||||
}
|
||||
|
||||
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB = ((PORTB & ~LEDS_PORTB_LEDS) | (LEDMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD & ~LEDS_PORTD_LEDS) | (LEDMask & LEDS_PORTD_LEDS));
|
||||
PORTB = ((PORTB | LEDS_PORTB_LEDS) & ~(LEDMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD | LEDS_PORTD_LEDS) & ~(LEDMask & LEDS_PORTD_LEDS));
|
||||
PORTC = ((PORTC & ~LEDS_PORTC_LEDS) | (LEDMask & LEDS_PORTC_LEDS));
|
||||
}
|
||||
|
||||
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
|
||||
const uint8_t ActiveMask)
|
||||
{
|
||||
PORTB = ((PORTB & ~(LEDMask & LEDS_PORTB_LEDS)) | (ActiveMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD & ~(LEDMask & LEDS_PORTD_LEDS)) | (ActiveMask & LEDS_PORTD_LEDS));
|
||||
PORTC = ((PORTC & ~(LEDMask & LEDS_PORTC_LEDS)) | (ActiveMask & LEDS_PORTC_LEDS));
|
||||
PORTB = ((PORTB | (LEDMask & LEDS_PORTB_LEDS)) & ~(ActiveMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD | (LEDMask & LEDS_PORTD_LEDS)) & ~(ActiveMask & LEDS_PORTD_LEDS));
|
||||
PORTC = ((PORTC & ~(LEDMask & LEDS_PORTC_LEDS)) | (ActiveMask & LEDS_PORTC_LEDS));
|
||||
}
|
||||
|
||||
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB ^= (LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD ^= (LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTC ^= (LEDMask & LEDS_PORTC_LEDS);
|
||||
PINB = (LEDMask & LEDS_PORTB_LEDS);
|
||||
PIND = (LEDMask & LEDS_PORTD_LEDS);
|
||||
PINC = (LEDMask & LEDS_PORTC_LEDS);
|
||||
}
|
||||
|
||||
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
|
||||
static inline uint8_t LEDs_GetLEDs(void)
|
||||
{
|
||||
return ((PORTB & LEDS_PORTB_LEDS) | (PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS));
|
||||
return ((~PORTB & LEDS_PORTB_LEDS) | (~PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -46,14 +46,14 @@
|
|||
* <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
|
||||
* <tr><td>LEDS_LED1</td><td>Yellow</td><td>RX</td><td>Low</td><td>PORTB.0</td></tr>
|
||||
* <tr><td>LEDS_LED2</td><td>Yellow</td><td>TX</td><td>Low</td><td>PORTD.5</td></tr>
|
||||
* <tr><td>LEDS_LED1</td><td>Red</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
|
||||
* <tr><td>LEDS_LED3</td><td>Red</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
|
||||
* </table>
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef __LEDS_LEONARDO_H__
|
||||
#define __LEDS_LEONARDO_H__
|
||||
#ifndef __LEDS_YUN_H__
|
||||
#define __LEDS_YUN_H__
|
||||
|
||||
/* Includes: */
|
||||
#include "../../../../Common/Common.h"
|
||||
|
@ -98,9 +98,9 @@
|
|||
static inline void LEDs_Init(void)
|
||||
{
|
||||
DDRB |= LEDS_PORTB_LEDS;
|
||||
PORTB &= LEDS_PORTB_LEDS;
|
||||
PORTB |= LEDS_PORTB_LEDS;
|
||||
DDRD |= LEDS_PORTD_LEDS;
|
||||
PORTD &= LEDS_PORTD_LEDS;
|
||||
PORTD |= LEDS_PORTD_LEDS;
|
||||
DDRC |= LEDS_PORTC_LEDS;
|
||||
PORTC &= ~LEDS_PORTC_LEDS;
|
||||
}
|
||||
|
@ -117,44 +117,44 @@
|
|||
|
||||
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB |= (LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD |= (LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTB &= ~(LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD &= ~(LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTC |= (LEDMask & LEDS_PORTC_LEDS);
|
||||
}
|
||||
|
||||
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB &= ~(LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD &= ~(LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTB |= (LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD |= (LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTC &= ~(LEDMask & LEDS_PORTC_LEDS);
|
||||
}
|
||||
|
||||
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB = ((PORTB & ~LEDS_PORTB_LEDS) | (LEDMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD & ~LEDS_PORTD_LEDS) | (LEDMask & LEDS_PORTD_LEDS));
|
||||
PORTB = ((PORTB | LEDS_PORTB_LEDS) & ~(LEDMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD | LEDS_PORTD_LEDS) & ~(LEDMask & LEDS_PORTD_LEDS));
|
||||
PORTC = ((PORTC & ~LEDS_PORTC_LEDS) | (LEDMask & LEDS_PORTC_LEDS));
|
||||
}
|
||||
|
||||
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
|
||||
const uint8_t ActiveMask)
|
||||
{
|
||||
PORTB = ((PORTB & ~(LEDMask & LEDS_PORTB_LEDS)) | (ActiveMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD & ~(LEDMask & LEDS_PORTD_LEDS)) | (ActiveMask & LEDS_PORTD_LEDS));
|
||||
PORTC = ((PORTC & ~(LEDMask & LEDS_PORTC_LEDS)) | (ActiveMask & LEDS_PORTC_LEDS));
|
||||
PORTB = ((PORTB | (LEDMask & LEDS_PORTB_LEDS)) & ~(ActiveMask & LEDS_PORTB_LEDS));
|
||||
PORTD = ((PORTD | (LEDMask & LEDS_PORTD_LEDS)) & ~(ActiveMask & LEDS_PORTD_LEDS));
|
||||
PORTC = ((PORTC & ~(LEDMask & LEDS_PORTC_LEDS)) | (ActiveMask & LEDS_PORTC_LEDS));
|
||||
}
|
||||
|
||||
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
|
||||
{
|
||||
PORTB ^= (LEDMask & LEDS_PORTB_LEDS);
|
||||
PORTD ^= (LEDMask & LEDS_PORTD_LEDS);
|
||||
PORTC ^= (LEDMask & LEDS_PORTC_LEDS);
|
||||
PINB = (LEDMask & LEDS_PORTB_LEDS);
|
||||
PIND = (LEDMask & LEDS_PORTD_LEDS);
|
||||
PINC = (LEDMask & LEDS_PORTC_LEDS);
|
||||
}
|
||||
|
||||
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
|
||||
static inline uint8_t LEDs_GetLEDs(void)
|
||||
{
|
||||
return ((PORTB & LEDS_PORTB_LEDS) | (PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS));
|
||||
return ((~PORTB & LEDS_PORTB_LEDS) | (~PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -155,6 +155,8 @@
|
|||
#include "AVR8/U2S/Board.h"
|
||||
#elif (BOARD == BOARD_YUN)
|
||||
#include "AVR8/YUN/Board.h"
|
||||
#elif (BOARD == BOARD_MICRO)
|
||||
#include "AVR8/MICRO/Board.h"
|
||||
#else
|
||||
#include "Board/Board.h"
|
||||
#endif
|
||||
|
|
|
@ -205,6 +205,8 @@
|
|||
#include "AVR8/U2S/LEDs.h"
|
||||
#elif (BOARD == BOARD_YUN)
|
||||
#include "AVR8/YUN/LEDs.h"
|
||||
#elif (BOARD == BOARD_MICRO)
|
||||
#include "AVR8/MICRO/LEDs.h"
|
||||
#else
|
||||
#include "Board/LEDs.h"
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue