TI's CC3100 websocket camera demo with Arducam mini ov5642 and freertos. Should work with other M3's. Work in progress test demo.

Dependencies:   mbed

utils/Led_config.cpp

Committer:
dflet
Date:
2015-09-11
Revision:
1:e448e81c416f
Parent:
0:400d8e75a8d0

File content as of revision 1:e448e81c416f:

#include "mbed.h"
#include "Led_config.h"

DigitalOut GPIO_LED3(LED3);
DigitalOut GPIO_LED2(LED2);
DigitalOut GPIO_LED1(LED1);

//*****************************************************************************
//
//! Turn LED On
//!
//! \param  ledNum is the LED Number
//!
//! \return none
//!
//! \brief  Turns a specific LED On
//
//*****************************************************************************
void
GPIO_IF_LedOn(char ledNum)
{
    switch(ledNum)
    {
        case MCU_ON_IND:
        case MCU_EXECUTE_SUCCESS_IND:
        case MCU_GREEN_LED_GPIO:
        {
          /* Switch ON GREEN LED */
          GPIO_LED3 = 1;
          break;
        }
        case MCU_SENDING_DATA_IND:
        case MCU_EXECUTE_FAIL_IND:
        case MCU_ORANGE_LED_GPIO:
        {
          /* Switch ON ORANGE LED */
          GPIO_LED2 = 1;
          break;
        }
        case MCU_ASSOCIATED_IND:
        case MCU_IP_ALLOC_IND:
        case MCU_SERVER_INIT_IND:
        case MCU_CLIENT_CONNECTED_IND:
        case MCU_RED_LED_GPIO:
        {
          /* Switch ON RED LED */
          GPIO_LED1 = 1;
          break;
        }
        case MCU_ALL_LED_IND:
        {
          /* Switch ON ALL LEDs LED */
          GPIO_LED1 = 1;
          GPIO_LED2 = 1;
          GPIO_LED3 = 1;
          break;
        }
        default:
          break;
    }
}

//*****************************************************************************
//
//! Turn LED Off
//!
//! \param  ledNum is the LED Number
//!
//! \return none
//!
//! \brief  Turns a specific LED Off
//
//*****************************************************************************
void
GPIO_IF_LedOff(char ledNum)
{
  switch(ledNum)
  {
    case MCU_ON_IND:
    case MCU_EXECUTE_SUCCESS_IND:
    case MCU_GREEN_LED_GPIO:
    {
      /* Switch OFF GREEN LED */
      GPIO_LED3 = 0;
      break;
    }
    case MCU_SENDING_DATA_IND:
    case MCU_EXECUTE_FAIL_IND:
    case MCU_ORANGE_LED_GPIO:
    {
      /* Switch OFF ORANGE LED */
      GPIO_LED2 = 0;
      break;
    }
    case MCU_ASSOCIATED_IND:
    case MCU_IP_ALLOC_IND:
    case MCU_SERVER_INIT_IND:
    case MCU_CLIENT_CONNECTED_IND:
    case MCU_RED_LED_GPIO:
    {
      /* Switch OFF RED LED */
      GPIO_LED1 = 0;
      break;
    }
    case MCU_ALL_LED_IND:
    {
      /* Switch OFF ALL LEDs LED */
      GPIO_LED3 = 0;
      GPIO_LED2 = 0;
      GPIO_LED1 = 0;
      break;
    }
    default:
      break;
  }
}

//*****************************************************************************
//
//!  \brief This function returns LED current Status
//!
//!  \param[in] ucGPIONum is the GPIO to which the LED is connected
//!                MCU_GREEN_LED_GPIO\MCU_ORANGE_LED_GPIO\MCU_RED_LED_GPIO
//!
//!
//!  \return 1: LED ON, 0: LED OFF
//
//*****************************************************************************
unsigned char
GPIO_IF_LedStatus(unsigned char ucGPIONum)
{
  unsigned char ucLEDStatus;
  switch(ucGPIONum)
  {
    case MCU_GREEN_LED_GPIO:
    {
      if(GPIO_LED3.read()){
         ucLEDStatus = 1;
      }else{
         ucLEDStatus = 0;
      }   
      break;
    }
    case MCU_ORANGE_LED_GPIO:
    {
      if(GPIO_LED2.read()){
         ucLEDStatus = 1;
      }else{
         ucLEDStatus = 0;
      }   
      break;
    }
    case MCU_RED_LED_GPIO:
    {
      if(GPIO_LED1.read()){
         ucLEDStatus = 1;
      }else{
         ucLEDStatus = 0;
      }   
      break;
    }
    default:
        ucLEDStatus = 0;
  }
  return ucLEDStatus;
}

//*****************************************************************************
//
//! Toggle the Led state
//!
//! \param  ledNum is the LED Number
//!
//! \return none
//!
//! \brief  Toggles a board LED
//
//*****************************************************************************
void GPIO_IF_LedToggle(unsigned char ucLedNum)
{

    unsigned char ucLEDStatus = GPIO_IF_LedStatus(ucLedNum);
    if(ucLEDStatus == 1)
    {
        GPIO_IF_LedOff(ucLedNum);
    }
    else
    {
        GPIO_IF_LedOn(ucLedNum);
    }
}