projects
/
pub
/
lufa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
5e4b14f
)
Add support for the Arduino Micro board, fix other Arduino board LED drivers.
author
Dean Camera
<dean@fourwalledcubicle.com>
Thu, 11 Sep 2014 13:16:16 +0000
(23:16 +1000)
committer
Dean Camera
<dean@fourwalledcubicle.com>
Thu, 11 Sep 2014 13:16:16 +0000
(23:16 +1000)
BuildTests/BoardDriverTest/BoardDeviceMap.cfg
patch
|
blob
|
blame
|
history
LUFA/Common/BoardTypes.h
patch
|
blob
|
blame
|
history
LUFA/DoxygenPages/ChangeLog.txt
patch
|
blob
|
blame
|
history
LUFA/DoxygenPages/DeviceSupport.txt
patch
|
blob
|
blame
|
history
LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h
patch
|
blob
|
blame
|
history
LUFA/Drivers/Board/AVR8/YUN/LEDs.h
patch
|
blob
|
blame
|
history
LUFA/Drivers/Board/Board.h
patch
|
blob
|
blame
|
history
LUFA/Drivers/Board/LEDs.h
patch
|
blob
|
blame
|
history
diff --git
a/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
b/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
index
b58be0e
..
3fee2f1
100644
(file)
--- a/
BuildTests/BoardDriverTest/BoardDeviceMap.cfg
+++ b/
BuildTests/BoardDriverTest/BoardDeviceMap.cfg
@@
-72,6
+72,7
@@
BOARD_XPLAIN_REV1 = AVR8 : at90usb1287 :
BOARD_STANGE_ISP = AVR8 : at90usb162 :
BOARD_U2S = AVR8 : atmega32u2 :
BOARD_YUN = AVR8 : atmega32u4 :
BOARD_STANGE_ISP = AVR8 : at90usb162 :
BOARD_U2S = AVR8 : atmega32u2 :
BOARD_YUN = AVR8 : atmega32u4 :
+BOARD_MICRO = AVR8 : atmega32u4 :
#
# ----------------- XMEGA Boards -----------------
BOARD_A3BU_XPLAINED = XMEGA : atxmega256a3bu :
#
# ----------------- XMEGA Boards -----------------
BOARD_A3BU_XPLAINED = XMEGA : atxmega256a3bu :
diff --git
a/LUFA/Common/BoardTypes.h
b/LUFA/Common/BoardTypes.h
index
2f703f5
..
06ff4dd
100644
(file)
--- a/
LUFA/Common/BoardTypes.h
+++ b/
LUFA/Common/BoardTypes.h
@@
-234,9
+234,12
@@
/** Selects the U2S specific board drivers, including the Button and LEDs drivers. */
#define BOARD_U2S 56
/** Selects the U2S specific board drivers, including the Button and LEDs drivers. */
#define BOARD_U2S 56
- /** Selects the YUN specific board drivers, including the driver for the board LEDs. */
+ /** Selects the
Arduino
YUN specific board drivers, including the driver for the board LEDs. */
#define BOARD_YUN 57
#define BOARD_YUN 57
+ /** Selects the Arduino Micro specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_MICRO 58
+
#if !defined(__DOXYGEN__)
#define BOARD_ BOARD_NONE
#if !defined(__DOXYGEN__)
#define BOARD_ BOARD_NONE
diff --git
a/LUFA/DoxygenPages/ChangeLog.txt
b/LUFA/DoxygenPages/ChangeLog.txt
index
f335401
..
521e46b
100644
(file)
--- a/
LUFA/DoxygenPages/ChangeLog.txt
+++ b/
LUFA/DoxygenPages/ChangeLog.txt
@@
-12,6
+12,7
@@
* - Updated the BUILD build system module to add a new COMPILER_PATH optional variable
* - Added Serial_IsSendReady() and Serial_IsSendComplete() functions to the Serial hardware peripheral driver
* - Added support for the Arduino Yun board (ATMEGA32U4 coprocessor)
* - Updated the BUILD build system module to add a new COMPILER_PATH optional variable
* - Added Serial_IsSendReady() and Serial_IsSendComplete() functions to the Serial hardware peripheral driver
* - Added support for the Arduino Yun board (ATMEGA32U4 coprocessor)
+ * - Added support for the Arduino Micro board
* - Library Applications:
* - Added new Dual MIDI class driver device demo
*
* - Library Applications:
* - Added new Dual MIDI class driver device demo
*
diff --git
a/LUFA/DoxygenPages/DeviceSupport.txt
b/LUFA/DoxygenPages/DeviceSupport.txt
index
4855dc7
..
2a4b9c3
100644
(file)
--- a/
LUFA/DoxygenPages/DeviceSupport.txt
+++ b/
LUFA/DoxygenPages/DeviceSupport.txt
@@
-96,8
+96,9
@@
* \section Sec_AVR8Support_ThirdParty Supported Third Party Boards
* Currently supported third-party boards (see \ref Group_BoardTypes for makefile \c BOARD constant names):
* - Adafruit U4 Breakout Board
* \section Sec_AVR8Support_ThirdParty Supported Third Party Boards
* Currently supported third-party boards (see \ref Group_BoardTypes for makefile \c BOARD constant names):
* - Adafruit U4 Breakout Board
- * - Arduino Uno
* - Arduino Leonardo
* - Arduino Leonardo
+ * - Arduino Micro
+ * - Arduino Uno
* - Arduino Yun
* - Bitwizard Multio and Big-Multio
* - Busware BUI
* - Arduino Yun
* - Bitwizard Multio and Big-Multio
* - Busware BUI
diff --git
a/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h
b/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h
index
c336190
..
ea7d41c
100644
(file)
--- a/
LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h
+++ b/
LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h
@@
-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><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_LED
1
</td><td>Yellow</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
+ * <tr><td>LEDS_LED
3
</td><td>Yellow</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
* </table>
*
* @{
* </table>
*
* @{
@@
-98,9
+98,9
@@
static inline void LEDs_Init(void)
{
DDRB |= LEDS_PORTB_LEDS;
static inline void LEDs_Init(void)
{
DDRB |= LEDS_PORTB_LEDS;
- PORTB
&
= LEDS_PORTB_LEDS;
+ PORTB
|
= LEDS_PORTB_LEDS;
DDRD |= LEDS_PORTD_LEDS;
DDRD |= LEDS_PORTD_LEDS;
- PORTD
&
= LEDS_PORTD_LEDS;
+ PORTD
|
= LEDS_PORTD_LEDS;
DDRC |= LEDS_PORTC_LEDS;
PORTC &= ~LEDS_PORTC_LEDS;
}
DDRC |= LEDS_PORTC_LEDS;
PORTC &= ~LEDS_PORTC_LEDS;
}
@@
-117,44
+117,44
@@
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
{
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)
{
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)
{
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)
{
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)
{
}
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
{
- P
ORTB ^
= (LEDMask & LEDS_PORTB_LEDS);
- P
ORTD ^
= (LEDMask & LEDS_PORTD_LEDS);
- P
ORTC ^
= (LEDMask & LEDS_PORTC_LEDS);
+ P
INB
= (LEDMask & LEDS_PORTB_LEDS);
+ P
IND
= (LEDMask & LEDS_PORTD_LEDS);
+ P
INC
= (LEDMask & LEDS_PORTC_LEDS);
}
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t LEDs_GetLEDs(void)
{
}
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
}
#endif
diff --git
a/LUFA/Drivers/Board/AVR8/YUN/LEDs.h
b/LUFA/Drivers/Board/AVR8/YUN/LEDs.h
index
f916d10
..
bcdd47f
100644
(file)
--- a/
LUFA/Drivers/Board/AVR8/YUN/LEDs.h
+++ b/
LUFA/Drivers/Board/AVR8/YUN/LEDs.h
@@
-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><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_LED
1
</td><td>Red</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
+ * <tr><td>LEDS_LED
3
</td><td>Red</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr>
* </table>
*
* @{
*/
* </table>
*
* @{
*/
-#ifndef __LEDS_
LEONARDO
_H__
-#define __LEDS_
LEONARDO
_H__
+#ifndef __LEDS_
YUN
_H__
+#define __LEDS_
YUN
_H__
/* Includes: */
#include "../../../../Common/Common.h"
/* Includes: */
#include "../../../../Common/Common.h"
@@
-98,9
+98,9
@@
static inline void LEDs_Init(void)
{
DDRB |= LEDS_PORTB_LEDS;
static inline void LEDs_Init(void)
{
DDRB |= LEDS_PORTB_LEDS;
- PORTB
&
= LEDS_PORTB_LEDS;
+ PORTB
|
= LEDS_PORTB_LEDS;
DDRD |= LEDS_PORTD_LEDS;
DDRD |= LEDS_PORTD_LEDS;
- PORTD
&
= LEDS_PORTD_LEDS;
+ PORTD
|
= LEDS_PORTD_LEDS;
DDRC |= LEDS_PORTC_LEDS;
PORTC &= ~LEDS_PORTC_LEDS;
}
DDRC |= LEDS_PORTC_LEDS;
PORTC &= ~LEDS_PORTC_LEDS;
}
@@
-117,44
+117,44
@@
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
{
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)
{
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)
{
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)
{
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)
{
}
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
{
- P
ORTB ^
= (LEDMask & LEDS_PORTB_LEDS);
- P
ORTD ^
= (LEDMask & LEDS_PORTD_LEDS);
- P
ORTC ^
= (LEDMask & LEDS_PORTC_LEDS);
+ P
INB
= (LEDMask & LEDS_PORTB_LEDS);
+ P
IND
= (LEDMask & LEDS_PORTD_LEDS);
+ P
INC
= (LEDMask & LEDS_PORTC_LEDS);
}
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t LEDs_GetLEDs(void)
{
}
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
}
#endif
diff --git
a/LUFA/Drivers/Board/Board.h
b/LUFA/Drivers/Board/Board.h
index
e7e57dc
..
27f4953
100644
(file)
--- a/
LUFA/Drivers/Board/Board.h
+++ b/
LUFA/Drivers/Board/Board.h
@@
-155,6
+155,8
@@
#include "AVR8/U2S/Board.h"
#elif (BOARD == BOARD_YUN)
#include "AVR8/YUN/Board.h"
#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
#else
#include "Board/Board.h"
#endif
diff --git
a/LUFA/Drivers/Board/LEDs.h
b/LUFA/Drivers/Board/LEDs.h
index
cb80a5e
..
392714a
100644
(file)
--- a/
LUFA/Drivers/Board/LEDs.h
+++ b/
LUFA/Drivers/Board/LEDs.h
@@
-205,6
+205,8
@@
#include "AVR8/U2S/LEDs.h"
#elif (BOARD == BOARD_YUN)
#include "AVR8/YUN/LEDs.h"
#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
#else
#include "Board/LEDs.h"
#endif