KAMUI USB HOST MIDI-CV Example based on Peter Barrett's BlueUSB

Dependencies:   TextLCD mbed

Committer:
radiojunkbox
Date:
Fri May 11 15:31:59 2012 +0000
Revision:
0:3b4e3e2ec6a5
Rev. 0.1 alfa

Who changed what in which revision?

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