TI's CC3100 websocket camera demo with Arducam mini ov5642 and freertos. Should work with other M3's. Work in progress test demo.
WebSockHandler.h
00001 //***************************************************************************** 00002 // Copyright (C) 2014 Texas Instruments Incorporated 00003 // 00004 // All rights reserved. Property of Texas Instruments Incorporated. 00005 // Restricted rights to use, duplicate or disclose this code are 00006 // granted through contract. 00007 // The program may not be used without the written permission of 00008 // Texas Instruments Incorporated or against the terms and conditions 00009 // stipulated in the agreement under which this program has been supplied, 00010 // and under no circumstances can it be used with non-TI connectivity device. 00011 // 00012 //***************************************************************************** 00013 00014 00015 /** 00016 * @defgroup WebSocketHandler 00017 * 00018 * @{ 00019 */ 00020 00021 #ifndef __WEBSOCKHANDLER__ 00022 #define __WEBSOCKHANDLER__ 00023 00024 #define FRAGMENT_LENGTH HTTP_CORE_MAX_PACKET_SIZE_SEND 00025 00026 00027 //***************************************************************************** 00028 // 00029 // If building with a C++ compiler, make all of the definitions in this header 00030 // have a C binding. 00031 // 00032 //***************************************************************************** 00033 #ifdef __cplusplus 00034 extern "C" 00035 { 00036 #endif 00037 00038 /*! 00039 * \brief Parse entire websocket packet and forward only the payload to the user API. 00040 * The API can handle packets received in parts. It is blocked till entire packet is received. 00041 * 00042 * 00043 * \param[in] uConnection Connection number on HTTP server. The library supports 4. 00044 * \param[in] *pData Pointer to the HttpBlob structure that holds the data. 00045 * 00046 * \return 1 - If packet was successfully received, parsed and sent to the user API 00047 * 0 - Error 00048 */ 00049 00050 int WSCore_DataRecv(UINT16 uConnection, struct HttpBlob* pData); 00051 00052 /*! 00053 * \brief Returns status string according to status code. 00054 * 00055 * \param[in] WSStatus Status code of the websocket packet 00056 * \param[in] *status String pointer to the message for the status 00057 * 00058 * \return void 00059 */ 00060 00061 void WSStatusString(UINT32 WSStatus, struct HttpBlob* status); 00062 00063 00064 00065 /*! 00066 * \brief Sends data to a websocket client . * 00067 * 00068 * \param[in] uConnection Connection number on HTTP server. 00069 * \param[in] PayLoad Structure holding the payload data and the size of the data 00070 * \param[in] Opcode User provides data type (text/binary/ping/pong/close). 00071 * 00072 * \return 1 - If packet was successfully received, parsed and sent to the user API 00073 * 0 - Error 00074 */ 00075 00076 int WSCore_DataSend(UINT16 uConnection, struct HttpBlob PayLoad, UINT8 Opcode); 00077 00078 00079 /*! 00080 * \brief Parses the payload length to the header if it is more than 125 ie (16 bit/64 bit) 00081 * 00082 * \param[in] *pData Pointer to the websocket packet 00083 * \param[in] iter iter = 2 for 16 bit length 00084 * iter = 8 for 64 bit length 00085 * 00086 * 00087 * \return size of the payload 00088 */ 00089 int Payloadlength(struct HttpBlob * pData, UINT8 iter); 00090 00091 #define sl_WebSocketHandshakeEvtHdlr WebSocketHandshakeEventHandler 00092 #define sl_WebSocketRecvEvtHdlr WebSocketRecvEventHandler 00093 #define sl_WebSocketSend WSCore_DataSend 00094 /* 00095 * This is a call back function from the library. User is informed that the connection has been closed. 00096 */ 00097 #define sl_WebSocketCloseEvtHdlr WebSocketCloseSessionHandler 00098 00099 #ifdef __cplusplus 00100 } 00101 #endif /* __cplusplus */ 00102 #endif 00103 00104
Generated on Wed Jul 13 2022 15:58:46 by 1.7.2