TI's CC3100 websocket camera demo with Arducam mini ov5642 and freertos. Should work with other M3's. Work in progress test demo.

Dependencies:   mbed

Revision:
0:400d8e75a8d0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/http/server/HttpString.h	Sun Sep 06 15:19:36 2015 +0000
@@ -0,0 +1,93 @@
+//*****************************************************************************
+// Copyright (C) 2014 Texas Instruments Incorporated
+//
+// All rights reserved. Property of Texas Instruments Incorporated.
+// Restricted rights to use, duplicate or disclose this code are
+// granted through contract.
+// The program may not be used without the written permission of
+// Texas Instruments Incorporated or against the terms and conditions
+// stipulated in the agreement under which this program has been supplied,
+// and under no circumstances can it be used with non-TI connectivity device.
+//
+//*****************************************************************************
+
+#ifndef _HTTP_STRING_H_
+#define _HTTP_STRING_H_
+
+/**
+ * @defgroup HttpString String routines helper module
+ * This module implements some string and buffer-related helper routines
+ *
+ * @{
+ */
+
+#include "datatypes.h"
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+struct HttpBlob
+{
+    UINT16 uLength;
+    UINT8* pData;
+};
+
+/**
+ * Utility macro which sets an existing blob
+ */
+#define HttpBlobSetConst(blob, constString) \
+    {   \
+        (blob).pData = (UINT8*)constString; \
+        (blob).uLength = sizeof(constString) - 1; \
+    }
+
+static void ToLower(char * str, UINT16 len);
+
+/**
+ * Perform string comparison between two strings.
+ * @param first Pointer to data about the first blob or string
+ * @param second Pointer to data about the second blob or string
+ * @return zero if equal, positive if first is later in order, negative if second is later in order
+ */
+int HttpString_strcmp(struct HttpBlob first, struct HttpBlob second);
+
+/**
+ * return pointer to the next token
+ * @param token Pointer to data of the first token
+ * @param blob Pointer to data of the search string/blob
+ * @return pointer if found, otherwize NULL
+ */
+UINT8* HttpString_nextToken(char* pToken, UINT16 uTokenLength, struct HttpBlob blob);
+
+UINT8* HttpString_nextDelimiter(char* pToken, UINT16 uTokenLength, struct HttpBlob blob);
+
+/**
+ * Parse a string representation of an unsigned decimal number
+ * Stops at any non-digit character.
+ * @param string The string to parse
+ * @return The parsed value
+ */
+UINT32 HttpString_atou(struct HttpBlob string);
+
+/**
+ * Format an unsigned decimal number as a string
+ * @param uNum The number to format
+ * @param[in,out] pString A string buffer which returns the formatted string. On entry, uLength is the maximum length of the buffer, upon return uLength is the actual length of the formatted string
+ */
+void HttpString_utoa(UINT32 uNum, struct HttpBlob* pString);
+
+/**
+ * Format an unsigned decimal number as an hexdecimal string
+ * @param uNum The number to format
+ * @param bPadZero nonzero to pad with zeros up to the string length, or zero to use minimal length required to represent the number
+ * @param[in,out] pString A string buffer which returns the formatted string. On entry, uLength is the maximum length of the buffer, upon return uLength is the actual length of the formatted string
+ */
+void HttpString_htoa(UINT32 uNum, struct HttpBlob* pString, UINT8 bPadZero);
+
+/// @}
+#ifdef  __cplusplus
+}
+#endif /* __cplusplus */
+#endif // _HTTP_STRING_H_
+