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

Committer:
dflet
Date:
Fri Sep 11 15:38:33 2015 +0000
Revision:
1:e448e81c416f
Parent:
0:400d8e75a8d0
Removed some debud.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:400d8e75a8d0 1 #include "mbed.h"
dflet 0:400d8e75a8d0 2 #include "Led_config.h"
dflet 0:400d8e75a8d0 3
dflet 0:400d8e75a8d0 4 DigitalOut GPIO_LED3(LED3);
dflet 0:400d8e75a8d0 5 DigitalOut GPIO_LED2(LED2);
dflet 0:400d8e75a8d0 6 DigitalOut GPIO_LED1(LED1);
dflet 0:400d8e75a8d0 7
dflet 0:400d8e75a8d0 8 //*****************************************************************************
dflet 0:400d8e75a8d0 9 //
dflet 0:400d8e75a8d0 10 //! Turn LED On
dflet 0:400d8e75a8d0 11 //!
dflet 0:400d8e75a8d0 12 //! \param ledNum is the LED Number
dflet 0:400d8e75a8d0 13 //!
dflet 0:400d8e75a8d0 14 //! \return none
dflet 0:400d8e75a8d0 15 //!
dflet 0:400d8e75a8d0 16 //! \brief Turns a specific LED On
dflet 0:400d8e75a8d0 17 //
dflet 0:400d8e75a8d0 18 //*****************************************************************************
dflet 0:400d8e75a8d0 19 void
dflet 0:400d8e75a8d0 20 GPIO_IF_LedOn(char ledNum)
dflet 0:400d8e75a8d0 21 {
dflet 0:400d8e75a8d0 22 switch(ledNum)
dflet 0:400d8e75a8d0 23 {
dflet 0:400d8e75a8d0 24 case MCU_ON_IND:
dflet 0:400d8e75a8d0 25 case MCU_EXECUTE_SUCCESS_IND:
dflet 0:400d8e75a8d0 26 case MCU_GREEN_LED_GPIO:
dflet 0:400d8e75a8d0 27 {
dflet 0:400d8e75a8d0 28 /* Switch ON GREEN LED */
dflet 0:400d8e75a8d0 29 GPIO_LED3 = 1;
dflet 0:400d8e75a8d0 30 break;
dflet 0:400d8e75a8d0 31 }
dflet 0:400d8e75a8d0 32 case MCU_SENDING_DATA_IND:
dflet 0:400d8e75a8d0 33 case MCU_EXECUTE_FAIL_IND:
dflet 0:400d8e75a8d0 34 case MCU_ORANGE_LED_GPIO:
dflet 0:400d8e75a8d0 35 {
dflet 0:400d8e75a8d0 36 /* Switch ON ORANGE LED */
dflet 0:400d8e75a8d0 37 GPIO_LED2 = 1;
dflet 0:400d8e75a8d0 38 break;
dflet 0:400d8e75a8d0 39 }
dflet 0:400d8e75a8d0 40 case MCU_ASSOCIATED_IND:
dflet 0:400d8e75a8d0 41 case MCU_IP_ALLOC_IND:
dflet 0:400d8e75a8d0 42 case MCU_SERVER_INIT_IND:
dflet 0:400d8e75a8d0 43 case MCU_CLIENT_CONNECTED_IND:
dflet 0:400d8e75a8d0 44 case MCU_RED_LED_GPIO:
dflet 0:400d8e75a8d0 45 {
dflet 0:400d8e75a8d0 46 /* Switch ON RED LED */
dflet 0:400d8e75a8d0 47 GPIO_LED1 = 1;
dflet 0:400d8e75a8d0 48 break;
dflet 0:400d8e75a8d0 49 }
dflet 0:400d8e75a8d0 50 case MCU_ALL_LED_IND:
dflet 0:400d8e75a8d0 51 {
dflet 0:400d8e75a8d0 52 /* Switch ON ALL LEDs LED */
dflet 0:400d8e75a8d0 53 GPIO_LED1 = 1;
dflet 0:400d8e75a8d0 54 GPIO_LED2 = 1;
dflet 0:400d8e75a8d0 55 GPIO_LED3 = 1;
dflet 0:400d8e75a8d0 56 break;
dflet 0:400d8e75a8d0 57 }
dflet 0:400d8e75a8d0 58 default:
dflet 0:400d8e75a8d0 59 break;
dflet 0:400d8e75a8d0 60 }
dflet 0:400d8e75a8d0 61 }
dflet 0:400d8e75a8d0 62
dflet 0:400d8e75a8d0 63 //*****************************************************************************
dflet 0:400d8e75a8d0 64 //
dflet 0:400d8e75a8d0 65 //! Turn LED Off
dflet 0:400d8e75a8d0 66 //!
dflet 0:400d8e75a8d0 67 //! \param ledNum is the LED Number
dflet 0:400d8e75a8d0 68 //!
dflet 0:400d8e75a8d0 69 //! \return none
dflet 0:400d8e75a8d0 70 //!
dflet 0:400d8e75a8d0 71 //! \brief Turns a specific LED Off
dflet 0:400d8e75a8d0 72 //
dflet 0:400d8e75a8d0 73 //*****************************************************************************
dflet 0:400d8e75a8d0 74 void
dflet 0:400d8e75a8d0 75 GPIO_IF_LedOff(char ledNum)
dflet 0:400d8e75a8d0 76 {
dflet 0:400d8e75a8d0 77 switch(ledNum)
dflet 0:400d8e75a8d0 78 {
dflet 0:400d8e75a8d0 79 case MCU_ON_IND:
dflet 0:400d8e75a8d0 80 case MCU_EXECUTE_SUCCESS_IND:
dflet 0:400d8e75a8d0 81 case MCU_GREEN_LED_GPIO:
dflet 0:400d8e75a8d0 82 {
dflet 0:400d8e75a8d0 83 /* Switch OFF GREEN LED */
dflet 0:400d8e75a8d0 84 GPIO_LED3 = 0;
dflet 0:400d8e75a8d0 85 break;
dflet 0:400d8e75a8d0 86 }
dflet 0:400d8e75a8d0 87 case MCU_SENDING_DATA_IND:
dflet 0:400d8e75a8d0 88 case MCU_EXECUTE_FAIL_IND:
dflet 0:400d8e75a8d0 89 case MCU_ORANGE_LED_GPIO:
dflet 0:400d8e75a8d0 90 {
dflet 0:400d8e75a8d0 91 /* Switch OFF ORANGE LED */
dflet 0:400d8e75a8d0 92 GPIO_LED2 = 0;
dflet 0:400d8e75a8d0 93 break;
dflet 0:400d8e75a8d0 94 }
dflet 0:400d8e75a8d0 95 case MCU_ASSOCIATED_IND:
dflet 0:400d8e75a8d0 96 case MCU_IP_ALLOC_IND:
dflet 0:400d8e75a8d0 97 case MCU_SERVER_INIT_IND:
dflet 0:400d8e75a8d0 98 case MCU_CLIENT_CONNECTED_IND:
dflet 0:400d8e75a8d0 99 case MCU_RED_LED_GPIO:
dflet 0:400d8e75a8d0 100 {
dflet 0:400d8e75a8d0 101 /* Switch OFF RED LED */
dflet 0:400d8e75a8d0 102 GPIO_LED1 = 0;
dflet 0:400d8e75a8d0 103 break;
dflet 0:400d8e75a8d0 104 }
dflet 0:400d8e75a8d0 105 case MCU_ALL_LED_IND:
dflet 0:400d8e75a8d0 106 {
dflet 0:400d8e75a8d0 107 /* Switch OFF ALL LEDs LED */
dflet 0:400d8e75a8d0 108 GPIO_LED3 = 0;
dflet 0:400d8e75a8d0 109 GPIO_LED2 = 0;
dflet 0:400d8e75a8d0 110 GPIO_LED1 = 0;
dflet 0:400d8e75a8d0 111 break;
dflet 0:400d8e75a8d0 112 }
dflet 0:400d8e75a8d0 113 default:
dflet 0:400d8e75a8d0 114 break;
dflet 0:400d8e75a8d0 115 }
dflet 0:400d8e75a8d0 116 }
dflet 0:400d8e75a8d0 117
dflet 0:400d8e75a8d0 118 //*****************************************************************************
dflet 0:400d8e75a8d0 119 //
dflet 0:400d8e75a8d0 120 //! \brief This function returns LED current Status
dflet 0:400d8e75a8d0 121 //!
dflet 0:400d8e75a8d0 122 //! \param[in] ucGPIONum is the GPIO to which the LED is connected
dflet 0:400d8e75a8d0 123 //! MCU_GREEN_LED_GPIO\MCU_ORANGE_LED_GPIO\MCU_RED_LED_GPIO
dflet 0:400d8e75a8d0 124 //!
dflet 0:400d8e75a8d0 125 //!
dflet 0:400d8e75a8d0 126 //! \return 1: LED ON, 0: LED OFF
dflet 0:400d8e75a8d0 127 //
dflet 0:400d8e75a8d0 128 //*****************************************************************************
dflet 0:400d8e75a8d0 129 unsigned char
dflet 0:400d8e75a8d0 130 GPIO_IF_LedStatus(unsigned char ucGPIONum)
dflet 0:400d8e75a8d0 131 {
dflet 0:400d8e75a8d0 132 unsigned char ucLEDStatus;
dflet 0:400d8e75a8d0 133 switch(ucGPIONum)
dflet 0:400d8e75a8d0 134 {
dflet 0:400d8e75a8d0 135 case MCU_GREEN_LED_GPIO:
dflet 0:400d8e75a8d0 136 {
dflet 0:400d8e75a8d0 137 if(GPIO_LED3.read()){
dflet 0:400d8e75a8d0 138 ucLEDStatus = 1;
dflet 0:400d8e75a8d0 139 }else{
dflet 0:400d8e75a8d0 140 ucLEDStatus = 0;
dflet 0:400d8e75a8d0 141 }
dflet 0:400d8e75a8d0 142 break;
dflet 0:400d8e75a8d0 143 }
dflet 0:400d8e75a8d0 144 case MCU_ORANGE_LED_GPIO:
dflet 0:400d8e75a8d0 145 {
dflet 0:400d8e75a8d0 146 if(GPIO_LED2.read()){
dflet 0:400d8e75a8d0 147 ucLEDStatus = 1;
dflet 0:400d8e75a8d0 148 }else{
dflet 0:400d8e75a8d0 149 ucLEDStatus = 0;
dflet 0:400d8e75a8d0 150 }
dflet 0:400d8e75a8d0 151 break;
dflet 0:400d8e75a8d0 152 }
dflet 0:400d8e75a8d0 153 case MCU_RED_LED_GPIO:
dflet 0:400d8e75a8d0 154 {
dflet 0:400d8e75a8d0 155 if(GPIO_LED1.read()){
dflet 0:400d8e75a8d0 156 ucLEDStatus = 1;
dflet 0:400d8e75a8d0 157 }else{
dflet 0:400d8e75a8d0 158 ucLEDStatus = 0;
dflet 0:400d8e75a8d0 159 }
dflet 0:400d8e75a8d0 160 break;
dflet 0:400d8e75a8d0 161 }
dflet 0:400d8e75a8d0 162 default:
dflet 0:400d8e75a8d0 163 ucLEDStatus = 0;
dflet 0:400d8e75a8d0 164 }
dflet 0:400d8e75a8d0 165 return ucLEDStatus;
dflet 0:400d8e75a8d0 166 }
dflet 0:400d8e75a8d0 167
dflet 0:400d8e75a8d0 168 //*****************************************************************************
dflet 0:400d8e75a8d0 169 //
dflet 0:400d8e75a8d0 170 //! Toggle the Led state
dflet 0:400d8e75a8d0 171 //!
dflet 0:400d8e75a8d0 172 //! \param ledNum is the LED Number
dflet 0:400d8e75a8d0 173 //!
dflet 0:400d8e75a8d0 174 //! \return none
dflet 0:400d8e75a8d0 175 //!
dflet 0:400d8e75a8d0 176 //! \brief Toggles a board LED
dflet 0:400d8e75a8d0 177 //
dflet 0:400d8e75a8d0 178 //*****************************************************************************
dflet 0:400d8e75a8d0 179 void GPIO_IF_LedToggle(unsigned char ucLedNum)
dflet 0:400d8e75a8d0 180 {
dflet 0:400d8e75a8d0 181
dflet 0:400d8e75a8d0 182 unsigned char ucLEDStatus = GPIO_IF_LedStatus(ucLedNum);
dflet 0:400d8e75a8d0 183 if(ucLEDStatus == 1)
dflet 0:400d8e75a8d0 184 {
dflet 0:400d8e75a8d0 185 GPIO_IF_LedOff(ucLedNum);
dflet 0:400d8e75a8d0 186 }
dflet 0:400d8e75a8d0 187 else
dflet 0:400d8e75a8d0 188 {
dflet 0:400d8e75a8d0 189 GPIO_IF_LedOn(ucLedNum);
dflet 0:400d8e75a8d0 190 }
dflet 0:400d8e75a8d0 191 }
dflet 0:400d8e75a8d0 192