Student project by David Berlin and Boris Dogadov made for the Embedded Systems Workshop course given in Tel-Aviv University on 2010 by Sivan Toledo. Visit the project website for more details: http://davidberlin.co.il/sadna/ .

Dependencies:   EthernetNetIf NTPClient_NetServices mbed HTTPServer HTTPClient CyaSSL

Committer:
sivan_toledo
Date:
Sun Apr 17 21:30:10 2011 +0000
Revision:
0:3e7d6f496a67

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sivan_toledo 0:3e7d6f496a67 1
sivan_toledo 0:3e7d6f496a67 2
sivan_toledo 0:3e7d6f496a67 3 #include "mbed.h"
sivan_toledo 0:3e7d6f496a67 4 #include "Utils.h"
sivan_toledo 0:3e7d6f496a67 5
sivan_toledo 0:3e7d6f496a67 6 void printfBytes(const char* s, const u8* data, int len)
sivan_toledo 0:3e7d6f496a67 7 {
sivan_toledo 0:3e7d6f496a67 8 printf("%s %d:",s,len);
sivan_toledo 0:3e7d6f496a67 9 if (len > 256)
sivan_toledo 0:3e7d6f496a67 10 len = 256;
sivan_toledo 0:3e7d6f496a67 11 while (len-- > 0)
sivan_toledo 0:3e7d6f496a67 12 printf(" %02X",*data++);
sivan_toledo 0:3e7d6f496a67 13 printf("\n");
sivan_toledo 0:3e7d6f496a67 14 }
sivan_toledo 0:3e7d6f496a67 15
sivan_toledo 0:3e7d6f496a67 16 void printHexLine(const u8* d, int addr, int len)
sivan_toledo 0:3e7d6f496a67 17 {
sivan_toledo 0:3e7d6f496a67 18 printf("%04X ",addr);
sivan_toledo 0:3e7d6f496a67 19 int i;
sivan_toledo 0:3e7d6f496a67 20 for (i = 0; i < len; i++)
sivan_toledo 0:3e7d6f496a67 21 printf("%02X ",d[i]);
sivan_toledo 0:3e7d6f496a67 22 for (;i < 16; i++)
sivan_toledo 0:3e7d6f496a67 23 printf(" ");
sivan_toledo 0:3e7d6f496a67 24 char s[16+1];
sivan_toledo 0:3e7d6f496a67 25 memset(s,0,sizeof(s));
sivan_toledo 0:3e7d6f496a67 26 for (i = 0; i < len; i++)
sivan_toledo 0:3e7d6f496a67 27 {
sivan_toledo 0:3e7d6f496a67 28 int c = d[i];
sivan_toledo 0:3e7d6f496a67 29 if (c < 0x20 || c > 0x7E)
sivan_toledo 0:3e7d6f496a67 30 c = '.';
sivan_toledo 0:3e7d6f496a67 31 s[i] = c;
sivan_toledo 0:3e7d6f496a67 32 }
sivan_toledo 0:3e7d6f496a67 33 printf("%s\n",s);
sivan_toledo 0:3e7d6f496a67 34 }
sivan_toledo 0:3e7d6f496a67 35
sivan_toledo 0:3e7d6f496a67 36 void printHex(const u8* d, int len)
sivan_toledo 0:3e7d6f496a67 37 {
sivan_toledo 0:3e7d6f496a67 38 int addr = 0;
sivan_toledo 0:3e7d6f496a67 39 while (len)
sivan_toledo 0:3e7d6f496a67 40 {
sivan_toledo 0:3e7d6f496a67 41 int count = len;
sivan_toledo 0:3e7d6f496a67 42 if (count > 16)
sivan_toledo 0:3e7d6f496a67 43 count = 16;
sivan_toledo 0:3e7d6f496a67 44 printHexLine(d+addr,addr,count);
sivan_toledo 0:3e7d6f496a67 45 addr += 16;
sivan_toledo 0:3e7d6f496a67 46 len -= count;
sivan_toledo 0:3e7d6f496a67 47 }
sivan_toledo 0:3e7d6f496a67 48 }