BLE demo for mbed Ported RunningElectronics's SBDBT firmware for BLE. It can communicate with iOS

Dependencies:   FatFileSystem mbed

Fork of BTstack by Norimasa Okamoto

Committer:
todotani
Date:
Wed Feb 20 14:18:38 2013 +0000
Revision:
6:cf06ba884429
Parent:
0:1ed23ab1345f
Change tick timer to 1ms. Change attribute 0xFFF1 as read of DigitalIn p5

Who changed what in which revision?

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