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 #ifndef UTILS_H
va009039 0:1ed23ab1345f 2 #define UTILS_H
va009039 0:1ed23ab1345f 3 typedef unsigned char u8;
va009039 0:1ed23ab1345f 4 typedef unsigned short u16;
va009039 0:1ed23ab1345f 5 typedef unsigned long u32;
va009039 0:1ed23ab1345f 6
va009039 0:1ed23ab1345f 7 //void DelayMS(int ms);
va009039 0:1ed23ab1345f 8
va009039 0:1ed23ab1345f 9 void printfBytes(const char* label,const u8* data, int len);
va009039 0:1ed23ab1345f 10 void printHex(const u8* d, int len);
va009039 0:1ed23ab1345f 11
va009039 0:1ed23ab1345f 12 #ifndef min
va009039 0:1ed23ab1345f 13 #define min(_a,_b) ((_a) < (_b) ? (_a) : (_b))
va009039 0:1ed23ab1345f 14 #endif
va009039 0:1ed23ab1345f 15
va009039 0:1ed23ab1345f 16 inline int LE16(const u8* d)
va009039 0:1ed23ab1345f 17 {
va009039 0:1ed23ab1345f 18 return d[0] | (d[1] << 8);
va009039 0:1ed23ab1345f 19 }
va009039 0:1ed23ab1345f 20
va009039 0:1ed23ab1345f 21
va009039 0:1ed23ab1345f 22 inline int LE24(const uint8_t* d) {
va009039 0:1ed23ab1345f 23 return d[0] | (d[1]<<8) | (d[2] << 16);
va009039 0:1ed23ab1345f 24 }
va009039 0:1ed23ab1345f 25
va009039 0:1ed23ab1345f 26 inline int LE32(const uint8_t* d) {
va009039 0:1ed23ab1345f 27 return d[0] |(d[1]<<8) | (d[2] << 16) |(d[3] << 24) ;
va009039 0:1ed23ab1345f 28 }
va009039 0:1ed23ab1345f 29
va009039 0:1ed23ab1345f 30 inline u32 BE32(const u8* d)
va009039 0:1ed23ab1345f 31 {
va009039 0:1ed23ab1345f 32 return (d[0] << 24) | (d[1] << 16) | (d[2] << 8) | d[3];
va009039 0:1ed23ab1345f 33 }
va009039 0:1ed23ab1345f 34
va009039 0:1ed23ab1345f 35 inline void BE32(u32 n, u8* d)
va009039 0:1ed23ab1345f 36 {
va009039 0:1ed23ab1345f 37 d[0] = (u8)(n >> 24);
va009039 0:1ed23ab1345f 38 d[1] = (u8)(n >> 16);
va009039 0:1ed23ab1345f 39 d[2] = (u8)(n >> 8);
va009039 0:1ed23ab1345f 40 d[3] = (u8)n;
va009039 0:1ed23ab1345f 41 }
va009039 0:1ed23ab1345f 42
va009039 0:1ed23ab1345f 43 inline void BE16(u32 n, u8* d)
va009039 0:1ed23ab1345f 44 {
va009039 0:1ed23ab1345f 45 d[0] = (u8)(n >> 8);
va009039 0:1ed23ab1345f 46 d[1] = (u8)n;
va009039 0:1ed23ab1345f 47 }
va009039 0:1ed23ab1345f 48 #endif //UTILS_H