class library to access fischertechnik interfaces via USB
Dependencies: FatFileSystem mbed myBlueUSB neigbourhood rfcomm sdp
ftlib/ftlibclasstxcbt.h
- Committer:
- networker
- Date:
- 2013-03-11
- Revision:
- 1:4676e8b9b357
- Parent:
- 0:7da612835693
File content as of revision 1:4676e8b9b357:
#ifndef FTLIBCLASSTXCBT_H #define FTLIBCLASSTXCBT_H #include "ftlibclasstxc.h" #include "ftusb.h" //#include <string.h> //#define FT_TXC 300 //#include "ROBO_TX_FW.h" //"../PC_programming_RoboTXC_V1-2_11_Dec_2009/PC_Programming_RoboTXC/Demo_Static_Lib_C/Inc/" #include "ROBO_TX_FW_1_24.h" //"../PC_programming_RoboTXC/PC_Programming_RoboTXC/Demo_Static_Lib_C/Inc/" class ftusbdevtxbt: public ftusbdevtx { friend ftusbdev; BD_ADDR btaddr; char *name; enum { idle, ping, serial, info, slaves, slaves_info, ready} init; int message_pending; int parseState; unsigned short X1_crc, X1_len, X1_pos, X1_cmd; unsigned char *X1_pkt; //ftusbdevtxbt() {} ftusbdevtxbt(BTDevice *bd); //virtual void FtThreadInit() ; virtual void FtThreadBegin() ; virtual void FtThreadEnd() ; //unsigned set_baudrate(unsigned br); //unsigned send_msg(unsigned cmd, unsigned set=0, bool sync = true); //unsigned rec_msg(); //static void read_finished_cb(int device, int endpoint, int status, unsigned char* data, int len, void* userData); //static void write_finished_cb(int device, int endpoint, int status, unsigned char* data, int len, void* userData); virtual int read_data(unsigned char *data, int size, USBCallback callback = 0, void* userData = 0);// { return USBBulkTransfer(device, 0x82, data, size, callback, userData);} virtual int write_data(unsigned char *data, int size, USBCallback callback = 0, void* userData = 0);// { return USBBulkTransfer(device, 0x03, data, size, callback, userData);} static void recv(int socket, SocketState state, const u8* data, int len, void* userData) { if (userData) ((ftusbdevtxbt*)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);} void parse (const unsigned char *buf, unsigned len); public: //virtual ~ftusbdevtxbt() ; //public API: These functions match those of the original ftlib virtual unsigned set_baudrate(unsigned br) { return 0; } static unsigned InitFtUsbDeviceList();//overrides ftusbdev (also adds BT devices) virtual unsigned OpenFtUsbDevice(); //ftxOpenComDevice, we regard a TXC as a USB device virtual unsigned CloseFtDevice(); //ftxCloseDevice, ftxCloseAllDevices (ftlibclass) //virtual unsigned IsFtTransferActiv(); //virtual unsigned GetFtFirmware() ; virtual unsigned GetFtSerialNr(); virtual char* GetFtLongNameStrg() { return strdup(name); } //TA* GetFtTransferAreaAddress(int i) ; //virtual unsigned StartFtTransferArea(NOTIFICATION_EVENTS* sNEvent ); }; #endif