Port of TI's CC3100 Websock camera demo. Using FreeRTOS, mbedTLS, also parts of Arducam for cams ov5642 and 0v2640. Can also use MT9D111. Work in progress. Be warned some parts maybe a bit flacky. This is for Seeed Arch max only, for an M3, see the demo for CM3 using the 0v5642 aducam mini.
Led_config.cpp
00001 #include "mbed.h" 00002 #include "Led_config.h" 00003 00004 DigitalOut GPIO_LED3(PA_15);//GREEN LED 00005 DigitalOut GPIO_LED2(PB_14);//ORANGE LED 00006 DigitalOut GPIO_LED1(PB_15);//RED LED 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
Generated on Tue Jul 12 2022 22:22:38 by 1.7.2