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
first publication of this experimental class, just for sharing wip

Who changed what in which revision?

UserRevisionLine numberNew contents of line
networker 1:4676e8b9b357 1 #ifndef BTSERIAL_H
networker 1:4676e8b9b357 2 #define BTSERIAL_H
networker 1:4676e8b9b357 3 #include "mbed.h"
networker 1:4676e8b9b357 4 #include "RFCOMM.h"
networker 1:4676e8b9b357 5
networker 1:4676e8b9b357 6 class btserial {
networker 1:4676e8b9b357 7 static const int bufsize = 350;
networker 1:4676e8b9b357 8 int recbufsize, sndbufsize;
networker 1:4676e8b9b357 9 int sock;
networker 1:4676e8b9b357 10 unsigned char sendbuf[bufsize], recbuf[bufsize];
networker 1:4676e8b9b357 11 int sendptr, recptrin, recptrout, free;
networker 1:4676e8b9b357 12 static void cb(int socket, SocketState state, const unsigned char *data, int len, void* userData);
networker 1:4676e8b9b357 13 virtual void stash(const unsigned char *data, int len);
networker 1:4676e8b9b357 14 bool open;
networker 1:4676e8b9b357 15 public:
networker 1:4676e8b9b357 16 btserial(char ba[6], char ch);//outgoing
networker 1:4676e8b9b357 17 btserial(char ch);//incoming
networker 1:4676e8b9b357 18 void baud(int);
networker 1:4676e8b9b357 19 void format(int, Serial::Parity, int);
networker 1:4676e8b9b357 20 int putc(int);
networker 1:4676e8b9b357 21 int getc();
networker 1:4676e8b9b357 22 int readable() {
networker 1:4676e8b9b357 23 if (!open) return -1;
networker 1:4676e8b9b357 24 return bufsize-free;
networker 1:4676e8b9b357 25 }
networker 1:4676e8b9b357 26 int writeable() {
networker 1:4676e8b9b357 27 if (!open) return -1;
networker 1:4676e8b9b357 28 return bufsize - sendptr;
networker 1:4676e8b9b357 29 }
networker 1:4676e8b9b357 30 };
networker 1:4676e8b9b357 31
networker 1:4676e8b9b357 32 #endif