From 511a724252ed3977bb1ce8c8625c42f37c7c7888 Mon Sep 17 00:00:00 2001 From: Paul Hollinsky Date: Fri, 26 Jul 2019 17:46:24 -0400 Subject: [PATCH] POSIX FTDI: Improve performance by setting the latency timer --- include/icsneo/platform/posix/ftdi.h | 1 + platform/posix/ftdi.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/include/icsneo/platform/posix/ftdi.h b/include/icsneo/platform/posix/ftdi.h index 9fc2195..7fe99f7 100644 --- a/include/icsneo/platform/posix/ftdi.h +++ b/include/icsneo/platform/posix/ftdi.h @@ -41,6 +41,7 @@ private: int read(uint8_t* data, size_t size) { return ftdi_read_data(context, data, (int)size); } int write(const uint8_t* data, size_t size) { return ftdi_write_data(context, data, (int)size); } int setBaudrate(int baudrate) { return ftdi_set_baudrate(context, baudrate); } + int setLatencyTimer(uint8_t latency) { return ftdi_set_latency_timer(context, latency); } bool setReadTimeout(int timeout) { if(context == nullptr) return false; context->usb_read_timeout = timeout; return true; } bool setWriteTimeout(int timeout) { if(context == nullptr) return false; context->usb_write_timeout = timeout; return true; } private: diff --git a/platform/posix/ftdi.cpp b/platform/posix/ftdi.cpp index 8784ce4..be449ac 100644 --- a/platform/posix/ftdi.cpp +++ b/platform/posix/ftdi.cpp @@ -65,6 +65,7 @@ bool FTDI::open() { ftdi.setWriteTimeout(1000); ftdi.reset(); ftdi.setBaudrate(500000); + ftdi.setLatencyTimer(1); ftdi.flush(); // Create threads