TI's CC3100 websocket camera demo with Arducam mini ov5642 and freertos. Should work with other M3's. Work in progress test demo.
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 Wed Jul 13 2022 15:58:45 by 1.7.2