class library to access fischertechnik interfaces via USB
Dependencies: FatFileSystem mbed myBlueUSB neigbourhood rfcomm sdp
ftlib/ftlibclasstxcbt.h@1:4676e8b9b357, 2013-03-11 (annotated)
- 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?
User | Revision | Line number | New 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 |