Committer:
hosei2
Date:
Tue Jul 10 11:36:47 2012 +0000
Revision:
0:db1ba09e8bfa
zzz

Who changed what in which revision?

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