Dependencies:   mbed

Committer:
abe00makoto
Date:
Thu May 26 19:39:37 2011 +0000
Revision:
1:237cfff63ef8
Parent:
0:e939856c1939

        

Who changed what in which revision?

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