This program uses code taken from another program called BlueUSB

Dependencies:   mbed

Committer:
madcowswe
Date:
Sat Dec 10 18:45:31 2011 +0000
Revision:
0:31713f62f35b

        

Who changed what in which revision?

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