void DEVICE_set_params( Device dev ) { struct termios ctio; tcgetattr(dev.fd,&ctio); /* save current port settings */ ctio.c_iflag = iSoftControl(dev.swf) | iParity(dev.parity); ctio.c_oflag = 0; ctio.c_cflag = CREAD | cFlowControl(dev.hwf || dev.swf) | cParity(dev.parity) | cDataSize(dev.databits) | cStopSize(dev.stopbits); ctio.c_lflag = 0; ctio.c_cc[VTIME] = 0; /* inter-character timer unused */ ctio.c_cc[VMIN] = 0; /* blocking read until 0 chars received */ cfsetispeed ( &ctio, (speed_t) cBaudrate(dev.baud) ); cfsetospeed ( &ctio, (speed_t) cBaudrate(dev.baud) ); tcflush(dev.fd, TCIFLUSH); tcsetattr(dev.fd,TCSANOW,&ctio); }
void fastrakDeviceSetParams(polhemus_faskrak_device_p dev) { struct termios ctio; tcgetattr(dev->fd, &ctio); /* save current port settings */ ctio.c_iflag = iSoftControl(dev->swf) | iParity(dev->parity); ctio.c_oflag = 0; ctio.c_cflag = CREAD | cFlowControl(dev->hwf || dev->swf) | cParity(dev->parity) | cDataSize(dev->databits) | cStopSize(dev->stopbits); ctio.c_lflag = 0; ctio.c_cc[VTIME] = 0; /* inter-character timer unused */ ctio.c_cc[VMIN] = 0; /* blocking read until 0 chars received */ cfsetispeed(&ctio, (speed_t) cBaudrate(dev->baud)); cfsetospeed(&ctio, (speed_t) cBaudrate(dev->baud)); tcflush(dev->fd, TCIFLUSH); tcsetattr(dev->fd, TCSANOW, &ctio); }