class library to access fischertechnik interfaces via USB

Dependencies:   FatFileSystem mbed myBlueUSB neigbourhood rfcomm sdp

Committer:
networker
Date:
Mon Mar 11 08:04:37 2013 +0000
Revision:
1:4676e8b9b357
Parent:
0:7da612835693
first publication of this experimental class, just for sharing wip

Who changed what in which revision?

UserRevisionLine numberNew contents of line
networker 0:7da612835693 1 #ifndef FTLIBCLASSTXCBT_H
networker 0:7da612835693 2 #define FTLIBCLASSTXCBT_H
networker 0:7da612835693 3 #include "ftlibclasstxc.h"
networker 0:7da612835693 4 #include "ftusb.h"
networker 0:7da612835693 5 //#include <string.h>
networker 0:7da612835693 6 //#define FT_TXC 300
networker 0:7da612835693 7
networker 0:7da612835693 8 //#include "ROBO_TX_FW.h" //"../PC_programming_RoboTXC_V1-2_11_Dec_2009/PC_Programming_RoboTXC/Demo_Static_Lib_C/Inc/"
networker 0:7da612835693 9 #include "ROBO_TX_FW_1_24.h" //"../PC_programming_RoboTXC/PC_Programming_RoboTXC/Demo_Static_Lib_C/Inc/"
networker 0:7da612835693 10
networker 0:7da612835693 11 class ftusbdevtxbt: public ftusbdevtx {
networker 0:7da612835693 12 friend ftusbdev;
networker 0:7da612835693 13 BD_ADDR btaddr;
networker 0:7da612835693 14 char *name;
networker 0:7da612835693 15 enum { idle, ping, serial, info, slaves, slaves_info, ready} init;
networker 0:7da612835693 16 int message_pending;
networker 0:7da612835693 17 int parseState;
networker 0:7da612835693 18 unsigned short X1_crc, X1_len, X1_pos, X1_cmd;
networker 0:7da612835693 19 unsigned char *X1_pkt;
networker 0:7da612835693 20 //ftusbdevtxbt() {}
networker 0:7da612835693 21 ftusbdevtxbt(BTDevice *bd);
networker 0:7da612835693 22 //virtual void FtThreadInit() ;
networker 0:7da612835693 23 virtual void FtThreadBegin() ;
networker 0:7da612835693 24 virtual void FtThreadEnd() ;
networker 0:7da612835693 25 //unsigned set_baudrate(unsigned br);
networker 0:7da612835693 26 //unsigned send_msg(unsigned cmd, unsigned set=0, bool sync = true);
networker 0:7da612835693 27 //unsigned rec_msg();
networker 0:7da612835693 28 //static void read_finished_cb(int device, int endpoint, int status, unsigned char* data, int len, void* userData);
networker 0:7da612835693 29 //static void write_finished_cb(int device, int endpoint, int status, unsigned char* data, int len, void* userData);
networker 0:7da612835693 30 virtual int read_data(unsigned char *data, int size, USBCallback callback = 0, void* userData = 0);// { return USBBulkTransfer(device, 0x82, data, size, callback, userData);}
networker 0:7da612835693 31 virtual int write_data(unsigned char *data, int size, USBCallback callback = 0, void* userData = 0);// { return USBBulkTransfer(device, 0x03, data, size, callback, userData);}
networker 0:7da612835693 32 static void recv(int socket, SocketState state, const u8* data, int len, void* userData) {
networker 0:7da612835693 33 if (userData) ((ftusbdevtxbt*)userData)->receive(socket, state, data, len);
networker 0:7da612835693 34 }
networker 0:7da612835693 35 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);}
networker 0:7da612835693 36 void parse (const unsigned char *buf, unsigned len);
networker 0:7da612835693 37 public:
networker 0:7da612835693 38 //virtual ~ftusbdevtxbt() ;
networker 0:7da612835693 39 //public API: These functions match those of the original ftlib
networker 0:7da612835693 40 virtual unsigned set_baudrate(unsigned br) {
networker 0:7da612835693 41 return 0;
networker 0:7da612835693 42 }
networker 0:7da612835693 43 static unsigned InitFtUsbDeviceList();//overrides ftusbdev (also adds BT devices)
networker 0:7da612835693 44 virtual unsigned OpenFtUsbDevice(); //ftxOpenComDevice, we regard a TXC as a USB device
networker 0:7da612835693 45 virtual unsigned CloseFtDevice(); //ftxCloseDevice, ftxCloseAllDevices (ftlibclass)
networker 0:7da612835693 46 //virtual unsigned IsFtTransferActiv();
networker 0:7da612835693 47 //virtual unsigned GetFtFirmware() ;
networker 0:7da612835693 48 virtual unsigned GetFtSerialNr();
networker 0:7da612835693 49 virtual char* GetFtLongNameStrg() {
networker 0:7da612835693 50 return strdup(name);
networker 0:7da612835693 51 }
networker 0:7da612835693 52 //TA* GetFtTransferAreaAddress(int i) ;
networker 0:7da612835693 53 //virtual unsigned StartFtTransferArea(NOTIFICATION_EVENTS* sNEvent );
networker 0:7da612835693 54 };
networker 0:7da612835693 55
networker 0:7da612835693 56 #endif
networker 0:7da612835693 57