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
				
			
		| 
						 | 
				
			
			@ -234,9 +234,12 @@
 | 
			
		|||
			/** 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
 | 
			
		||||
 | 
			
		||||
			/** 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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
  *   - Added support for the Arduino Micro board
 | 
			
		||||
  *  - Library Applications:
 | 
			
		||||
  *   - Added new Dual MIDI class driver device demo
 | 
			
		||||
  *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 *   - Arduino Uno
 | 
			
		||||
 *   - Arduino Leonardo
 | 
			
		||||
 *   - Arduino Micro
 | 
			
		||||
 *   - Arduino Uno
 | 
			
		||||
 *   - Arduino Yun
 | 
			
		||||
 *   - Bitwizard Multio and Big-Multio
 | 
			
		||||
 *   - Busware BUI
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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