David Fletcher / Mbed 2 deprecated cc3100_Test_websock_Camera_CM4F

Dependencies:   mbed

Committer:
dflet
Date:
Wed Jun 24 09:54:16 2015 +0000
Revision:
0:50cedd586816
First commit work in progress

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:50cedd586816 1 //*****************************************************************************
dflet 0:50cedd586816 2 // Copyright (C) 2014 Texas Instruments Incorporated
dflet 0:50cedd586816 3 //
dflet 0:50cedd586816 4 // All rights reserved. Property of Texas Instruments Incorporated.
dflet 0:50cedd586816 5 // Restricted rights to use, duplicate or disclose this code are
dflet 0:50cedd586816 6 // granted through contract.
dflet 0:50cedd586816 7 // The program may not be used without the written permission of
dflet 0:50cedd586816 8 // Texas Instruments Incorporated or against the terms and conditions
dflet 0:50cedd586816 9 // stipulated in the agreement under which this program has been supplied,
dflet 0:50cedd586816 10 // and under no circumstances can it be used with non-TI connectivity device.
dflet 0:50cedd586816 11 //
dflet 0:50cedd586816 12 //*****************************************************************************
dflet 0:50cedd586816 13
dflet 0:50cedd586816 14
dflet 0:50cedd586816 15 #include <stdlib.h>
dflet 0:50cedd586816 16 #include <stdio.h>
dflet 0:50cedd586816 17 #include <string.h>
dflet 0:50cedd586816 18 #include "strlib.h"
dflet 0:50cedd586816 19
dflet 0:50cedd586816 20
dflet 0:50cedd586816 21 /*****************************************************************************
dflet 0:50cedd586816 22 *
dflet 0:50cedd586816 23 * itoa
dflet 0:50cedd586816 24 *
dflet 0:50cedd586816 25 * \param n is the number to be converted to ASCII
dflet 0:50cedd586816 26 * s is a pointer to an array where the ASCII string will be placed
dflet 0:50cedd586816 27 * b is the base (10 for decimal)
dflet 0:50cedd586816 28 *
dflet 0:50cedd586816 29 * \return None
dflet 0:50cedd586816 30 *
dflet 0:50cedd586816 31 * \brief Integer to ASCII
dflet 0:50cedd586816 32 *
dflet 0:50cedd586816 33 *****************************************************************************/
dflet 0:50cedd586816 34 char *itoa(int n, char *s, int b) {
dflet 0:50cedd586816 35 const char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";
dflet 0:50cedd586816 36 unsigned int i = 0;
dflet 0:50cedd586816 37 int sign;
dflet 0:50cedd586816 38
dflet 0:50cedd586816 39 if ((sign = n) < 0)
dflet 0:50cedd586816 40 n = -n;
dflet 0:50cedd586816 41
dflet 0:50cedd586816 42 do {
dflet 0:50cedd586816 43 s[i++] = digits[n % b];
dflet 0:50cedd586816 44 } while ((n /= b) > 0);
dflet 0:50cedd586816 45
dflet 0:50cedd586816 46 if (sign < 0)
dflet 0:50cedd586816 47 s[i++] = '-';
dflet 0:50cedd586816 48 s[i] = '\0';
dflet 0:50cedd586816 49
dflet 0:50cedd586816 50 return strrev(s);
dflet 0:50cedd586816 51 }
dflet 0:50cedd586816 52
dflet 0:50cedd586816 53 /*****************************************************************************
dflet 0:50cedd586816 54 *
dflet 0:50cedd586816 55 * itoa
dflet 0:50cedd586816 56 *
dflet 0:50cedd586816 57 * \param str is a pointer to the string to be reversed
dflet 0:50cedd586816 58 *
dflet 0:50cedd586816 59 * \return None
dflet 0:50cedd586816 60 *
dflet 0:50cedd586816 61 * \brief Reverses a string
dflet 0:50cedd586816 62 *
dflet 0:50cedd586816 63 *****************************************************************************/
dflet 0:50cedd586816 64 char *strrev(char *str) {
dflet 0:50cedd586816 65 char *p1, *p2;
dflet 0:50cedd586816 66
dflet 0:50cedd586816 67 if (!str || !*str)
dflet 0:50cedd586816 68 return str;
dflet 0:50cedd586816 69
dflet 0:50cedd586816 70 for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) {
dflet 0:50cedd586816 71 *p1 ^= *p2;
dflet 0:50cedd586816 72 *p2 ^= *p1;
dflet 0:50cedd586816 73 *p1 ^= *p2;
dflet 0:50cedd586816 74 }
dflet 0:50cedd586816 75
dflet 0:50cedd586816 76 return str;
dflet 0:50cedd586816 77 }
dflet 0:50cedd586816 78
dflet 0:50cedd586816 79 /* Little endian format */
dflet 0:50cedd586816 80 void WordToBytes(void *pBuff, void const*pvalue, unsigned int NumBytes)
dflet 0:50cedd586816 81 {
dflet 0:50cedd586816 82 unsigned char *pSource, *pDest;
dflet 0:50cedd586816 83 int byte = 0;
dflet 0:50cedd586816 84
dflet 0:50cedd586816 85 pSource = (unsigned char *)pvalue;
dflet 0:50cedd586816 86 pDest = (unsigned char *)pBuff;
dflet 0:50cedd586816 87
dflet 0:50cedd586816 88 for(byte = 0; byte < NumBytes; byte++)
dflet 0:50cedd586816 89 {
dflet 0:50cedd586816 90 *pDest++ = *pSource++;
dflet 0:50cedd586816 91 }
dflet 0:50cedd586816 92 }
dflet 0:50cedd586816 93
dflet 0:50cedd586816 94 int String_utoa(int uNum, char *pString)
dflet 0:50cedd586816 95 {
dflet 0:50cedd586816 96 char digits[] = "0123456789";
dflet 0:50cedd586816 97 char* ptr;
dflet 0:50cedd586816 98 int uLength;
dflet 0:50cedd586816 99 int uTemp = uNum;
dflet 0:50cedd586816 100
dflet 0:50cedd586816 101 // value 0 is a special format
dflet 0:50cedd586816 102 if (uNum == 0)
dflet 0:50cedd586816 103 {
dflet 0:50cedd586816 104 uLength = 1;
dflet 0:50cedd586816 105 *pString = '0';
dflet 0:50cedd586816 106 return uLength;
dflet 0:50cedd586816 107 }
dflet 0:50cedd586816 108
dflet 0:50cedd586816 109 // Find out the length of the number, in decimal base
dflet 0:50cedd586816 110 uLength = 0;
dflet 0:50cedd586816 111 while (uTemp > 0)
dflet 0:50cedd586816 112 {
dflet 0:50cedd586816 113 uTemp /= 10;
dflet 0:50cedd586816 114 uLength++;
dflet 0:50cedd586816 115 }
dflet 0:50cedd586816 116
dflet 0:50cedd586816 117 // Do the actual formatting, right to left
dflet 0:50cedd586816 118 uTemp = uNum;
dflet 0:50cedd586816 119 ptr = (char*)pString + uLength;
dflet 0:50cedd586816 120 while (uTemp > 0)
dflet 0:50cedd586816 121 {
dflet 0:50cedd586816 122 --ptr;
dflet 0:50cedd586816 123 *ptr = digits[uTemp % 10];
dflet 0:50cedd586816 124 uTemp /= 10;
dflet 0:50cedd586816 125 }
dflet 0:50cedd586816 126 return uLength;
dflet 0:50cedd586816 127 }
dflet 0:50cedd586816 128
dflet 0:50cedd586816 129 int iptostring(unsigned char *ip, char *ipstring)
dflet 0:50cedd586816 130 {
dflet 0:50cedd586816 131 int temp,i, length, uLength;
dflet 0:50cedd586816 132 char *ptr;
dflet 0:50cedd586816 133 ip =ip +3;
dflet 0:50cedd586816 134 ptr = ipstring;
dflet 0:50cedd586816 135 uLength = 0;
dflet 0:50cedd586816 136 for (i=0; i<4; i++)
dflet 0:50cedd586816 137 {
dflet 0:50cedd586816 138 temp = *ip;
dflet 0:50cedd586816 139 length = String_utoa((unsigned long) temp, ptr);
dflet 0:50cedd586816 140 ptr = ptr + length;
dflet 0:50cedd586816 141 uLength += length;
dflet 0:50cedd586816 142 *ptr = '.';
dflet 0:50cedd586816 143 ptr++;
dflet 0:50cedd586816 144 uLength++;
dflet 0:50cedd586816 145 ip--;
dflet 0:50cedd586816 146 }
dflet 0:50cedd586816 147 return (uLength-1);
dflet 0:50cedd586816 148 }
dflet 0:50cedd586816 149
dflet 0:50cedd586816 150