Commit 5561524a authored by Dean Camera's avatar Dean Camera
Browse files

Added support for the BitWizard Multio and Big-Multio boards.

parent 1dcc1fe5
This diff is collapsed.
......@@ -171,22 +171,22 @@
/** Selects the Micropendous 32U2 specific board drivers, including the Button and LED drivers. */
#define BOARD_MICROPENDOUS_32U2 35
/** Selects the Micropendous A specific board drivers, including the Button. */
/** Selects the Micropendous A specific board drivers, including the driver for the board Button. */
#define BOARD_MICROPENDOUS_A 36
/** Selects the Micropendous 1 specific board drivers, including the Button. */
/** Selects the Micropendous 1 specific board drivers, including the driver for the board Button. */
#define BOARD_MICROPENDOUS_1 37
/** Selects the Micropendous 2 specific board drivers, including the Button. */
/** Selects the Micropendous 2 specific board drivers, including the driver for the board Button. */
#define BOARD_MICROPENDOUS_2 38
/** Selects the Micropendous 3 specific board drivers, including the Button. */
/** Selects the Micropendous 3 specific board drivers, including the driver for the board Button. */
#define BOARD_MICROPENDOUS_3 39
/** Selects the Micropendous 4 specific board drivers, including the Button. */
/** Selects the Micropendous 4 specific board drivers, including the driver for the board Button. */
#define BOARD_MICROPENDOUS_4 40
/** Selects the Micropendous DIP specific board drivers, including the Button. */
/** Selects the Micropendous DIP specific board drivers, including the driver for the board Button. */
#define BOARD_MICROPENDOUS_DIP 41
/** Selects the Micropendous (Arduino-like) revision 1 specific board drivers, including the Button and LED drivers. */
......@@ -198,6 +198,12 @@
/** Selects the XMEGA B1 Xplained specific board drivers, including the Button and LED drivers. */
#define BOARD_B1_XPLAINED 44
/** Selects the Bitwizard Multio specific board drivers, including the driver for the board LEDs. */
#define BOARD_MULTIO 45
/** Selects the Bitwizard Big-Multio specific board drivers, including the driver for the board LEDs. */
#define BOARD_BIGMULTIO 46
#if !defined(__DOXYGEN__)
#define BOARD_ BOARD_NONE
......
......@@ -9,7 +9,7 @@
* \section Sec_ChangeLogXXXXXX Version XXXXXX
* <b>New:</b>
* - Core:
* - None
* - Added support for the BitWizard Multio and Big-Multio boards
* - Library Applications:
* - None
*
......
......@@ -102,6 +102,7 @@
* Currently supported third-party boards (see \ref Group_BoardTypes for makefile \c BOARD constant names):
* - Adafruit U4 Breakout Board
* - Arduino Uno
* - Bitwizard Multio and Big-Multio
* - Busware BUI
* - Busware CUL V3
* - Busware TUL
......
/*
LUFA Library
Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Board specific LED driver header for the Bitwizard Big-Multio.
* \copydetails Group_LEDs_BIGMULTIO
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
*/
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_BIGMULTIO BIGMULTIO
* \brief Board specific LED driver header for the Bitwizard Big-Multio.
*
* Board specific LED driver header for the Bitwizard Big-Multio (http://www.bitwizard.nl/wiki/index.php/Usbbigmultio).
*
* @{
*/
#ifndef __LEDS_BIGMULTIO_H__
#define __LEDS_BIGMULTIO_H__
/* Includes: */
#include "../../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#endif
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_LEDS_H)
#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__)
/* Macros: */
#define LEDS_PORTF_LEDS (LEDS_LED1 | LEDS_LED2)
#define LEDS_PORTE_LEDS LEDS_LED3
#endif
/* Public Interface - May be used in end-application: */
/* Macros: */
/** LED mask for the first LED on the board. */
#define LEDS_LED1 (1 << 6)
/** LED mask for the second LED on the board. */
#define LEDS_LED2 (1 << 7)
/** LED mask for the second LED on the board. */
#define LEDS_LED3 (1 << 2)
/** LED mask for all the LEDs on the board. */
#define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3)
/** LED mask for none of the board LEDs. */
#define LEDS_NO_LEDS 0
/* Inline Functions: */
#if !defined(__DOXYGEN__)
static inline void LEDs_Init(void)
{
DDRF |= LEDS_PORTF_LEDS;
DDRE |= LEDS_PORTE_LEDS;
PORTF &= ~LEDS_PORTF_LEDS;
PORTE &= ~LEDS_PORTE_LEDS;
}
static inline void LEDs_Disable(void)
{
DDRF |= LEDS_PORTF_LEDS;
DDRE |= LEDS_PORTE_LEDS;
PORTF &= ~LEDS_PORTF_LEDS;
PORTE &= ~LEDS_PORTE_LEDS;
}
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
{
PORTF |= (LEDMask & LEDS_PORTF_LEDS);
PORTE |= (LEDMask & LEDS_PORTE_LEDS);
}
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
{
PORTF &= ~(LEDMask & LEDS_PORTF_LEDS);
PORTE &= ~(LEDMask & LEDS_PORTE_LEDS);
}
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
{
PORTF = (PORTF & ~LEDS_PORTF_LEDS) | (LEDMask & LEDS_PORTF_LEDS);
PORTE = (PORTE & ~LEDS_PORTE_LEDS) | (LEDMask & LEDS_PORTE_LEDS);
}
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
const uint8_t ActiveMask)
{
PORTF = (PORTF & ~(LEDMask & LEDS_PORTF_LEDS)) | (ActiveMask & LEDS_PORTF_LEDS);
PORTE = (PORTE & ~(LEDMask & LEDS_PORTE_LEDS)) | (ActiveMask & LEDS_PORTE_LEDS);
}
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
{
PORTF ^= (LEDMask & LEDS_PORTF_LEDS);
PORTE ^= (LEDMask & LEDS_PORTE_LEDS);
}
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t LEDs_GetLEDs(void)
{
return ((PORTF & LEDS_PORTF_LEDS) | (PORTE & LEDS_PORTE_LEDS));
}
#endif
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
}
#endif
#endif
/** @} */
/*
LUFA Library
Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Board specific LED driver header for the Bitwizard Multio.
* \copydetails Group_LEDs_MULTIO
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
*/
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_MULTIO MULTIO
* \brief Board specific LED driver header for the Bitwizard Multio.
*
* Board specific LED driver header for the Bitwizard Multio (http://www.bitwizard.nl/wiki/index.php/USB-multio).
*
* @{
*/
#ifndef __LEDS_MULTIO_H__
#define __LEDS_MULTIO_H__
/* Includes: */
#include "../../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#endif
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_LEDS_H)
#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__)
/* Macros: */
#define LEDS_PORTD_LEDS (LEDS_LED1 | LEDS_LED3)
#define LEDS_PORTC_LEDS LEDS_LED2
#endif
/* Public Interface - May be used in end-application: */
/* Macros: */
/** LED mask for the first LED on the board. */
#define LEDS_LED1 (1 << 0)
/** LED mask for the second LED on the board. */
#define LEDS_LED2 (1 << 2)
/** LED mask for the second LED on the board. */
#define LEDS_LED3 (1 << 7)
/** LED mask for all the LEDs on the board. */
#define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3)
/** LED mask for none of the board LEDs. */
#define LEDS_NO_LEDS 0
/* Inline Functions: */
#if !defined(__DOXYGEN__)
static inline void LEDs_Init(void)
{
DDRD |= LEDS_PORTD_LEDS;
DDRC |= LEDS_PORTC_LEDS;
PORTD &= ~LEDS_PORTD_LEDS;
PORTC &= ~LEDS_PORTC_LEDS;
}
static inline void LEDs_Disable(void)
{
DDRD |= LEDS_PORTD_LEDS;
DDRC |= LEDS_PORTC_LEDS;
PORTD &= ~LEDS_PORTD_LEDS;
PORTC &= ~LEDS_PORTC_LEDS;
}
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
{
PORTD |= (LEDMask & LEDS_PORTD_LEDS);
PORTC |= (LEDMask & LEDS_PORTC_LEDS);
}
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
{
PORTD &= ~(LEDMask & LEDS_PORTD_LEDS);
PORTC &= ~(LEDMask & LEDS_PORTC_LEDS);
}
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
{
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)
{
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)
{
PORTD ^= (LEDMask & LEDS_PORTD_LEDS);
PORTC ^= (LEDMask & LEDS_PORTC_LEDS);
}
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t LEDs_GetLEDs(void)
{
return ((PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS));
}
#endif
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
}
#endif
#endif
/** @} */
......@@ -180,6 +180,10 @@
#include "AVR8/MICROPENDOUS/LEDs.h"
#elif (BOARD == BOARD_B1_XPLAINED)
#include "XMEGA/B1_XPLAINED/LEDs.h"
#elif (BOARD == BOARD_MULTIO)
#include "AVR8/MULTIO/LEDs.h"
#elif (BOARD == BOARD_BIGMULTIO)
#include "AVR8/BIGMULTIO/LEDs.h"
#else
#include "Board/LEDs.h"
#endif
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment