diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2012-11-07 23:31:05 +0200 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2012-11-07 23:31:05 +0200 |
| commit | 6cff82a4bc7ed9fcc7e9ad73a4542d5b1e7c1328 (patch) | |
| tree | a61ddf74a2006a3924becc22c586e1e4073a8645 /drivers/rgb.c | |
| parent | 3a282de9331ea261eeadca0dd36c0527f173dd4c (diff) | |
Revert "Move RGB and button drivers 2 dirs up"
This reverts commit 3a282de9331ea261eeadca0dd36c0527f173dd4c.
Diffstat (limited to 'drivers/rgb.c')
| -rw-r--r-- | drivers/rgb.c | 298 |
1 files changed, 0 insertions, 298 deletions
diff --git a/drivers/rgb.c b/drivers/rgb.c deleted file mode 100644 index f3107f2..0000000 --- a/drivers/rgb.c +++ /dev/null @@ -1,298 +0,0 @@ -//*****************************************************************************
-//
-// rgb.c - Evaluation board driver for RGB LED.
-//
-// Copyright (c) 2012 Texas Instruments Incorporated. All rights reserved.
-// Software License Agreement
-//
-// Texas Instruments (TI) is supplying this software for use solely and
-// exclusively on TI's microcontroller products. The software is owned by
-// TI and/or its suppliers, and is protected under applicable copyright
-// laws. You may not combine this software with "viral" open-source
-// software in order to form a larger program.
-//
-// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
-// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
-// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
-// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
-// DAMAGES, FOR ANY REASON WHATSOEVER.
-//
-// This is part of revision 9453 of the EK-LM4F120XL Firmware Package.
-//
-//*****************************************************************************
-
-#include "inc/hw_types.h"
-#include "inc/hw_memmap.h"
-#include "inc/hw_timer.h"
-#include "driverlib/sysctl.h"
-#include "driverlib/rom.h"
-#include "driverlib/pin_map.h"
-#include "driverlib/timer.h"
-#include "driverlib/gpio.h"
-#include "rgb.h"
-
-//*****************************************************************************
-//
-//! \addtogroup rgb_api
-//! @{
-//
-//*****************************************************************************
-
-//*****************************************************************************
-//
-// This is a custom driver that allows the easy manipulation of the RGB LED.
-//
-// The driver uses the general purpose timers to govern the brightness of the
-// LED through simple PWM output mode of the GP Timers.
-//
-// A global array contains the current relative color of each of the three
-// LEDs. A global float variable controls intensity of the overall mixed color.
-//
-//*****************************************************************************
-static unsigned long g_ulColors[3];
-static float g_fIntensity = 0.3f;
-
-//*****************************************************************************
-//
-//! Initializes the Timer and GPIO functionality associated with the RGB LED
-//!
-//! \param ulEnable enables RGB immediately if set.
-//!
-//! This function must be called during application initialization to
-//! configure the GPIO pins to which the LEDs are attached. It enables
-//! the port used by the LEDs and configures each color's Timer. It optionally
-//! enables the RGB LED by configuring the GPIO pins and starting the timers.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBInit(unsigned long ulEnable)
-{
- //
- // Enable the GPIO Port and Timer for each LED
- //
- SysCtlPeripheralEnable(RED_GPIO_PERIPH);
- SysCtlPeripheralEnable(RED_TIMER_PERIPH);
-
- SysCtlPeripheralEnable(GREEN_GPIO_PERIPH);
- SysCtlPeripheralEnable(GREEN_TIMER_PERIPH);
-
- SysCtlPeripheralEnable(BLUE_GPIO_PERIPH);
- SysCtlPeripheralEnable(BLUE_TIMER_PERIPH);
-
- //
- // Configure each timer for output mode
- //
- HWREG(GREEN_TIMER_BASE + TIMER_O_CFG) = 0x04;
- HWREG(GREEN_TIMER_BASE + TIMER_O_TAMR) = 0x0A;
- HWREG(GREEN_TIMER_BASE + TIMER_O_TAILR) = 0xFFFF;
-
- HWREG(BLUE_TIMER_BASE + TIMER_O_CFG) = 0x04;
- HWREG(BLUE_TIMER_BASE + TIMER_O_TBMR) = 0x0A;
- HWREG(BLUE_TIMER_BASE + TIMER_O_TBILR) = 0xFFFF;
-
- HWREG(RED_TIMER_BASE + TIMER_O_CFG) = 0x04;
- HWREG(RED_TIMER_BASE + TIMER_O_TBMR) = 0x0A;
- HWREG(RED_TIMER_BASE + TIMER_O_TBILR) = 0xFFFF;
-
- //
- // Invert the output signals.
- //
- HWREG(RED_TIMER_BASE + TIMER_O_CTL) |= 0x4000;
- HWREG(GREEN_TIMER_BASE + TIMER_O_CTL) |= 0x40;
- HWREG(BLUE_TIMER_BASE + TIMER_O_CTL) |= 0x4000;
-
- if(ulEnable)
- {
- RGBEnable();
- }
-}
-
-//*****************************************************************************
-//
-//! Enable the RGB LED with already configured timer settings
-//!
-//! This function or RGBDisable should be called during application
-//! initialization to configure the GPIO pins to which the LEDs are attached.
-//! This function enables the timers and configures the GPIO pins as timer
-//! outputs.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBEnable(void)
-{
- //
- // Enable timers to begin counting
- //
- TimerEnable(RED_TIMER_BASE, TIMER_BOTH);
- TimerEnable(GREEN_TIMER_BASE, TIMER_BOTH);
- TimerEnable(BLUE_TIMER_BASE, TIMER_BOTH);
-
- //
- // Reconfigure each LED's GPIO pad for timer control
- //
- GPIOPinConfigure(GREEN_GPIO_PIN_CFG);
- GPIOPinTypeTimer(GREEN_GPIO_BASE, GREEN_GPIO_PIN);
- GPIOPadConfigSet(GREEN_GPIO_BASE, GREEN_GPIO_PIN, GPIO_STRENGTH_8MA_SC,
- GPIO_PIN_TYPE_STD);
-
- GPIOPinConfigure(BLUE_GPIO_PIN_CFG);
- GPIOPinTypeTimer(BLUE_GPIO_BASE, BLUE_GPIO_PIN);
- GPIOPadConfigSet(BLUE_GPIO_BASE, BLUE_GPIO_PIN, GPIO_STRENGTH_8MA_SC,
- GPIO_PIN_TYPE_STD);
-
- GPIOPinConfigure(RED_GPIO_PIN_CFG);
- GPIOPinTypeTimer(RED_GPIO_BASE, RED_GPIO_PIN);
- GPIOPadConfigSet(RED_GPIO_BASE, RED_GPIO_PIN, GPIO_STRENGTH_8MA_SC,
- GPIO_PIN_TYPE_STD);
-}
-
-//*****************************************************************************
-//
-//! Disable the RGB LED by configuring the GPIO's as inputs.
-//!
-//! This function or RGBEnable should be called during application
-//! initialization to configure the GPIO pins to which the LEDs are attached.
-//! This function disables the timers and configures the GPIO pins as inputs
-//! for minimum current draw.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBDisable(void)
-{
- //
- // Configure the GPIO pads as general purpose inputs.
- //
- GPIOPinTypeGPIOInput(RED_GPIO_BASE, RED_GPIO_PIN);
- GPIOPinTypeGPIOInput(GREEN_GPIO_BASE, GREEN_GPIO_PIN);
- GPIOPinTypeGPIOInput(BLUE_GPIO_BASE, BLUE_GPIO_PIN);
-
- //
- // Stop the timer counting.
- //
- TimerDisable(RED_TIMER_BASE, TIMER_BOTH);
- TimerDisable(GREEN_TIMER_BASE, TIMER_BOTH);
- TimerDisable(BLUE_TIMER_BASE, TIMER_BOTH);
-}
-
-//*****************************************************************************
-//
-//! Set the output color and intensity.
-//!
-//! \param pulRGBColor points to a three element array representing the
-//! relative intensity of each color. Red is element 0, Green is element 1,
-//! Blue is element 2. 0x0000 is off. 0xFFFF is fully on.
-//!
-//! \param fIntensity is used to scale the intensity of all three colors by
-//! the same amount. fIntensity should be between 0.0 and 1.0. This scale
-//! factor is applied to all three colors.
-//!
-//! This function should be called by the application to set the color and
-//! intensity of the RGB LED.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBSet(volatile unsigned long * pulRGBColor, float fIntensity)
-{
- RGBColorSet(pulRGBColor);
- RGBIntensitySet(fIntensity);
-}
-
-//*****************************************************************************
-//
-//! Set the output color.
-//!
-//! \param pulRGBColor points to a three element array representing the
-//! relative intensity of each color. Red is element 0, Green is element 1,
-//! Blue is element 2. 0x0000 is off. 0xFFFF is fully on.
-//!
-//! This function should be called by the application to set the color
-//! of the RGB LED.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBColorSet(volatile unsigned long * pulRGBColor)
-{
- unsigned long ulColor[3];
- unsigned long ulIndex;
-
- for(ulIndex=0; ulIndex < 3; ulIndex++)
- {
- g_ulColors[ulIndex] = pulRGBColor[ulIndex];
- ulColor[ulIndex] = (unsigned long) (((float) pulRGBColor[ulIndex]) *
- g_fIntensity + 0.5f);
-
- if(ulColor[ulIndex] > 0xFFFF)
- {
- ulColor[ulIndex] = 0xFFFF;
- }
- }
-
- TimerMatchSet(RED_TIMER_BASE, RED_TIMER, ulColor[RED]);
- TimerMatchSet(GREEN_TIMER_BASE, GREEN_TIMER, ulColor[GREEN]);
- TimerMatchSet(BLUE_TIMER_BASE, BLUE_TIMER, ulColor[BLUE]);
-}
-
-//*****************************************************************************
-//
-//! Set the current output intensity.
-//!
-//! \param fIntensity is used to scale the intensity of all three colors by
-//! the same amount. fIntensity should be between 0.0 and 1.0. This scale
-//! factor is applied individually to all three colors.
-//!
-//! This function should be called by the application to set the intensity
-//! of the RGB LED.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBIntensitySet(float fIntensity)
-{
- g_fIntensity = fIntensity;
- RGBColorSet(g_ulColors);
-}
-
-//*****************************************************************************
-//
-//! Get the output color.
-//!
-//! \param pulRGBColor points to a three element array representing the
-//! relative intensity of each color. Red is element 0, Green is element 1,
-//! Blue is element 2. 0x0000 is off. 0xFFFF is fully on. Caller must allocate
-//! and pass a pointer to a three element array of unsigned longs.
-//!
-//! This function should be called by the application to get the current color
-//! of the RGB LED.
-//!
-//! \return None.
-//
-//*****************************************************************************
-void
-RGBColorGet(unsigned long * pulRGBColor)
-{
- unsigned long ulIndex;
-
- for(ulIndex=0; ulIndex < 3; ulIndex++)
- {
- pulRGBColor[ulIndex] = g_ulColors[ulIndex];
- }
-}
-
-//*****************************************************************************
-//
-// Close the Doxygen group.
-//! @}
-//
-//*****************************************************************************
|
