From 5ed5e418c96e5a22edd19185ca86560f5b8318a4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 6 Feb 2017 02:33:08 +0100 Subject: [PATCH] CHG: testing to set 460800 baudrate as default, if it fails, go to 115200 baudrate. For Linux/Win. Works great in my environments. --- armsrc/Makefile | 8 ++++---- client/uart.c | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/armsrc/Makefile b/armsrc/Makefile index 5081e21fe..220c21fcb 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -70,10 +70,7 @@ THUMBSRC = start.c \ string.c \ BigBuf.c \ ticks.c \ - usb_cdc.c \ - parity.c \ random.c \ - cmd.c \ hfsnoop.c # These are to be compiled in ARM mode @@ -83,7 +80,10 @@ ARMSRC = fpgaloader.c \ $(SRC_CRAPTO1) \ $(SRC_CRC) \ $(SRC_ICLASS) \ - $(SRC_EMV) + $(SRC_EMV) \ + parity.c \ + usb_cdc.c \ + cmd.c # Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC include ../common/Makefile.common diff --git a/client/uart.c b/client/uart.c index 1411386f5..119bf130e 100644 --- a/client/uart.c +++ b/client/uart.c @@ -106,6 +106,11 @@ serial_port uart_open(const char* pcPortName) // Flush all lingering data that may exist tcflush(sp->fd, TCIOFLUSH); + // set speed, works for UBUNTU 14.04 + bool err = uart_set_speed(sp, 460800); + if (!err) + uart_set_speed(sp, 115200); + return sp; } @@ -389,11 +394,11 @@ serial_port uart_open(const char* pcPortName) { uart_close(sp); return INVALID_SERIAL_PORT; } - - sp->ct.ReadIntervalTimeout = 1; - sp->ct.ReadTotalTimeoutMultiplier = 1; + // all zero's configure: no timeout for read/write used. + sp->ct.ReadIntervalTimeout = 0;//1; + sp->ct.ReadTotalTimeoutMultiplier = 0;//1; sp->ct.ReadTotalTimeoutConstant = 30; - sp->ct.WriteTotalTimeoutMultiplier = 1; + sp->ct.WriteTotalTimeoutMultiplier = 0;//1; sp->ct.WriteTotalTimeoutConstant = 30; if(!SetCommTimeouts(sp->hPort,&sp->ct)) { @@ -403,6 +408,10 @@ serial_port uart_open(const char* pcPortName) { PurgeComm(sp->hPort, PURGE_RXABORT | PURGE_RXCLEAR); + bool err = uart_set_speed(sp, 460800); + if (!err) + uart_set_speed(sp, 115200); + return sp; }