aboutsummaryrefslogtreecommitdiff
path: root/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO
diff options
context:
space:
mode:
authorDavid Madison <dmadison@users.noreply.github.com>2019-02-15 13:00:46 -0500
committerGitHub <noreply@github.com>2019-02-15 13:00:46 -0500
commit7d65dd08142eda767eb822bf2d92c3a1bd9f8b8f (patch)
tree5609dee433e7d089e6c4f974fa1d870b4068d613 /firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO
parent2663be17272e19f00c55f3f2d8f1ebfac47158d6 (diff)
parent91e267bcc42442d4e9da09aab30065ad5d44025a (diff)
Merge pull request #1 from dmadison/forking
Forking
Diffstat (limited to 'firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO')
-rw-r--r--firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h237
-rw-r--r--firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c346
-rw-r--r--firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h191
3 files changed, 0 insertions, 774 deletions
diff --git a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h b/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h
deleted file mode 100644
index e687723..0000000
--- a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/arduino.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.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. B and C.
- *
- * To use this board, define BOARD=EVK1100.
- *
- * - 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 _ARDUINO_H_
-#define _ARDUINO_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.
-
-//! @}
-
-
-//! Number of LEDs.
-#define LED_COUNT 0
-
-/*! \name GPIO Connections of LEDs
- */
-//! @{
-#define LED0_GPIO AVR32_PIN_PB19
-#define LED1_GPIO AVR32_PIN_PB20
-#define LED2_GPIO AVR32_PIN_PB21
-#define DEB_PIN_GPIO AVR32_PIN_PA20
-#define DEB2_PIN_GPIO AVR32_PIN_PB00
-//! @}
-
-/*! \name PWM Channels of LEDs
- */
-//! @{
-#define LED0_PWM 0
-#define LED1_PWM 1
-#define LED2_PWM 2
-//! @}
-
-/*! \name PWM Functions of LEDs
- */
-//! @{
-#define LED0_PWM_FUNCTION AVR32_PWM_0_FUNCTION
-#define LED1_PWM_FUNCTION AVR32_PWM_1_FUNCTION
-#define LED2_PWM_FUNCTION AVR32_PWM_2_FUNCTION
-//! @}
-
-/*! \name Color Identifiers of LEDs to Use with LED Functions
- */
-//! @{
-#define LED_MONO0_GREEN LED0
-#define LED_MONO1_RED LED1
-#define LED_MONO2_BLU LED2
-//! @}
-
-#if 0
-/*! \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
-//! @}
-#endif
-
-/*! \name SPI Connections of the AT45DBX Data Flash Memory
- */
-//! @{
-#define AT45DBX_SPI (&AVR32_SPI1)
-#define AT45DBX_SPI_NPCS 2
-#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_NPCS2_PIN AVR32_SPI1_NPCS_2_0_PIN
-#define AT45DBX_SPI_NPCS2_FUNCTION AVR32_SPI1_NPCS_2_0_FUNCTION
-#define AT45DBX_CHIP_RESET AVR32_PIN_PA02
-//! @}
-
-
-/*! \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
-//! @}
-
-/* Timer Counter to generate clock for WiFi chip*/
-# define WIFI_TC (&AVR32_TC)
-# define WIFI_TC_CHANNEL_ID 0
-# define WIFI_TC_CHANNEL_PIN AVR32_TC_A0_0_0_PIN
-# define WIFI_TC_CHANNEL_FUNCTION AVR32_TC_A0_0_0_FUNCTION
-// Note that TC_A0_0_0 pin is pin 6 (PB23) on AT32UC3A1512 QFP100.
-
-/* Pin related to WiFi chip communication */
-#ifndef USE_POLL
- #define USE_POLL
-#endif
- #define SPI_CS 0
- #define AVR32_SPI AVR32_SPI1
- #define GPIO_IRQ_PIN AVR32_PIN_PA03
- #define GPIO_IRQ AVR32_GPIO_IRQ_7
- #define GPIO_W_RESET_PIN AVR32_PIN_PA07
- #define GPIO_W_SHUTDOWN_PIN AVR32_PIN_PA09
-
-/* Pin related to shield communication */
- #define ARDUINO_HANDSHAKE_PIN AVR32_PIN_PA25
- #define ARDUINO_EXTINT_PIN AVR32_PIN_PA04 //not used
-
- #define AVR32_PDCA_PID_TX AVR32_PDCA_PID_SPI1_TX
- #define AVR32_PDCA_PID_RX AVR32_PDCA_PID_SPI1_RX
-
-
-#if 0
-/*! \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
-
-#endif // _ARDUINO_H_
diff --git a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c b/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c
deleted file mode 100644
index d7cd439..0000000
--- a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/* This source file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */
-
-/*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) 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
- *
- */
-
-#include <avr32/io.h>
-#include "preprocessor.h"
-#include "compiler.h"
-#include "arduino.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)
-{
- // Use the LED descriptors to get the connections of a given LED to the MCU.
- tLED_DESCRIPTOR *led_descriptor;
- volatile avr32_gpio_port_t *led_gpio_port;
-
- // Make sure only existing LEDs are specified.
- leds &= (1 << LED_COUNT) - 1;
-
- // Update the saved state of all LEDs with the requested changes.
- LED_State = leds;
-
- // For all LEDs...
- for (led_descriptor = &LED_DESCRIPTOR[0];
- led_descriptor < LED_DESCRIPTOR + LED_COUNT;
- led_descriptor++)
- {
- // Set the LED to the requested state.
- 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)
-{
- // Use the LED descriptors to get the connections of a given LED to the MCU.
- tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1;
- volatile avr32_gpio_port_t *led_gpio_port;
- U8 led_shift;
-
- // Make sure only existing LEDs are specified.
- mask &= (1 << LED_COUNT) - 1;
-
- // Update the saved state of all LEDs with the requested changes.
- Wr_bits(LED_State, mask, leds);
-
- // While there are specified LEDs left to manage...
- while (mask)
- {
- // Select the next specified LED and set it to the requested state.
- 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)
-{
- // Use the LED descriptors to get the connections of a given LED to the MCU.
- tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1;
- volatile avr32_gpio_port_t *led_gpio_port;
- U8 led_shift;
-
- // Make sure only existing LEDs are specified.
- leds &= (1 << LED_COUNT) - 1;
-
- // Update the saved state of all LEDs with the requested changes.
- Clr_bits(LED_State, leds);
-
- // While there are specified LEDs left to manage...
- while (leds)
- {
- // Select the next specified LED and turn it off.
- 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)
-{
- // Use the LED descriptors to get the connections of a given LED to the MCU.
- tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1;
- volatile avr32_gpio_port_t *led_gpio_port;
- U8 led_shift;
-
- // Make sure only existing LEDs are specified.
- leds &= (1 << LED_COUNT) - 1;
-
- // Update the saved state of all LEDs with the requested changes.
- Set_bits(LED_State, leds);
-
- // While there are specified LEDs left to manage...
- while (leds)
- {
- // Select the next specified LED and turn it on.
- 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)
-{
- // Use the LED descriptors to get the connections of a given LED to the MCU.
- tLED_DESCRIPTOR *led_descriptor = &LED_DESCRIPTOR[0] - 1;
- volatile avr32_gpio_port_t *led_gpio_port;
- U8 led_shift;
-
- // Make sure only existing LEDs are specified.
- leds &= (1 << LED_COUNT) - 1;
-
- // Update the saved state of all LEDs with the requested changes.
- Tgl_bits(LED_State, leds);
-
- // While there are specified LEDs left to manage...
- while (leds)
- {
- // Select the next specified LED and toggle it.
- 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)
-{
- // Move the bit-field to the appropriate position for the bit-mask.
- 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/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h b/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h
deleted file mode 100644
index a577124..0000000
--- a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/BOARDS/ARDUINO/led.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */
-
-/*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) 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 _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_