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.
httpserverapp.h
00001 /****************************************************************************** 00002 * 00003 * Copyright (C) 2013 Texas Instruments Incorporated 00004 * 00005 * All rights reserved. Property of Texas Instruments Incorporated. 00006 * Restricted rights to use, duplicate or disclose this code are 00007 * granted through contract. 00008 * 00009 * The program may not be used without the written permission of 00010 * Texas Instruments Incorporated or against the terms and conditions 00011 * stipulated in the agreement under which this program has been supplied, 00012 * and under no circumstances can it be used with non-TI connectivity device. 00013 * 00014 ******************************************************************************/ 00015 /** 00016 * @defgroup Httpserverapp 00017 * 00018 * @{ 00019 */ 00020 00021 #ifndef __HTTP_APP_H__ 00022 #define __HTTP_APP_H__ 00023 00024 #define DEVICE_NAME "httpserver" 00025 #define TI_NAME "cc3200_" 00026 #define mDNS_SERV "._device-info._tcp.local" 00027 #define TTL_MDNS_SERV 4500 00028 00029 #define MAX_DEV_NAME_SIZE 23 00030 00031 //***************************************************************************** 00032 // 00033 // If building with a C++ compiler, make all of the definitions in this header 00034 // have a C binding. 00035 // 00036 //***************************************************************************** 00037 #ifdef __cplusplus 00038 extern "C" 00039 { 00040 #endif 00041 00042 typedef struct 00043 { 00044 unsigned char DevNameLen; 00045 unsigned char DevName[MAX_DEV_NAME_SIZE]; 00046 }t_DevName; 00047 00048 typedef struct 00049 { 00050 char mDNSServNameUnReg[64]; 00051 unsigned char mDNSServNameUnRegLen; 00052 00053 }t_mDNSService; 00054 00055 void createMutex(void); 00056 //extern void HttpServerAppTask(void *); 00057 //extern void Init3200SimpleLink ( void ); 00058 //void InitCameraComponents(int width, int height); 00059 00060 /*! 00061 * \brief This websocket Event is called when WebSocket Server receives data 00062 * from client. 00063 * 00064 * 00065 * \param[in] puConnection Websocket Client Id 00066 * \param[in] *ReadBuffer Pointer to the buffer that holds the payload. 00067 * 00068 * \return none. 00069 * 00070 */ 00071 00072 void WebSocketRecvEventHandler(uint16_t uConnection, char *ReadBuffer); 00073 00074 /*! 00075 * \brief Callback function that indicates that handshake was a success 00076 * Once this is called the server can start sending data packets over websocket using 00077 * the sl_WebSocketSend API. 00078 * 00079 * 00080 * \param[in] uConnection Websocket Client Id 00081 * 00082 * \return void 00083 */ 00084 00085 void WebSocketHandshakeEventHandler(uint16_t uConnection); 00086 00087 /*! 00088 * \brief Callback function that indicates that Websocket is closed 00089 * Once this is called the server acts as HTTP Server 00090 * 00091 * 00092 * \return None 00093 */ 00094 void WebSocketCloseSessionHandler(void); 00095 void WebSocketCloseSessionHandler(void); 00096 void CameraAppTask(void *param); 00097 void HttpServerAppTask(void * param); 00098 00099 //***************************************************************************** 00100 // 00101 // Mark the end of the C bindings section for C++ compilers. 00102 // 00103 //***************************************************************************** 00104 #ifdef __cplusplus 00105 } 00106 #endif /* __cplusplus */ 00107 #endif //__HTTP_APP_H__ 00108 00109
Generated on Tue Jul 12 2022 22:22:38 by 1.7.2