From c5279310e5123efc2bce992884be418de837b7dd Mon Sep 17 00:00:00 2001 From: richardbarry Date: Sun, 13 Jun 2010 13:55:37 +0000 Subject: [PATCH] Removed outdated AVR32 demo. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1027 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Demo/AVR32_UC3/BOARDS/EVK1100/evk1100.h | 325 ------------------- Demo/AVR32_UC3/BOARDS/EVK1100/evk1100_revA.h | 324 ------------------ Demo/AVR32_UC3/BOARDS/EVK1100/led.c | 305 ----------------- Demo/AVR32_UC3/BOARDS/EVK1100/led.h | 186 ----------- Demo/AVR32_UC3/BOARDS/EVK1101/evk1101.h | 239 -------------- Demo/AVR32_UC3/BOARDS/EVK1101/led.c | 305 ----------------- Demo/AVR32_UC3/BOARDS/EVK1101/led.h | 182 ----------- Demo/AVR32_UC3/BOARDS/board.h | 82 ----- 8 files changed, 1948 deletions(-) delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1100/evk1100.h delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1100/evk1100_revA.h delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1100/led.c delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1100/led.h delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1101/evk1101.h delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1101/led.c delete mode 100644 Demo/AVR32_UC3/BOARDS/EVK1101/led.h delete mode 100644 Demo/AVR32_UC3/BOARDS/board.h diff --git a/Demo/AVR32_UC3/BOARDS/EVK1100/evk1100.h b/Demo/AVR32_UC3/BOARDS/EVK1100/evk1100.h deleted file mode 100644 index 2905fff22..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1100/evk1100.h +++ /dev/null @@ -1,325 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3A EVK1100 board header file. - * - * This file contains definitions and services related to the features of the - * EVK1100 board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3A devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef _EVK1100_H_ -#define _EVK1100_H_ - -#include "compiler.h" - -#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. -# include "led.h" -#endif // __AVR32_ABI_COMPILER__ - - -/*! \name Oscillator Definitions - */ -//! @{ - -// RCOsc has no custom calibration by default. Set the following definition to -// the appropriate value if a custom RCOsc calibration has been applied to your -// part. -//#define FRCOSC 115200 //!< RCOsc frequency: Hz. - -#define FOSC32 32768 //!< Osc32 frequency: Hz. -#define OSC32_STARTUP 3 //!< Osc32 startup time: RCOsc periods. - -#define FOSC0 12000000 //!< Osc0 frequency: Hz. -#define OSC0_STARTUP 3 //!< Osc0 startup time: RCOsc periods. - -// Osc1 crystal is not mounted by default. Set the following definitions to the -// appropriate values if a custom Osc1 crystal is mounted on your board. -//#define FOSC1 12000000 //!< Osc1 frequency: Hz. -//#define OSC1_STARTUP 3 //!< Osc1 startup time: RCOsc periods. - -//! @} - - -/*! \name SDRAM Definitions - */ -//! @{ - -//! Part header file of used SDRAM(s). -#define SDRAM_PART_HDR "MT48LC16M16A2TG7E/mt48lc16m16a2tg7e.h" - -//! Data bus width to use the SDRAM(s) with (16 or 32 bits; always 16 bits on -//! UC3). -#define SDRAM_DBW 16 - -//! @} - - -/*! \name USB Definitions - */ -//! @{ - -//! Multiplexed pin used for USB_ID: AVR32_USBB_USB_ID_x_x. -//! To be selected according to the AVR32_USBB_USB_ID_x_x_PIN and -//! AVR32_USBB_USB_ID_x_x_FUNCTION definitions from . -#define USB_ID AVR32_USBB_USB_ID_0_0 - -//! Multiplexed pin used for USB_VBOF: AVR32_USBB_USB_VBOF_x_x. -//! To be selected according to the AVR32_USBB_USB_VBOF_x_x_PIN and -//! AVR32_USBB_USB_VBOF_x_x_FUNCTION definitions from . -#ifdef EVK1100_REVA -# define USB_VBOF AVR32_USBB_USB_VBOF_0_0 -#else -# define USB_VBOF AVR32_USBB_USB_VBOF_0_1 -#endif - -//! Active level of the USB_VBOF output pin. -#ifdef EVK1100_REVA -# define USB_VBOF_ACTIVE_LEVEL HIGH -#else -# define USB_VBOF_ACTIVE_LEVEL LOW -#endif - -//! USB overcurrent detection pin. -#ifdef EVK1100_REVA -# define USB_OVERCURRENT_DETECT_PIN AVR32_PIN_PB18 -#else -# define USB_OVERCURRENT_DETECT_PIN AVR32_PIN_PX33 -#endif - -//! @} - - -//! GPIO connection of the MAC PHY PWR_DOWN/INT signal. -#ifdef EVK1100_REVA -# define MACB_INTERRUPT_PIN AVR32_PIN_PX12 -#else -# define MACB_INTERRUPT_PIN AVR32_PIN_PA24 -#endif - - -//! Number of LEDs. -#define LED_COUNT 8 - -/*! \name GPIO Connections of LEDs - */ -//! @{ -#ifdef EVK1100_REVA -# define LED0_GPIO AVR32_PIN_PX13 -# define LED1_GPIO AVR32_PIN_PX14 -# define LED2_GPIO AVR32_PIN_PX15 -# define LED3_GPIO AVR32_PIN_PX16 -# define LED4_GPIO AVR32_PIN_PB19 -# define LED5_GPIO AVR32_PIN_PB20 -# define LED6_GPIO AVR32_PIN_PB21 -# define LED7_GPIO AVR32_PIN_PB22 -#else -# define LED0_GPIO AVR32_PIN_PB27 -# define LED1_GPIO AVR32_PIN_PB28 -# define LED2_GPIO AVR32_PIN_PB29 -# define LED3_GPIO AVR32_PIN_PB30 -# define LED4_GPIO AVR32_PIN_PB19 -# define LED5_GPIO AVR32_PIN_PB20 -# define LED6_GPIO AVR32_PIN_PB21 -# define LED7_GPIO AVR32_PIN_PB22 -#endif -//! @} - -/*! \name PWM Channels of LEDs - */ -//! @{ -#define LED0_PWM (-1) -#define LED1_PWM (-1) -#define LED2_PWM (-1) -#define LED3_PWM (-1) -#define LED4_PWM 0 -#define LED5_PWM 1 -#define LED6_PWM 2 -#define LED7_PWM 3 -//! @} - -/*! \name PWM Functions of LEDs - */ -//! @{ -#define LED0_PWM_FUNCTION (-1) -#define LED1_PWM_FUNCTION (-1) -#define LED2_PWM_FUNCTION (-1) -#define LED3_PWM_FUNCTION (-1) -#define LED4_PWM_FUNCTION AVR32_PWM_PWM_0_FUNCTION -#define LED5_PWM_FUNCTION AVR32_PWM_PWM_1_FUNCTION -#define LED6_PWM_FUNCTION AVR32_PWM_PWM_2_FUNCTION -#define LED7_PWM_FUNCTION AVR32_PWM_PWM_3_FUNCTION -//! @} - -/*! \name Color Identifiers of LEDs to Use with LED Functions - */ -//! @{ -#ifdef EVK1100_REVA -# define LED_MONO0_GREEN LED4 -# define LED_MONO1_GREEN LED5 -# define LED_MONO2_GREEN LED6 -# define LED_MONO3_GREEN LED7 -# define LED_BI0_GREEN LED1 -# define LED_BI0_RED LED0 -# define LED_BI1_GREEN LED3 -# define LED_BI1_RED LED2 -#else -# define LED_MONO0_GREEN LED0 -# define LED_MONO1_GREEN LED1 -# define LED_MONO2_GREEN LED2 -# define LED_MONO3_GREEN LED3 -# define LED_BI0_GREEN LED5 -# define LED_BI0_RED LED4 -# define LED_BI1_GREEN LED7 -# define LED_BI1_RED LED6 -#endif -//! @} - - -/*! \name GPIO Connections of Push Buttons - */ -//! @{ -#ifdef EVK1100_REVA -# define GPIO_PUSH_BUTTON_0 AVR32_PIN_PB28 -# define GPIO_PUSH_BUTTON_1 AVR32_PIN_PB29 -# define GPIO_PUSH_BUTTON_2 AVR32_PIN_PB27 -#else -# define GPIO_PUSH_BUTTON_0 AVR32_PIN_PX16 -# define GPIO_PUSH_BUTTON_1 AVR32_PIN_PX19 -# define GPIO_PUSH_BUTTON_2 AVR32_PIN_PX22 -#endif -//! @} - - -/*! \name GPIO Connections of the Joystick - */ -//! @{ -#define GPIO_JOYSTICK_PUSH AVR32_PIN_PA20 -#define GPIO_JOYSTICK_LEFT AVR32_PIN_PA25 -#define GPIO_JOYSTICK_RIGHT AVR32_PIN_PA28 -#define GPIO_JOYSTICK_UP AVR32_PIN_PA26 -#define GPIO_JOYSTICK_DOWN AVR32_PIN_PA27 -//! @} - - -/*! \name ADC Connection of the Potentiometer - */ -//! @{ -#define ADC_POTENTIOMETER_CHANNEL 1 -#define ADC_POTENTIOMETER_PIN AVR32_ADC_AD_1_PIN -#define ADC_POTENTIOMETER_FUNCTION AVR32_ADC_AD_1_FUNCTION -//! @} - - -/*! \name ADC Connection of the Temperature Sensor - */ -//! @{ -#define ADC_TEMPERATURE_CHANNEL 0 -#define ADC_TEMPERATURE_PIN AVR32_ADC_AD_0_PIN -#define ADC_TEMPERATURE_FUNCTION AVR32_ADC_AD_0_FUNCTION -//! @} - - -/*! \name ADC Connection of the Light Sensor - */ -//! @{ -#define ADC_LIGHT_CHANNEL 2 -#define ADC_LIGHT_PIN AVR32_ADC_AD_2_PIN -#define ADC_LIGHT_FUNCTION AVR32_ADC_AD_2_FUNCTION -//! @} - - -/*! \name SPI Connections of the DIP204 LCD - */ -//! @{ -#define DIP204_SPI (&AVR32_SPI1) -#define DIP204_SPI_CS 2 -#define DIP204_SPI_SCK_PIN AVR32_SPI1_SCK_0_PIN -#define DIP204_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_FUNCTION -#define DIP204_SPI_MISO_PIN AVR32_SPI1_MISO_0_PIN -#define DIP204_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_FUNCTION -#define DIP204_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_PIN -#define DIP204_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_FUNCTION -#define DIP204_SPI_NPCS_PIN AVR32_SPI1_NPCS_2_PIN -#define DIP204_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_2_FUNCTION -//! @} - -/*! \name GPIO and PWM Connections of the DIP204 LCD Backlight - */ -//! @{ -#define DIP204_BACKLIGHT_PIN AVR32_PIN_PB18 -#define DIP204_PWM_CHANNEL 6 -#define DIP204_PWM_PIN AVR32_PWM_PWM_6_PIN -#define DIP204_PWM_FUNCTION AVR32_PWM_PWM_6_FUNCTION -//! @} - - -/*! \name SPI Connections of the AT45DBX Data Flash Memory - */ -//! @{ -#define AT45DBX_SPI (&AVR32_SPI1) -#define AT45DBX_SPI_SCK_PIN AVR32_SPI1_SCK_0_PIN -#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_FUNCTION -#define AT45DBX_SPI_MISO_PIN AVR32_SPI1_MISO_0_PIN -#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_FUNCTION -#define AT45DBX_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_PIN -#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_FUNCTION -#define AT45DBX_SPI_NPCS0_PIN AVR32_SPI1_NPCS_0_PIN -#define AT45DBX_SPI_NPCS0_FUNCTION AVR32_SPI1_NPCS_0_FUNCTION -//! @} - - -/*! \name GPIO and SPI Connections of the SD/MMC Connector - */ -//! @{ -#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PA02 -#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PA07 -#define SD_MMC_SPI (&AVR32_SPI1) -#define SD_MMC_SPI_CS 1 -#define SD_MMC_SPI_SCK_PIN AVR32_SPI1_SCK_0_PIN -#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_FUNCTION -#define SD_MMC_SPI_MISO_PIN AVR32_SPI1_MISO_0_PIN -#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_FUNCTION -#define SD_MMC_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_PIN -#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_FUNCTION -#define SD_MMC_SPI_NPCS_PIN AVR32_SPI1_NPCS_1_PIN -#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_1_FUNCTION -//! @} - - -#endif // _EVK1100_H_ diff --git a/Demo/AVR32_UC3/BOARDS/EVK1100/evk1100_revA.h b/Demo/AVR32_UC3/BOARDS/EVK1100/evk1100_revA.h deleted file mode 100644 index 13ec2e8ad..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1100/evk1100_revA.h +++ /dev/null @@ -1,324 +0,0 @@ -/* This header file is part of the ATMEL AVR32-SoftwareFramework-AT32UC3-1.5.0 Release */ - -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3A EVK1100 board header file. - * - * This file contains definitions and services related to the features of the - * EVK1100 board rev. A. - * - * To use this board, define BOARD=EVK1100 and EVK1100_REVA. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3A devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2009 Atmel Corporation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an Atmel - * AVR product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE - * - */ - -#ifndef _EVK1100_REVA_H_ -#define _EVK1100_REVA_H_ - -#include "compiler.h" - -#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. -# include "led.h" -#endif // __AVR32_ABI_COMPILER__ - - -/*! \name Oscillator Definitions - */ -//! @{ - -// RCOsc has no custom calibration by default. Set the following definition to -// the appropriate value if a custom RCOsc calibration has been applied to your -// part. -//#define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< RCOsc frequency: Hz. - -#define FOSC32 32768 //!< Osc32 frequency: Hz. -#define OSC32_STARTUP AVR32_PM_OSCCTRL32_STARTUP_8192_RCOSC //!< Osc32 startup time: RCOsc periods. - -#define FOSC0 12000000 //!< Osc0 frequency: Hz. -#define OSC0_STARTUP AVR32_PM_OSCCTRL0_STARTUP_2048_RCOSC //!< Osc0 startup time: RCOsc periods. - -// Osc1 crystal is not mounted by default. Set the following definitions to the -// appropriate values if a custom Osc1 crystal is mounted on your board. -//#define FOSC1 12000000 //!< Osc1 frequency: Hz. -//#define OSC1_STARTUP AVR32_PM_OSCCTRL1_STARTUP_2048_RCOSC //!< Osc1 startup time: RCOsc periods. - -//! @} - - -/*! \name SDRAM Definitions - */ -//! @{ - -//! Part header file of used SDRAM(s). -#define SDRAM_PART_HDR "MT48LC16M16A2TG7E/mt48lc16m16a2tg7e.h" - -//! Data bus width to use the SDRAM(s) with (16 or 32 bits; always 16 bits on -//! UC3). -#define SDRAM_DBW 16 - -//! @} - - -/*! \name USB Definitions - */ -//! @{ - -//! Multiplexed pin used for USB_ID: AVR32_USBB_USB_ID_x_x. -//! To be selected according to the AVR32_USBB_USB_ID_x_x_PIN and -//! AVR32_USBB_USB_ID_x_x_FUNCTION definitions from . -#define USB_ID AVR32_USBB_USB_ID_0_0 - -//! Multiplexed pin used for USB_VBOF: AVR32_USBB_USB_VBOF_x_x. -//! To be selected according to the AVR32_USBB_USB_VBOF_x_x_PIN and -//! AVR32_USBB_USB_VBOF_x_x_FUNCTION definitions from . -#define USB_VBOF AVR32_USBB_USB_VBOF_0_0 - -//! Active level of the USB_VBOF output pin. -#define USB_VBOF_ACTIVE_LEVEL HIGH - -//! USB overcurrent detection pin. -#define USB_OVERCURRENT_DETECT_PIN AVR32_PIN_PB18 - -//! @} - - -//! GPIO connection of the MAC PHY PWR_DOWN/INT signal. -#define MACB_INTERRUPT_PIN AVR32_PIN_PX12 - - -//! Number of LEDs. -#define LED_COUNT 8 - -/*! \name GPIO Connections of LEDs - */ -//! @{ -#define LED0_GPIO AVR32_PIN_PX13 -#define LED1_GPIO AVR32_PIN_PX14 -#define LED2_GPIO AVR32_PIN_PX15 -#define LED3_GPIO AVR32_PIN_PX16 -#define LED4_GPIO AVR32_PIN_PB19 -#define LED5_GPIO AVR32_PIN_PB20 -#define LED6_GPIO AVR32_PIN_PB21 -#define LED7_GPIO AVR32_PIN_PB22 -//! @} - -/*! \name PWM Channels of LEDs - */ -//! @{ -#define LED0_PWM (-1) -#define LED1_PWM (-1) -#define LED2_PWM (-1) -#define LED3_PWM (-1) -#define LED4_PWM 0 -#define LED5_PWM 1 -#define LED6_PWM 2 -#define LED7_PWM 3 -//! @} - -/*! \name PWM Functions of LEDs - */ -//! @{ -#define LED0_PWM_FUNCTION (-1) -#define LED1_PWM_FUNCTION (-1) -#define LED2_PWM_FUNCTION (-1) -#define LED3_PWM_FUNCTION (-1) -#define LED4_PWM_FUNCTION AVR32_PWM_0_FUNCTION -#define LED5_PWM_FUNCTION AVR32_PWM_1_FUNCTION -#define LED6_PWM_FUNCTION AVR32_PWM_2_FUNCTION -#define LED7_PWM_FUNCTION AVR32_PWM_3_FUNCTION -//! @} - -/*! \name Color Identifiers of LEDs to Use with LED Functions - */ -//! @{ -#define LED_MONO0_GREEN LED4 -#define LED_MONO1_GREEN LED5 -#define LED_MONO2_GREEN LED6 -#define LED_MONO3_GREEN LED7 -#define LED_BI0_GREEN LED1 -#define LED_BI0_RED LED0 -#define LED_BI1_GREEN LED3 -#define LED_BI1_RED LED2 -//! @} - - -/*! \name GPIO Connections of Push Buttons - */ -//! @{ -#define GPIO_PUSH_BUTTON_0 AVR32_PIN_PB28 -#define GPIO_PUSH_BUTTON_0_PRESSED 0 -#define GPIO_PUSH_BUTTON_1 AVR32_PIN_PB29 -#define GPIO_PUSH_BUTTON_1_PRESSED 0 -#define GPIO_PUSH_BUTTON_2 AVR32_PIN_PB27 -#define GPIO_PUSH_BUTTON_2_PRESSED 0 -//! @} - - -/*! \name GPIO Connections of the Joystick - */ -//! @{ -#define GPIO_JOYSTICK_PUSH AVR32_PIN_PA20 -#define GPIO_JOYSTICK_PUSH_PRESSED 0 -#define GPIO_JOYSTICK_LEFT AVR32_PIN_PA25 -#define GPIO_JOYSTICK_LEFT_PRESSED 0 -#define GPIO_JOYSTICK_RIGHT AVR32_PIN_PA28 -#define GPIO_JOYSTICK_RIGHT_PRESSED 0 -#define GPIO_JOYSTICK_UP AVR32_PIN_PA26 -#define GPIO_JOYSTICK_UP_PRESSED 0 -#define GPIO_JOYSTICK_DOWN AVR32_PIN_PA27 -#define GPIO_JOYSTICK_DOWN_PRESSED 0 -//! @} - - -/*! \name ADC Connection of the Potentiometer - */ -//! @{ -#define ADC_POTENTIOMETER_CHANNEL 1 -#define ADC_POTENTIOMETER_PIN AVR32_ADC_AD_1_PIN -#define ADC_POTENTIOMETER_FUNCTION AVR32_ADC_AD_1_FUNCTION -//! @} - - -/*! \name ADC Connection of the Temperature Sensor - */ -//! @{ -#define ADC_TEMPERATURE_CHANNEL 0 -#define ADC_TEMPERATURE_PIN AVR32_ADC_AD_0_PIN -#define ADC_TEMPERATURE_FUNCTION AVR32_ADC_AD_0_FUNCTION -//! @} - - -/*! \name ADC Connection of the Light Sensor - */ -//! @{ -#define ADC_LIGHT_CHANNEL 2 -#define ADC_LIGHT_PIN AVR32_ADC_AD_2_PIN -#define ADC_LIGHT_FUNCTION AVR32_ADC_AD_2_FUNCTION -//! @} - - -/*! \name SPI Connections of the DIP204 LCD - */ -//! @{ -#define DIP204_SPI (&AVR32_SPI1) -#define DIP204_SPI_NPCS 2 -#define DIP204_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN -#define DIP204_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION -#define DIP204_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN -#define DIP204_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION -#define DIP204_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN -#define DIP204_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION -#define DIP204_SPI_NPCS_PIN AVR32_SPI1_NPCS_2_0_PIN -#define DIP204_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_2_0_FUNCTION -//! @} - -/*! \name GPIO and PWM Connections of the DIP204 LCD Backlight - */ -//! @{ -#define DIP204_BACKLIGHT_PIN AVR32_PIN_PB18 -#define DIP204_PWM_CHANNEL 6 -#define DIP204_PWM_PIN AVR32_PWM_6_PIN -#define DIP204_PWM_FUNCTION AVR32_PWM_6_FUNCTION -//! @} - - -/*! \name SPI Connections of the AT45DBX Data Flash Memory - */ -//! @{ -#define AT45DBX_SPI (&AVR32_SPI1) -#define AT45DBX_SPI_NPCS 0 -#define AT45DBX_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN -#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION -#define AT45DBX_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN -#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION -#define AT45DBX_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN -#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION -#define AT45DBX_SPI_NPCS0_PIN AVR32_SPI1_NPCS_0_0_PIN -#define AT45DBX_SPI_NPCS0_FUNCTION AVR32_SPI1_NPCS_0_0_FUNCTION -//! @} - - -/*! \name GPIO and SPI Connections of the SD/MMC Connector - */ -//! @{ -#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PA02 -#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PA07 -#define SD_MMC_SPI (&AVR32_SPI1) -#define SD_MMC_SPI_NPCS 1 -#define SD_MMC_SPI_SCK_PIN AVR32_SPI1_SCK_0_0_PIN -#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI1_SCK_0_0_FUNCTION -#define SD_MMC_SPI_MISO_PIN AVR32_SPI1_MISO_0_0_PIN -#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI1_MISO_0_0_FUNCTION -#define SD_MMC_SPI_MOSI_PIN AVR32_SPI1_MOSI_0_0_PIN -#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI1_MOSI_0_0_FUNCTION -#define SD_MMC_SPI_NPCS_PIN AVR32_SPI1_NPCS_1_0_PIN -#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI1_NPCS_1_0_FUNCTION -//! @} - - -/*! \name TWI Connections of the Spare TWI Connector - */ -//! @{ -#define SPARE_TWI (&AVR32_TWI) -#define SPARE_TWI_SCL_PIN AVR32_TWI_SCL_0_0_PIN -#define SPARE_TWI_SCL_FUNCTION AVR32_TWI_SCL_0_0_FUNCTION -#define SPARE_TWI_SDA_PIN AVR32_TWI_SDA_0_0_PIN -#define SPARE_TWI_SDA_FUNCTION AVR32_TWI_SDA_0_0_FUNCTION -//! @} - - -/*! \name SPI Connections of the Spare SPI Connector - */ -//! @{ -#define SPARE_SPI (&AVR32_SPI0) -#define SPARE_SPI_NPCS 0 -#define SPARE_SPI_SCK_PIN AVR32_SPI0_SCK_0_0_PIN -#define SPARE_SPI_SCK_FUNCTION AVR32_SPI0_SCK_0_0_FUNCTION -#define SPARE_SPI_MISO_PIN AVR32_SPI0_MISO_0_0_PIN -#define SPARE_SPI_MISO_FUNCTION AVR32_SPI0_MISO_0_0_FUNCTION -#define SPARE_SPI_MOSI_PIN AVR32_SPI0_MOSI_0_0_PIN -#define SPARE_SPI_MOSI_FUNCTION AVR32_SPI0_MOSI_0_0_FUNCTION -#define SPARE_SPI_NPCS_PIN AVR32_SPI0_NPCS_0_0_PIN -#define SPARE_SPI_NPCS_FUNCTION AVR32_SPI0_NPCS_0_0_FUNCTION -//! @} - - -#endif // _EVK1100_REVA_H_ diff --git a/Demo/AVR32_UC3/BOARDS/EVK1100/led.c b/Demo/AVR32_UC3/BOARDS/EVK1100/led.c deleted file mode 100644 index 9f0952bc9..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1100/led.c +++ /dev/null @@ -1,305 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3A EVK1100 board LEDs support package. - * - * This file contains definitions and services related to the LED features of - * the EVK1100 board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3A devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#include -#include "preprocessor.h" -#include "compiler.h" -#include "evk1100.h" -#include "led.h" - - -//! Structure describing LED hardware connections. -typedef const struct -{ - struct - { - U32 PORT; //!< LED GPIO port. - U32 PIN_MASK; //!< Bit-mask of LED pin in GPIO port. - } GPIO; //!< LED GPIO descriptor. - struct - { - S32 CHANNEL; //!< LED PWM channel (< 0 if N/A). - S32 FUNCTION; //!< LED pin PWM function (< 0 if N/A). - } PWM; //!< LED PWM descriptor. -} tLED_DESCRIPTOR; - - -//! Hardware descriptors of all LEDs. -static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = -{ -#define INSERT_LED_DESCRIPTOR(LED_NO, unused) \ - { \ - {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},\ - {LED##LED_NO##_PWM, LED##LED_NO##_PWM_FUNCTION } \ - }, - MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) -#undef INSERT_LED_DESCRIPTOR -}; - - -//! Saved state of all LEDs. -static volatile U32 LED_State = (1 << LED_COUNT) - 1; - - -U32 LED_Read_Display(void) -{ - return LED_State; -} - - -void LED_Display(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor; - volatile avr32_gpio_port_t *led_gpio_port; - - leds &= (1 << LED_COUNT) - 1; - LED_State = leds; - for (led_descriptor = &LED_DESCRIPTOR[0]; - led_descriptor < LED_DESCRIPTOR + LED_COUNT; - led_descriptor++) - { - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - if (leds & 1) - { - led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; - } - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= 1; - } -} - - -U32 LED_Read_Display_Mask(U32 mask) -{ - return Rd_bits(LED_State, mask); -} - - -void LED_Display_Mask(U32 mask, U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - mask &= (1 << LED_COUNT) - 1; - Wr_bits(LED_State, mask, leds); - while (mask) - { - led_shift = 1 + ctz(mask); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - leds >>= led_shift - 1; - if (leds & 1) - { - led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; - } - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= 1; - mask >>= led_shift; - } -} - - -Bool LED_Test(U32 leds) -{ - return Tst_bits(LED_State, leds); -} - - -void LED_Off(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - leds &= (1 << LED_COUNT) - 1; - Clr_bits(LED_State, leds); - while (leds) - { - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= led_shift; - } -} - - -void LED_On(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - leds &= (1 << LED_COUNT) - 1; - Set_bits(LED_State, leds); - while (leds) - { - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= led_shift; - } -} - - -void LED_Toggle(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - leds &= (1 << LED_COUNT) - 1; - Tgl_bits(LED_State, leds); - while (leds) - { - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - led_gpio_port->ovrt = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= led_shift; - } -} - - -U32 LED_Read_Display_Field(U32 field) -{ - return Rd_bitfield(LED_State, field); -} - - -void LED_Display_Field(U32 field, U32 leds) -{ - LED_Display_Mask(field, leds << ctz(field)); -} - - -U8 LED_Get_Intensity(U32 led) -{ - tLED_DESCRIPTOR *led_descriptor; - - // Check that the argument value is valid. - led = ctz(led); - led_descriptor = &LED_DESCRIPTOR[led]; - if (led >= LED_COUNT || led_descriptor->PWM.CHANNEL < 0) return 0; - - // Return the duty cycle value if the LED PWM channel is enabled, else 0. - return (AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL)) ? - AVR32_PWM.channel[led_descriptor->PWM.CHANNEL].cdty : 0; -} - - -void LED_Set_Intensity(U32 leds, U8 intensity) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_pwm_channel_t *led_pwm_channel; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - // For each specified LED... - for (leds &= (1 << LED_COUNT) - 1; leds; leds >>= led_shift) - { - // Select the next specified LED and check that it has a PWM channel. - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - if (led_descriptor->PWM.CHANNEL < 0) continue; - - // Initialize or update the LED PWM channel. - led_pwm_channel = &AVR32_PWM.channel[led_descriptor->PWM.CHANNEL]; - if (!(AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL))) - { - led_pwm_channel->cmr = (AVR32_PWM_CPRE_MCK << AVR32_PWM_CPRE_OFFSET) & - ~(AVR32_PWM_CALG_MASK | - AVR32_PWM_CPOL_MASK | - AVR32_PWM_CPD_MASK); - led_pwm_channel->cprd = 0x000000FF; - led_pwm_channel->cdty = intensity; - AVR32_PWM.ena = 1 << led_descriptor->PWM.CHANNEL; - } - else - { - AVR32_PWM.isr; - while (!(AVR32_PWM.isr & (1 << led_descriptor->PWM.CHANNEL))); - led_pwm_channel->cupd = intensity; - } - - // Switch the LED pin to its PWM function. - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - if (led_descriptor->PWM.FUNCTION & 0x1) - { - led_gpio_port->pmr0s = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->pmr0c = led_descriptor->GPIO.PIN_MASK; - } - if (led_descriptor->PWM.FUNCTION & 0x2) - { - led_gpio_port->pmr1s = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->pmr1c = led_descriptor->GPIO.PIN_MASK; - } - led_gpio_port->gperc = led_descriptor->GPIO.PIN_MASK; - } -} diff --git a/Demo/AVR32_UC3/BOARDS/EVK1100/led.h b/Demo/AVR32_UC3/BOARDS/EVK1100/led.h deleted file mode 100644 index aa26a0af1..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1100/led.h +++ /dev/null @@ -1,186 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3A EVK1100 board LEDs support package. - * - * This file contains definitions and services related to the LED features of - * the EVK1100 board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3A devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef _LED_H_ -#define _LED_H_ - -#include "compiler.h" - - -/*! \name Identifiers of LEDs to Use with LED Functions - */ -//! @{ -#define LED0 0x01 -#define LED1 0x02 -#define LED2 0x04 -#define LED3 0x08 -#define LED4 0x10 -#define LED5 0x20 -#define LED6 0x40 -#define LED7 0x80 -//! @} - - -/*! \brief Gets the last state of all LEDs set through the LED API. - * - * \return State of all LEDs (1 bit per LED). - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U32 LED_Read_Display(void); - -/*! \brief Sets the state of all LEDs. - * - * \param leds New state of all LEDs (1 bit per LED). - * - * \note The pins of all LEDs are set to GPIO output mode. - */ -extern void LED_Display(U32 leds); - -/*! \brief Gets the last state of the specified LEDs set through the LED API. - * - * \param mask LEDs of which to get the state (1 bit per LED). - * - * \return State of the specified LEDs (1 bit per LED). - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U32 LED_Read_Display_Mask(U32 mask); - -/*! \brief Sets the state of the specified LEDs. - * - * \param mask LEDs of which to set the state (1 bit per LED). - * - * \param leds New state of the specified LEDs (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Display_Mask(U32 mask, U32 leds); - -/*! \brief Tests the last state of the specified LEDs set through the LED API. - * - * \param leds LEDs of which to test the state (1 bit per LED). - * - * \return \c TRUE if at least one of the specified LEDs has a state on, else - * \c FALSE. - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern Bool LED_Test(U32 leds); - -/*! \brief Turns off the specified LEDs. - * - * \param leds LEDs to turn off (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Off(U32 leds); - -/*! \brief Turns on the specified LEDs. - * - * \param leds LEDs to turn on (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_On(U32 leds); - -/*! \brief Toggles the specified LEDs. - * - * \param leds LEDs to toggle (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Toggle(U32 leds); - -/*! \brief Gets as a bit-field the last state of the specified LEDs set through - * the LED API. - * - * \param field LEDs of which to get the state (1 bit per LED). - * - * \return State of the specified LEDs (1 bit per LED, beginning with the first - * specified LED). - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U32 LED_Read_Display_Field(U32 field); - -/*! \brief Sets as a bit-field the state of the specified LEDs. - * - * \param field LEDs of which to set the state (1 bit per LED). - * \param leds New state of the specified LEDs (1 bit per LED, beginning with - * the first specified LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Display_Field(U32 field, U32 leds); - -/*! \brief Gets the intensity of the specified LED. - * - * \param led LED of which to get the intensity (1 bit per LED; only the least - * significant set bit is used). - * - * \return Intensity of the specified LED (0x00 to 0xFF). - * - * \warning The PWM channel of the specified LED is supposed to be used only by - * this module. - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U8 LED_Get_Intensity(U32 led); - -/*! \brief Sets the intensity of the specified LEDs. - * - * \param leds LEDs of which to set the intensity (1 bit per LED). - * \param intensity New intensity of the specified LEDs (0x00 to 0xFF). - * - * \warning The PWM channels of the specified LEDs are supposed to be used only - * by this module. - * - * \note The pins of the specified LEDs are set to PWM output mode. - */ -extern void LED_Set_Intensity(U32 leds, U8 intensity); - - -#endif // _LED_H_ diff --git a/Demo/AVR32_UC3/BOARDS/EVK1101/evk1101.h b/Demo/AVR32_UC3/BOARDS/EVK1101/evk1101.h deleted file mode 100644 index 87291f54f..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1101/evk1101.h +++ /dev/null @@ -1,239 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3B EVK1101 board header file. - * - * This file contains definitions and services related to the features of the - * EVK1101 board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3B devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef _EVK1101_H_ -#define _EVK1101_H_ - -#include "compiler.h" - -#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. -# include "led.h" -#endif // __AVR32_ABI_COMPILER__ - - -/*! \name Oscillator Definitions - */ -//! @{ - -// RCOsc has no custom calibration by default. Set the following definition to -// the appropriate value if a custom RCOsc calibration has been applied to your -// part. -//#define FRCOSC 115200 //!< RCOsc frequency: Hz. - -#define FOSC32 32768 //!< Osc32 frequency: Hz. -#define OSC32_STARTUP 3 //!< Osc32 startup time: RCOsc periods. - -#define FOSC0 12000000 //!< Osc0 frequency: Hz. -#define OSC0_STARTUP 3 //!< Osc0 startup time: RCOsc periods. - -// Osc1 crystal is not mounted by default. Set the following definitions to the -// appropriate values if a custom Osc1 crystal is mounted on your board. -//#define FOSC1 12000000 //!< Osc1 frequency: Hz. -//#define OSC1_STARTUP 3 //!< Osc1 startup time: RCOsc periods. - -//! @} - - -/*! \name USB Definitions - */ -//! @{ - -//! Multiplexed pin used for USB_ID: AVR32_USBB_USB_ID_x_x. -//! To be selected according to the AVR32_USBB_USB_ID_x_x_PIN and -//! AVR32_USBB_USB_ID_x_x_FUNCTION definitions from . -#define USB_ID AVR32_USBB_USB_ID_0_0 - -//! Multiplexed pin used for USB_VBOF: AVR32_USBB_USB_VBOF_x_x. -//! To be selected according to the AVR32_USBB_USB_VBOF_x_x_PIN and -//! AVR32_USBB_USB_VBOF_x_x_FUNCTION definitions from . -#define USB_VBOF AVR32_USBB_USB_VBOF_0_0 - -//! Active level of the USB_VBOF output pin. -#define USB_VBOF_ACTIVE_LEVEL LOW - -//! USB overcurrent detection pin. -#define USB_OVERCURRENT_DETECT_PIN AVR32_PIN_PA20 - -//! @} - - -//! Number of LEDs. -#define LED_COUNT 4 - -/*! \name GPIO Connections of LEDs - */ -//! @{ -#define LED0_GPIO AVR32_PIN_PA07 -#define LED1_GPIO AVR32_PIN_PA08 -#define LED2_GPIO AVR32_PIN_PA21 -#define LED3_GPIO AVR32_PIN_PA22 -//! @} - -/*! \name PWM Channels of LEDs - */ -//! @{ -#define LED0_PWM 0 -#define LED1_PWM 1 -#define LED2_PWM 2 -#define LED3_PWM 6 -//! @} - -/*! \name PWM Functions of LEDs - */ -//! @{ -#define LED0_PWM_FUNCTION AVR32_PWM_PWM_0_0_FUNCTION -#define LED1_PWM_FUNCTION AVR32_PWM_PWM_1_0_FUNCTION -#define LED2_PWM_FUNCTION AVR32_PWM_PWM_2_0_FUNCTION -#define LED3_PWM_FUNCTION AVR32_PWM_PWM_6_0_FUNCTION -//! @} - -/*! \name Color Identifiers of LEDs to Use with LED Functions - */ -//! @{ -#define LED_MONO0_GREEN LED0 -#define LED_MONO1_GREEN LED1 -#define LED_MONO2_GREEN LED2 -#define LED_MONO3_GREEN LED3 -//! @} - - -/*! \name GPIO Connections of Push Buttons - */ -//! @{ -#define GPIO_PUSH_BUTTON_0 AVR32_PIN_PB02 -#define GPIO_PUSH_BUTTON_1 AVR32_PIN_PB03 -//! @} - - -/*! \name GPIO Connections of the Joystick - */ -//! @{ -#define GPIO_JOYSTICK_PUSH AVR32_PIN_PA13 -#define GPIO_JOYSTICK_LEFT AVR32_PIN_PB06 -#define GPIO_JOYSTICK_RIGHT AVR32_PIN_PB09 -#define GPIO_JOYSTICK_UP AVR32_PIN_PB07 -#define GPIO_JOYSTICK_DOWN AVR32_PIN_PB08 -//! @} - - -/*! \name ADC Connection of the Temperature Sensor - */ -//! @{ -#define ADC_TEMPERATURE_CHANNEL 7 -#define ADC_TEMPERATURE_PIN AVR32_ADC_AD_7_PIN -#define ADC_TEMPERATURE_FUNCTION AVR32_ADC_AD_7_FUNCTION -//! @} - - -/*! \name ADC Connection of the Light Sensor - */ -//! @{ -#define ADC_LIGHT_CHANNEL 6 -#define ADC_LIGHT_PIN AVR32_ADC_AD_6_PIN -#define ADC_LIGHT_FUNCTION AVR32_ADC_AD_6_FUNCTION -//! @} - - -/*! \name ADC Connections of the Accelerometer - */ -//! @{ -#define ADC_ACC_X_CHANNEL 1 -#define ADC_ACC_X_PIN AVR32_ADC_AD_1_PIN -#define ADC_ACC_X_FUNCTION AVR32_ADC_AD_1_FUNCTION -#define ADC_ACC_Y_CHANNEL 2 -#define ADC_ACC_Y_PIN AVR32_ADC_AD_2_PIN -#define ADC_ACC_Y_FUNCTION AVR32_ADC_AD_2_FUNCTION -#define ADC_ACC_Z_CHANNEL 3 -#define ADC_ACC_Z_PIN AVR32_ADC_AD_3_PIN -#define ADC_ACC_Z_FUNCTION AVR32_ADC_AD_3_FUNCTION -//! @} - - -/*! \name PWM Connections of Audio - */ -//! @{ -#define AUDIO_LOW_PWM_CHANNEL 5 -#define AUDIO_LOW_PWM_PIN AVR32_PWM_PWM_5_0_PIN -#define AUDIO_LOW_PWM_FUNCTION AVR32_PWM_PWM_5_0_FUNCTION -#define AUDIO_HIGH_PWM_CHANNEL 6 -#define AUDIO_HIGH_PWM_PIN AVR32_PWM_PWM_6_1_PIN -#define AUDIO_HIGH_PWM_FUNCTION AVR32_PWM_PWM_6_1_FUNCTION -//! @} - - -/*! \name SPI Connections of the AT45DBX Data Flash Memory - */ -//! @{ -#define AT45DBX_SPI (&AVR32_SPI) -#define AT45DBX_SPI_SCK_PIN AVR32_SPI_SCK_0_0_PIN -#define AT45DBX_SPI_SCK_FUNCTION AVR32_SPI_SCK_0_0_FUNCTION -#define AT45DBX_SPI_MISO_PIN AVR32_SPI_MISO_0_0_PIN -#define AT45DBX_SPI_MISO_FUNCTION AVR32_SPI_MISO_0_0_FUNCTION -#define AT45DBX_SPI_MOSI_PIN AVR32_SPI_MOSI_0_0_PIN -#define AT45DBX_SPI_MOSI_FUNCTION AVR32_SPI_MOSI_0_0_FUNCTION -#define AT45DBX_SPI_NPCS0_PIN AVR32_SPI_NPCS_0_0_PIN -#define AT45DBX_SPI_NPCS0_FUNCTION AVR32_SPI_NPCS_0_0_FUNCTION -//! @} - - -/*! \name GPIO and SPI Connections of the SD/MMC Connector - */ -//! @{ -#define SD_MMC_CARD_DETECT_PIN AVR32_PIN_PB00 -#define SD_MMC_WRITE_PROTECT_PIN AVR32_PIN_PB01 -#define SD_MMC_SPI (&AVR32_SPI) -#define SD_MMC_SPI_CS 1 -#define SD_MMC_SPI_SCK_PIN AVR32_SPI_SCK_0_0_PIN -#define SD_MMC_SPI_SCK_FUNCTION AVR32_SPI_SCK_0_0_FUNCTION -#define SD_MMC_SPI_MISO_PIN AVR32_SPI_MISO_0_0_PIN -#define SD_MMC_SPI_MISO_FUNCTION AVR32_SPI_MISO_0_0_FUNCTION -#define SD_MMC_SPI_MOSI_PIN AVR32_SPI_MOSI_0_0_PIN -#define SD_MMC_SPI_MOSI_FUNCTION AVR32_SPI_MOSI_0_0_FUNCTION -#define SD_MMC_SPI_NPCS_PIN AVR32_SPI_NPCS_1_0_PIN -#define SD_MMC_SPI_NPCS_FUNCTION AVR32_SPI_NPCS_1_0_FUNCTION -//! @} - - -#endif // _EVK1101_H_ diff --git a/Demo/AVR32_UC3/BOARDS/EVK1101/led.c b/Demo/AVR32_UC3/BOARDS/EVK1101/led.c deleted file mode 100644 index 70705769b..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1101/led.c +++ /dev/null @@ -1,305 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3B EVK1101 board LEDs support package. - * - * This file contains definitions and services related to the LED features of - * the EVK1101 board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3B devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#include -#include "preprocessor.h" -#include "compiler.h" -#include "evk1101.h" -#include "led.h" - - -//! Structure describing LED hardware connections. -typedef const struct -{ - struct - { - U32 PORT; //!< LED GPIO port. - U32 PIN_MASK; //!< Bit-mask of LED pin in GPIO port. - } GPIO; //!< LED GPIO descriptor. - struct - { - S32 CHANNEL; //!< LED PWM channel (< 0 if N/A). - S32 FUNCTION; //!< LED pin PWM function (< 0 if N/A). - } PWM; //!< LED PWM descriptor. -} tLED_DESCRIPTOR; - - -//! Hardware descriptors of all LEDs. -static tLED_DESCRIPTOR LED_DESCRIPTOR[LED_COUNT] = -{ -#define INSERT_LED_DESCRIPTOR(LED_NO, unused) \ - { \ - {LED##LED_NO##_GPIO / 32, 1 << (LED##LED_NO##_GPIO % 32)},\ - {LED##LED_NO##_PWM, LED##LED_NO##_PWM_FUNCTION } \ - }, - MREPEAT(LED_COUNT, INSERT_LED_DESCRIPTOR, ~) -#undef INSERT_LED_DESCRIPTOR -}; - - -//! Saved state of all LEDs. -static volatile U32 LED_State = (1 << LED_COUNT) - 1; - - -U32 LED_Read_Display(void) -{ - return LED_State; -} - - -void LED_Display(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor; - volatile avr32_gpio_port_t *led_gpio_port; - - leds &= (1 << LED_COUNT) - 1; - LED_State = leds; - for (led_descriptor = &LED_DESCRIPTOR[0]; - led_descriptor < LED_DESCRIPTOR + LED_COUNT; - led_descriptor++) - { - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - if (leds & 1) - { - led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; - } - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= 1; - } -} - - -U32 LED_Read_Display_Mask(U32 mask) -{ - return Rd_bits(LED_State, mask); -} - - -void LED_Display_Mask(U32 mask, U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - mask &= (1 << LED_COUNT) - 1; - Wr_bits(LED_State, mask, leds); - while (mask) - { - led_shift = 1 + ctz(mask); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - leds >>= led_shift - 1; - if (leds & 1) - { - led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; - } - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= 1; - mask >>= led_shift; - } -} - - -Bool LED_Test(U32 leds) -{ - return Tst_bits(LED_State, leds); -} - - -void LED_Off(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - leds &= (1 << LED_COUNT) - 1; - Clr_bits(LED_State, leds); - while (leds) - { - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - led_gpio_port->ovrs = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= led_shift; - } -} - - -void LED_On(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - leds &= (1 << LED_COUNT) - 1; - Set_bits(LED_State, leds); - while (leds) - { - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - led_gpio_port->ovrc = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= led_shift; - } -} - - -void LED_Toggle(U32 leds) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - leds &= (1 << LED_COUNT) - 1; - Tgl_bits(LED_State, leds); - while (leds) - { - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - led_gpio_port->ovrt = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->oders = led_descriptor->GPIO.PIN_MASK; - led_gpio_port->gpers = led_descriptor->GPIO.PIN_MASK; - leds >>= led_shift; - } -} - - -U32 LED_Read_Display_Field(U32 field) -{ - return Rd_bitfield(LED_State, field); -} - - -void LED_Display_Field(U32 field, U32 leds) -{ - LED_Display_Mask(field, leds << ctz(field)); -} - - -U8 LED_Get_Intensity(U32 led) -{ - tLED_DESCRIPTOR *led_descriptor; - - // Check that the argument value is valid. - led = ctz(led); - led_descriptor = &LED_DESCRIPTOR[led]; - if (led >= LED_COUNT || led_descriptor->PWM.CHANNEL < 0) return 0; - - // Return the duty cycle value if the LED PWM channel is enabled, else 0. - return (AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL)) ? - AVR32_PWM.channel[led_descriptor->PWM.CHANNEL].cdty : 0; -} - - -void LED_Set_Intensity(U32 leds, U8 intensity) -{ - tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1; - volatile avr32_pwm_channel_t *led_pwm_channel; - volatile avr32_gpio_port_t *led_gpio_port; - U8 led_shift; - - // For each specified LED... - for (leds &= (1 << LED_COUNT) - 1; leds; leds >>= led_shift) - { - // Select the next specified LED and check that it has a PWM channel. - led_shift = 1 + ctz(leds); - led_descriptor += led_shift; - if (led_descriptor->PWM.CHANNEL < 0) continue; - - // Initialize or update the LED PWM channel. - led_pwm_channel = &AVR32_PWM.channel[led_descriptor->PWM.CHANNEL]; - if (!(AVR32_PWM.sr & (1 << led_descriptor->PWM.CHANNEL))) - { - led_pwm_channel->cmr = (AVR32_PWM_CPRE_MCK << AVR32_PWM_CPRE_OFFSET) & - ~(AVR32_PWM_CALG_MASK | - AVR32_PWM_CPOL_MASK | - AVR32_PWM_CPD_MASK); - led_pwm_channel->cprd = 0x000000FF; - led_pwm_channel->cdty = intensity; - AVR32_PWM.ena = 1 << led_descriptor->PWM.CHANNEL; - } - else - { - AVR32_PWM.isr; - while (!(AVR32_PWM.isr & (1 << led_descriptor->PWM.CHANNEL))); - led_pwm_channel->cupd = intensity; - } - - // Switch the LED pin to its PWM function. - led_gpio_port = &AVR32_GPIO.port[led_descriptor->GPIO.PORT]; - if (led_descriptor->PWM.FUNCTION & 0x1) - { - led_gpio_port->pmr0s = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->pmr0c = led_descriptor->GPIO.PIN_MASK; - } - if (led_descriptor->PWM.FUNCTION & 0x2) - { - led_gpio_port->pmr1s = led_descriptor->GPIO.PIN_MASK; - } - else - { - led_gpio_port->pmr1c = led_descriptor->GPIO.PIN_MASK; - } - led_gpio_port->gperc = led_descriptor->GPIO.PIN_MASK; - } -} diff --git a/Demo/AVR32_UC3/BOARDS/EVK1101/led.h b/Demo/AVR32_UC3/BOARDS/EVK1101/led.h deleted file mode 100644 index bf8948712..000000000 --- a/Demo/AVR32_UC3/BOARDS/EVK1101/led.h +++ /dev/null @@ -1,182 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief AT32UC3B EVK1101 board LEDs support package. - * - * This file contains definitions and services related to the LED features of - * the EVK1101 board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 AT32UC3B devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef _LED_H_ -#define _LED_H_ - -#include "compiler.h" - - -/*! \name Identifiers of LEDs to Use with LED Functions - */ -//! @{ -#define LED0 0x01 -#define LED1 0x02 -#define LED2 0x04 -#define LED3 0x08 -//! @} - - -/*! \brief Gets the last state of all LEDs set through the LED API. - * - * \return State of all LEDs (1 bit per LED). - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U32 LED_Read_Display(void); - -/*! \brief Sets the state of all LEDs. - * - * \param leds New state of all LEDs (1 bit per LED). - * - * \note The pins of all LEDs are set to GPIO output mode. - */ -extern void LED_Display(U32 leds); - -/*! \brief Gets the last state of the specified LEDs set through the LED API. - * - * \param mask LEDs of which to get the state (1 bit per LED). - * - * \return State of the specified LEDs (1 bit per LED). - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U32 LED_Read_Display_Mask(U32 mask); - -/*! \brief Sets the state of the specified LEDs. - * - * \param mask LEDs of which to set the state (1 bit per LED). - * - * \param leds New state of the specified LEDs (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Display_Mask(U32 mask, U32 leds); - -/*! \brief Tests the last state of the specified LEDs set through the LED API. - * - * \param leds LEDs of which to test the state (1 bit per LED). - * - * \return \c TRUE if at least one of the specified LEDs has a state on, else - * \c FALSE. - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern Bool LED_Test(U32 leds); - -/*! \brief Turns off the specified LEDs. - * - * \param leds LEDs to turn off (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Off(U32 leds); - -/*! \brief Turns on the specified LEDs. - * - * \param leds LEDs to turn on (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_On(U32 leds); - -/*! \brief Toggles the specified LEDs. - * - * \param leds LEDs to toggle (1 bit per LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Toggle(U32 leds); - -/*! \brief Gets as a bit-field the last state of the specified LEDs set through - * the LED API. - * - * \param field LEDs of which to get the state (1 bit per LED). - * - * \return State of the specified LEDs (1 bit per LED, beginning with the first - * specified LED). - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U32 LED_Read_Display_Field(U32 field); - -/*! \brief Sets as a bit-field the state of the specified LEDs. - * - * \param field LEDs of which to set the state (1 bit per LED). - * \param leds New state of the specified LEDs (1 bit per LED, beginning with - * the first specified LED). - * - * \note The pins of the specified LEDs are set to GPIO output mode. - */ -extern void LED_Display_Field(U32 field, U32 leds); - -/*! \brief Gets the intensity of the specified LED. - * - * \param led LED of which to get the intensity (1 bit per LED; only the least - * significant set bit is used). - * - * \return Intensity of the specified LED (0x00 to 0xFF). - * - * \warning The PWM channel of the specified LED is supposed to be used only by - * this module. - * - * \note The GPIO pin configuration of all LEDs is left unchanged. - */ -extern U8 LED_Get_Intensity(U32 led); - -/*! \brief Sets the intensity of the specified LEDs. - * - * \param leds LEDs of which to set the intensity (1 bit per LED). - * \param intensity New intensity of the specified LEDs (0x00 to 0xFF). - * - * \warning The PWM channels of the specified LEDs are supposed to be used only - * by this module. - * - * \note The pins of the specified LEDs are set to PWM output mode. - */ -extern void LED_Set_Intensity(U32 leds, U8 intensity); - - -#endif // _LED_H_ diff --git a/Demo/AVR32_UC3/BOARDS/board.h b/Demo/AVR32_UC3/BOARDS/board.h deleted file mode 100644 index 346165ef6..000000000 --- a/Demo/AVR32_UC3/BOARDS/board.h +++ /dev/null @@ -1,82 +0,0 @@ -/*This file is prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief Standard board header file. - * - * This file includes the appropriate board header file according to the - * defined board. - * - * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices: All AVR32 devices can be used. - * - AppNote: - * - * \author Atmel Corporation: http://www.atmel.com \n - * Support and FAQ: http://support.atmel.no/ - * - ******************************************************************************/ - -/* Copyright (c) 2007, Atmel Corporation All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of ATMEL may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND - * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef _BOARD_H_ -#define _BOARD_H_ - -#include - -/*! \name Base Boards - */ -//! @{ -#define EVK1100 1 //!< AT32UC3A EVK1100 board. -#define EVK1101 2 //!< AT32UC3B EVK1101 board. -//! @} - -/*! \name Extension Boards - */ -//! @{ -#define EXT1102 1 //!< AT32UC3B EXT1102 board. -//! @} - -#if BOARD == EVK1100 -# include "EVK1100/evk1100.h" -#elif BOARD == EVK1101 -# include "EVK1101/evk1101.h" -#else -# error No known AVR32 board defined -#endif - -#if EXT_BOARD == EXT1102 -# include "EXT1102/ext1102.h" -#endif - - -#ifndef FRCOSC -# define FRCOSC AVR32_PM_RCOSC_FREQUENCY //!< Default RCOsc frequency. -#endif - - -#endif // _BOARD_H_ -- 2.39.5