local fix version of myBlueUSB (http://mbed.org/users/networker/code/myBlueUSB/). - merge deleted files which are required to compile. - enable echo back of received data via RFCOMM.

Dependencies:   AvailableMemory FatFileSystem mbed myUSBHost

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ftclasslibusbdevbt.h Source File

ftclasslibusbdevbt.h

00001 #ifndef FTCLASSLIBUSBDEVBT_H
00002 #define FTCLASSLIBUSBDEVBT_H
00003 
00004 
00005 class ftbtdev {//small object for ft BT enumeration
00006     inquiry_info info;
00007 public:
00008     ftbtdev(inquiry_info* ii) {
00009         info = *ii;
00010     }
00011     BD_ADDR* BtAddr() {
00012         return &info.bdaddr;
00013     }
00014 };
00015 
00016 class ftdev {//this should in the future encapsulate the real TXC
00017     int sock;
00018     int parseState;
00019     unsigned short X1_crc, X1_len, X1_pos;
00020     unsigned char *X1_pkt;
00021     unsigned short chksum();
00022     void parse(const unsigned char *, unsigned);
00023 public:
00024     ftdev(): sock(0) { parseState = 0;}
00025     int Open(BD_ADDR *bt_addr, int chan=1, SocketCallback cb=&ftdev::recv) {
00026         L2CAPAddr s;
00027         s.bdaddr = *bt_addr;
00028         s.psm = chan;//abuse the psm for the channelID
00029         sock = Socket_Open(SOCKET_RFCOM, &s.hdr, cb, this);//Open the serial connection via RFCOMM
00030         if (sock<=0)
00031            printf("Opening of RFCOMM socket for ftdevice failed (%d)\n", sock);
00032         return sock;
00033     }
00034     static void recv(int socket, SocketState state, const u8* data, int len, void* userData) {
00035         if (userData) ((ftdev*)userData)->receive(socket, state, data, len);
00036     }
00037     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);}
00038 };
00039 
00040 extern ftdev _ftdev;
00041 
00042 unsigned InitFtBtDeviceList();
00043 int GetNrOfFtBtDevices();
00044 ftbtdev* GetFtUsbDeviceHandle(unsigned  Num);
00045 unsigned OpenFtBtDevice(ftbtdev* d);
00046 
00047 #endif