From 0a24369c4822b508aa14eb395227ef4731872d5e Mon Sep 17 00:00:00 2001 From: "roel@libnfc.org" Date: Tue, 19 Mar 2013 16:19:20 +0000 Subject: [PATCH] trying to tweak uart code, for better flashing --- client/uart.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/client/uart.c b/client/uart.c index 75a15b2e..d8b1e0ae 100644 --- a/client/uart.c +++ b/client/uart.c @@ -90,6 +90,14 @@ serial_port uart_open(const char* pcPortName) sp->tiNew.c_iflag = CCLAIMED | IGNPAR; sp->tiNew.c_oflag = 0; sp->tiNew.c_lflag = 0; + + // Set serial port equivalent to raw mode +// sp->tiNew.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); +// sp->tiNew.c_oflag &= ~OPOST; +// sp->tiNew.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); +// sp->tiNew.c_cflag &= ~(CSIZE | PARENB); +// sp->tiNew.c_iflag |= CCLAIMED | IGNPAR; +// sp->tiNew.c_cflag |= CS8 | CLOCAL | CREAD; sp->tiNew.c_cc[VMIN] = 0; // block until n bytes are received sp->tiNew.c_cc[VTIME] = 0; // block until a timer expires (n * 100 mSec.) @@ -100,7 +108,7 @@ serial_port uart_open(const char* pcPortName) return INVALID_SERIAL_PORT; } - tcflush(sp->fd, TCIFLUSH); + tcflush(sp->fd, TCIOFLUSH); return sp; } @@ -171,6 +179,7 @@ uint32_t uart_get_speed(const serial_port sp) void uart_close(const serial_port sp) { + tcflush(((serial_port_unix*)sp)->fd,TCIOFLUSH); tcsetattr(((serial_port_unix*)sp)->fd,TCSANOW,&((serial_port_unix*)sp)->tiOld); close(((serial_port_unix*)sp)->fd); free(sp); -- 2.39.5