Based on myBlueUSB and rosserial_mbed

Dependencies:   mbed myUSBHost AvailableMemory myBlueUSB

Committer:
OTL
Date:
Sat Sep 17 14:24:13 2011 +0000
Revision:
1:18139954944b
Parent:
0:7684b95768c7
remove m3pi and main

Who changed what in which revision?

UserRevisionLine numberNew contents of line
OTL 0:7684b95768c7 1 #ifndef FTCLASSLIBUSBDEVBT_H
OTL 0:7684b95768c7 2 #define FTCLASSLIBUSBDEVBT_H
OTL 0:7684b95768c7 3
OTL 0:7684b95768c7 4
OTL 0:7684b95768c7 5 class ftbtdev {//small object for ft BT enumeration
OTL 0:7684b95768c7 6 inquiry_info info;
OTL 0:7684b95768c7 7 public:
OTL 0:7684b95768c7 8 ftbtdev(inquiry_info* ii) {
OTL 0:7684b95768c7 9 info = *ii;
OTL 0:7684b95768c7 10 }
OTL 0:7684b95768c7 11 BD_ADDR* BtAddr() {
OTL 0:7684b95768c7 12 return &info.bdaddr;
OTL 0:7684b95768c7 13 }
OTL 0:7684b95768c7 14 };
OTL 0:7684b95768c7 15
OTL 0:7684b95768c7 16 class ftdev {//this should in the future encapsulate the real TXC
OTL 0:7684b95768c7 17 int sock;
OTL 0:7684b95768c7 18 int parseState;
OTL 0:7684b95768c7 19 unsigned short X1_crc, X1_len, X1_pos;
OTL 0:7684b95768c7 20 unsigned char *X1_pkt;
OTL 0:7684b95768c7 21 unsigned short chksum();
OTL 0:7684b95768c7 22 void parse(const unsigned char *, unsigned);
OTL 0:7684b95768c7 23 public:
OTL 0:7684b95768c7 24 ftdev(): sock(0) { parseState = 0;}
OTL 0:7684b95768c7 25 int Open(BD_ADDR *bt_addr, int chan=1, SocketCallback cb=&ftdev::recv) {
OTL 0:7684b95768c7 26 L2CAPAddr s;
OTL 0:7684b95768c7 27 s.bdaddr = *bt_addr;
OTL 0:7684b95768c7 28 s.psm = chan;//abuse the psm for the channelID
OTL 0:7684b95768c7 29 sock = Socket_Open(SOCKET_RFCOM, &s.hdr, cb, this);//Open the serial connection via RFCOMM
OTL 0:7684b95768c7 30 if (sock<=0)
OTL 0:7684b95768c7 31 printf("Opening of RFCOMM socket for ftdevice failed (%d)\n", sock);
OTL 0:7684b95768c7 32 return sock;
OTL 0:7684b95768c7 33 }
OTL 0:7684b95768c7 34 static void recv(int socket, SocketState state, const u8* data, int len, void* userData) {
OTL 0:7684b95768c7 35 if (userData) ((ftdev*)userData)->receive(socket, state, data, len);
OTL 0:7684b95768c7 36 }
OTL 0:7684b95768c7 37 void receive(int socket, SocketState state, const u8* data, int len);// {printf("ftdev::receive was called: socket %d, state=%d, length=%d\n", socket, state, len);}
OTL 0:7684b95768c7 38 };
OTL 0:7684b95768c7 39
OTL 0:7684b95768c7 40 extern ftdev _ftdev;
OTL 0:7684b95768c7 41
OTL 0:7684b95768c7 42 unsigned InitFtBtDeviceList();
OTL 0:7684b95768c7 43 int GetNrOfFtBtDevices();
OTL 0:7684b95768c7 44 ftbtdev* GetFtUsbDeviceHandle(unsigned Num);
OTL 0:7684b95768c7 45 unsigned OpenFtBtDevice(ftbtdev* d);
OTL 0:7684b95768c7 46
OTL 0:7684b95768c7 47 #endif