Test version of BlueUSB stack. Includes SDP and RFCOMM. As Client it allows to connect to my fischertechnik TX Controller. As Server it echo\\\\\\\'s characters to Putty. PIN=1234
Dependencies: mbed myUSBHost AvailableMemory
Dependents: mbed_TANK_Kinect myBlueUSB_ros ftusbClass
ftclasslibusbdevbt.h
- Committer:
- networker
- Date:
- 2011-07-01
- Revision:
- 13:327622e38551
- Parent:
- 1:0dde58e0cccf
File content as of revision 13:327622e38551:
#ifndef FTCLASSLIBUSBDEVBT_H
#define FTCLASSLIBUSBDEVBT_H
class ftbtdev {//small object for ft BT enumeration
inquiry_info info;
public:
ftbtdev(inquiry_info* ii) {
info = *ii;
}
BD_ADDR* BtAddr() {
return &info.bdaddr;
}
};
class ftdev {//this should in the future encapsulate the real TXC
int sock;
int parseState;
unsigned short X1_crc, X1_len, X1_pos;
unsigned char *X1_pkt;
unsigned short chksum();
void parse(const unsigned char *, unsigned);
public:
ftdev(): sock(0) { parseState = 0;}
int Open(BD_ADDR *bt_addr, int chan=1, SocketCallback cb=&ftdev::recv) {
L2CAPAddr s;
s.bdaddr = *bt_addr;
s.psm = chan;//abuse the psm for the channelID
sock = Socket_Open(SOCKET_RFCOM, &s.hdr, cb, this);//Open the serial connection via RFCOMM
if (sock<=0)
printf("Opening of RFCOMM socket for ftdevice failed (%d)\n", sock);
return sock;
}
static void recv(int socket, SocketState state, const u8* data, int len, void* userData) {
if (userData) ((ftdev*)userData)->receive(socket, state, data, len);
}
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);}
};
extern ftdev _ftdev;
unsigned InitFtBtDeviceList();
int GetNrOfFtBtDevices();
ftbtdev* GetFtUsbDeviceHandle(unsigned Num);
unsigned OpenFtBtDevice(ftbtdev* d);
#endif