7 #ifndef _SERIAL_Unix_H_
8 #define _SERIAL_Unix_H_
15 class Serial_Unix:
public Serial
24 int ReadData(
void *,
int );
38 struct termios mOldtio;
41 void initSerial(
string deviceName,
int baudrate)
43 mDeviceName = deviceName;
72 printf(
"invalid baud rate for serial port %s\n", deviceName.c_str() );
78 mCflag = baudrate | SERIAL_CFLAGS_COMMON;
79 mIflag = SERIAL_IFLAGS_COMMON;
80 mOflag = SERIAL_OFLAGS_COMMON;
81 mLflag = SERIAL_LFLAGS_COMMON;
85 void initSerial(
string deviceName,
int cflag,
int iflag,
int oflag,
int lflag):
89 mDeviceName = deviceName;
100 mFd = open(mDeviceName.c_str(), mCflag, mIflag, mOflag, mLflag);
104 printf(
"couldn't acquire serial port\n");
108 printf(
"called acquire when already acquired\n");
118 if( tcsetattr( mFd, TCSANOW, &mOldtio ) < 0)
138 bool valid(){
return mFd != -1; }
139 int read(
char* buffer,
short numBytes,
int waitTime=0 );
140 int write(
char*,
unsigned short );
143 int open(
unsigned char port,
int cflag,
int iflag,
int oflag,
int lflag);
144 int open(
const char* device,
int cflag,
int iflag,
int oflag,
int lflag);