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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Led_config.cpp Source File

Led_config.cpp

00001 #include "mbed.h"
00002 #include "Led_config.h"
00003 
00004 DigitalOut GPIO_LED3(LED3);
00005 DigitalOut GPIO_LED2(LED2);
00006 DigitalOut GPIO_LED1(LED1);
00007 
00008 //*****************************************************************************
00009 //
00010 //! Turn LED On
00011 //!
00012 //! \param  ledNum is the LED Number
00013 //!
00014 //! \return none
00015 //!
00016 //! \brief  Turns a specific LED On
00017 //
00018 //*****************************************************************************
00019 void
00020 GPIO_IF_LedOn(char ledNum)
00021 {
00022     switch(ledNum)
00023     {
00024         case MCU_ON_IND:
00025         case MCU_EXECUTE_SUCCESS_IND:
00026         case MCU_GREEN_LED_GPIO:
00027         {
00028           /* Switch ON GREEN LED */
00029           GPIO_LED3 = 1;
00030           break;
00031         }
00032         case MCU_SENDING_DATA_IND:
00033         case MCU_EXECUTE_FAIL_IND:
00034         case MCU_ORANGE_LED_GPIO:
00035         {
00036           /* Switch ON ORANGE LED */
00037           GPIO_LED2 = 1;
00038           break;
00039         }
00040         case MCU_ASSOCIATED_IND:
00041         case MCU_IP_ALLOC_IND:
00042         case MCU_SERVER_INIT_IND:
00043         case MCU_CLIENT_CONNECTED_IND:
00044         case MCU_RED_LED_GPIO:
00045         {
00046           /* Switch ON RED LED */
00047           GPIO_LED1 = 1;
00048           break;
00049         }
00050         case MCU_ALL_LED_IND:
00051         {
00052           /* Switch ON ALL LEDs LED */
00053           GPIO_LED1 = 1;
00054           GPIO_LED2 = 1;
00055           GPIO_LED3 = 1;
00056           break;
00057         }
00058         default:
00059           break;
00060     }
00061 }
00062 
00063 //*****************************************************************************
00064 //
00065 //! Turn LED Off
00066 //!
00067 //! \param  ledNum is the LED Number
00068 //!
00069 //! \return none
00070 //!
00071 //! \brief  Turns a specific LED Off
00072 //
00073 //*****************************************************************************
00074 void
00075 GPIO_IF_LedOff(char ledNum)
00076 {
00077   switch(ledNum)
00078   {
00079     case MCU_ON_IND:
00080     case MCU_EXECUTE_SUCCESS_IND:
00081     case MCU_GREEN_LED_GPIO:
00082     {
00083       /* Switch OFF GREEN LED */
00084       GPIO_LED3 = 0;
00085       break;
00086     }
00087     case MCU_SENDING_DATA_IND:
00088     case MCU_EXECUTE_FAIL_IND:
00089     case MCU_ORANGE_LED_GPIO:
00090     {
00091       /* Switch OFF ORANGE LED */
00092       GPIO_LED2 = 0;
00093       break;
00094     }
00095     case MCU_ASSOCIATED_IND:
00096     case MCU_IP_ALLOC_IND:
00097     case MCU_SERVER_INIT_IND:
00098     case MCU_CLIENT_CONNECTED_IND:
00099     case MCU_RED_LED_GPIO:
00100     {
00101       /* Switch OFF RED LED */
00102       GPIO_LED1 = 0;
00103       break;
00104     }
00105     case MCU_ALL_LED_IND:
00106     {
00107       /* Switch OFF ALL LEDs LED */
00108       GPIO_LED3 = 0;
00109       GPIO_LED2 = 0;
00110       GPIO_LED1 = 0;
00111       break;
00112     }
00113     default:
00114       break;
00115   }
00116 }
00117 
00118 //*****************************************************************************
00119 //
00120 //!  \brief This function returns LED current Status
00121 //!
00122 //!  \param[in] ucGPIONum is the GPIO to which the LED is connected
00123 //!                MCU_GREEN_LED_GPIO\MCU_ORANGE_LED_GPIO\MCU_RED_LED_GPIO
00124 //!
00125 //!
00126 //!  \return 1: LED ON, 0: LED OFF
00127 //
00128 //*****************************************************************************
00129 unsigned char
00130 GPIO_IF_LedStatus(unsigned char ucGPIONum)
00131 {
00132   unsigned char ucLEDStatus;
00133   switch(ucGPIONum)
00134   {
00135     case MCU_GREEN_LED_GPIO:
00136     {
00137       if(GPIO_LED3.read()){
00138          ucLEDStatus = 1;
00139       }else{
00140          ucLEDStatus = 0;
00141       }   
00142       break;
00143     }
00144     case MCU_ORANGE_LED_GPIO:
00145     {
00146       if(GPIO_LED2.read()){
00147          ucLEDStatus = 1;
00148       }else{
00149          ucLEDStatus = 0;
00150       }   
00151       break;
00152     }
00153     case MCU_RED_LED_GPIO:
00154     {
00155       if(GPIO_LED1.read()){
00156          ucLEDStatus = 1;
00157       }else{
00158          ucLEDStatus = 0;
00159       }   
00160       break;
00161     }
00162     default:
00163         ucLEDStatus = 0;
00164   }
00165   return ucLEDStatus;
00166 }
00167 
00168 //*****************************************************************************
00169 //
00170 //! Toggle the Led state
00171 //!
00172 //! \param  ledNum is the LED Number
00173 //!
00174 //! \return none
00175 //!
00176 //! \brief  Toggles a board LED
00177 //
00178 //*****************************************************************************
00179 void GPIO_IF_LedToggle(unsigned char ucLedNum)
00180 {
00181 
00182     unsigned char ucLEDStatus = GPIO_IF_LedStatus(ucLedNum);
00183     if(ucLEDStatus == 1)
00184     {
00185         GPIO_IF_LedOff(ucLedNum);
00186     }
00187     else
00188     {
00189         GPIO_IF_LedOn(ucLedNum);
00190     }
00191 }
00192