From 84c656492a4c4ce8975012a672a34e2bf4c14b8e Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Wed, 11 Mar 2020 19:23:57 +0100 Subject: [PATCH] ftdipp_mpsse: always set RESET mode before configuration --- src/ftdipp_mpsse.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/ftdipp_mpsse.cpp b/src/ftdipp_mpsse.cpp index dd1ccee..85c49d6 100644 --- a/src/ftdipp_mpsse.cpp +++ b/src/ftdipp_mpsse.cpp @@ -156,12 +156,11 @@ int FTDIpp_MPSSE::init(unsigned char latency, unsigned char bitmask_mode, return -1; } - if (mode == BITMODE_MPSSE) { - if (ftdi_set_bitmode(_ftdi, 0x00, BITMODE_RESET) < 0) { - cout << "bitmode_reset error" << endl; - return -1; - } + if (ftdi_set_bitmode(_ftdi, 0x00, BITMODE_RESET) < 0) { + cout << "bitmode_reset error" << endl; + return -1; } + if (ftdi_usb_purge_buffers(_ftdi) != 0) { cout << "reset error" << endl; return -1; @@ -170,7 +169,7 @@ int FTDIpp_MPSSE::init(unsigned char latency, unsigned char bitmask_mode, cout << "reset error" << endl; return -1; } - /* enable MPSSE mode */ + /* enable mode */ if (ftdi_set_bitmode(_ftdi, bitmask_mode, mode) < 0) { cout << "bitmode_mpsse error" << endl; return -1;