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.
fPtr_func.h
00001 /* 00002 * - CC31xx/CC32xx Host Driver Implementation 00003 * 00004 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ 00005 * 00006 * 00007 * Redistribution and use in source and binary forms, with or without 00008 * modification, are permitted provided that the following conditions 00009 * are met: 00010 * 00011 * Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * 00014 * Redistributions in binary form must reproduce the above copyright 00015 * notice, this list of conditions and the following disclaimer in the 00016 * documentation and/or other materials provided with the 00017 * distribution. 00018 * 00019 * Neither the name of Texas Instruments Incorporated nor the names of 00020 * its contributors may be used to endorse or promote products derived 00021 * from this software without specific prior written permission. 00022 * 00023 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00024 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00025 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00026 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00027 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00028 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00029 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00030 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00031 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00032 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00033 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00034 * 00035 */ 00036 00037 #ifndef fPtr_func_h 00038 #define fPtr_func_h 00039 00040 #include "simplelink/cc3100_simplelink.h" 00041 00042 00043 /* Note. C function pointers point to the functions below. */ 00044 /* C++ member function pointers not used ? */ 00045 00046 namespace mbed_cc3100 { 00047 00048 extern uint32_t g_PingPacketsRecv; 00049 extern uint32_t g_GatewayIP; 00050 extern uint32_t g_StationIP; 00051 extern uint32_t g_DestinationIP; 00052 extern uint32_t g_BytesReceived; // variable to store the file size 00053 extern uint32_t g_Status; 00054 extern uint8_t g_buff[MAX_BUFF_SIZE+1]; 00055 extern int32_t g_SockID; 00056 00057 }//namespace mbed_cc3100 00058 00059 using namespace mbed_cc3100; 00060 00061 #ifdef __cplusplus 00062 extern "C" { 00063 #endif 00064 00065 00066 void SimpleLinkPingReport(SlPingReport_t *pPingReport); 00067 00068 /*! 00069 \brief WLAN Async event handler 00070 00071 \param[out] pSlWlanEvent pointer to SlWlanEvent_t data 00072 00073 \par 00074 Parameters: 00075 00076 - <b>pSlWlanEvent->Event = SL_WLAN_CONNECT_EVENT </b>, STA or P2P client connection indication event 00077 - pSlWlanEvent->EventData.STAandP2PModeWlanConnected main fields: 00078 - ssid_name 00079 - ssid_len 00080 - bssid 00081 - go_peer_device_name 00082 - go_peer_device_name_len 00083 00084 - <b>pSlWlanEvent->Event = SL_WLAN_DISCONNECT_EVENT </b>, STA or P2P client disconnection event 00085 - pSlWlanEvent->EventData.STAandP2PModeDisconnected main fields: 00086 - ssid_name 00087 - ssid_len 00088 - reason_code 00089 00090 - <b>pSlWlanEvent->Event = SL_WLAN_STA_CONNECTED_EVENT </b>, AP/P2P(Go) connected STA/P2P(Client) 00091 - pSlWlanEvent->EventData.APModeStaConnected fields: 00092 - go_peer_device_name 00093 - mac 00094 - go_peer_device_name_len 00095 - wps_dev_password_id 00096 - own_ssid: relevant for event sta-connected only 00097 - own_ssid_len: relevant for event sta-connected only 00098 00099 - <b>pSlWlanEvent->Event = SL_WLAN_STA_DISCONNECTED_EVENT </b>, AP/P2P(Go) disconnected STA/P2P(Client) 00100 - pSlWlanEvent->EventData.APModestaDisconnected fields: 00101 - go_peer_device_name 00102 - mac 00103 - go_peer_device_name_len 00104 - wps_dev_password_id 00105 - own_ssid: relevant for event sta-connected only 00106 - own_ssid_len: relevant for event sta-connected only 00107 00108 - <b>pSlWlanEvent->Event = SL_WLAN_SMART_CONFIG_COMPLETE_EVENT </b> 00109 - pSlWlanEvent->EventData.smartConfigStartResponse fields: 00110 - status 00111 - ssid_len 00112 - ssid 00113 - private_token_len 00114 - private_token 00115 00116 - <b>pSlWlanEvent->Event = SL_WLAN_SMART_CONFIG_STOP_EVENT </b> 00117 - pSlWlanEvent->EventData.smartConfigStopResponse fields: 00118 - status 00119 00120 - <b>pSlWlanEvent->Event = SL_WLAN_P2P_DEV_FOUND_EVENT </b> 00121 - pSlWlanEvent->EventData.P2PModeDevFound fields: 00122 - go_peer_device_name 00123 - mac 00124 - go_peer_device_name_len 00125 - wps_dev_password_id 00126 - own_ssid: relevant for event sta-connected only 00127 - own_ssid_len: relevant for event sta-connected only 00128 00129 - <b>pSlWlanEvent->Event = SL_WLAN_P2P_NEG_REQ_RECEIVED_EVENT </b> 00130 - pSlWlanEvent->EventData.P2PModeNegReqReceived fields 00131 - go_peer_device_name 00132 - mac 00133 - go_peer_device_name_len 00134 - wps_dev_password_id 00135 - own_ssid: relevant for event sta-connected only 00136 00137 - <b>pSlWlanEvent->Event = SL_WLAN_CONNECTION_FAILED_EVENT </b>, P2P only 00138 - pSlWlanEvent->EventData.P2PModewlanConnectionFailure fields: 00139 - status 00140 */ 00141 #if (defined(sl_WlanEvtHdlr)) 00142 void SimpleLinkWlanEventHandler(SlWlanEvent_t *pWlanEvent); 00143 #endif 00144 00145 /*! 00146 \brief NETAPP Async event handler 00147 00148 \param[out] pSlNetApp pointer to SlNetAppEvent_t data 00149 00150 \par 00151 Parameters: 00152 - <b>pSlWlanEvent->Event = SL_NETAPP_IPV4_IPACQUIRED_EVENT</b>, IPV4 acquired event 00153 - pSlWlanEvent->EventData.ipAcquiredV4 fields: 00154 - ip 00155 - gateway 00156 - dns 00157 00158 - <b>pSlWlanEvent->Event = SL_NETAPP_IP_LEASED_EVENT</b>, AP or P2P go dhcp lease event 00159 - pSlWlanEvent->EventData.ipLeased fields: 00160 - ip_address 00161 - lease_time 00162 - mac 00163 00164 - <b>pSlWlanEvent->Event = SL_NETAPP_IP_RELEASED_EVENT</b>, AP or P2P go dhcp ip release event 00165 - pSlWlanEvent->EventData.ipReleased fields 00166 - ip_address 00167 - mac 00168 - reason 00169 00170 */ 00171 #if (defined(sl_NetAppEvtHdlr)) 00172 void SimpleLinkNetAppEventHandler(SlNetAppEvent_t *pNetAppEvent); 00173 #endif 00174 00175 /*! 00176 \brief Socket Async event handler 00177 00178 \param[out] pSlSockEvent pointer to SlSockEvent_t data 00179 00180 \par 00181 Parameters:\n 00182 - <b>pSlSockEvent->Event = SL_SOCKET_TX_FAILED_EVENT</b> 00183 - pSlSockEvent->EventData fields: 00184 - sd 00185 - status 00186 - <b>pSlSockEvent->Event = SL_SOCKET_ASYNC_EVENT</b> 00187 - pSlSockEvent->EventData fields: 00188 - sd 00189 - type: SSL_ACCEPT or RX_FRAGMENTATION_TOO_BIG or OTHER_SIDE_CLOSE_SSL_DATA_NOT_ENCRYPTED 00190 - val 00191 00192 */ 00193 #if (defined(sl_SockEvtHdlr)) 00194 void SimpleLinkSockEventHandler(SlSockEvent_t *pSock); 00195 #endif 00196 00197 void SimpleLinkGeneralEventHandler(SlDeviceEvent_t *pDevEvent); 00198 00199 void SimpleLinkHttpServerCallback(SlHttpServerEvent_t *pHttpEvent, SlHttpServerResponse_t *pHttpResponse); 00200 #ifndef SL_TINY_EXT 00201 void _sl_HandleAsync_Accept(void *pVoidBuf); 00202 00203 void _sl_HandleAsync_Select(void *pVoidBuf); 00204 00205 void _sl_HandleAsync_DnsGetHostByService(void *pVoidBuf); 00206 00207 void _sl_HandleAsync_PingResponse(void *pVoidBuf); 00208 #endif 00209 void _sl_HandleAsync_Connect(void *pVoidBuf); 00210 00211 void _sl_HandleAsync_DnsGetHostByName(void *pVoidBuf); 00212 00213 void _sl_HandleAsync_Stop(void *pVoidBuf); 00214 00215 _SlReturnVal_t _SlDrvMsgReadSpawnCtx(void *pValue); 00216 00217 void _SlDrvDeviceEventHandler(void *pArgs); 00218 00219 void _SlDrvNetAppEventHandler(void *pArgs); 00220 00221 void _SlDrvHandleHttpServerEvents(SlHttpServerEvent_t *slHttpServerEvent, SlHttpServerResponse_t *slHttpServerResponse); 00222 void _SlDrvHandleSockEvents(SlSockEvent_t *slSockEvent); 00223 void _SlDrvHandleNetAppEvents(SlNetAppEvent_t *slNetAppEvent); 00224 void _SlDrvHandleWlanEvents(SlWlanEvent_t *slWlanEvent); 00225 void _SlDrvHandleGeneralEvents(SlDeviceEvent_t *slGeneralEvent); 00226 00227 #ifdef __cplusplus 00228 } 00229 #endif /* __cplusplus */ 00230 00231 //}//namespace mbed_cc3100 00232 00233 #endif//fPtr_func_h 00234 00235 00236 00237 00238 00239 00240
Generated on Tue Jul 12 2022 22:22:38 by 1.7.2