fix purge buffer fix libftdi >= 1.5
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
This commit is contained in:
parent
4b47c715e9
commit
6d1c51d0a4
|
|
@ -168,11 +168,13 @@ endif()
|
|||
|
||||
|
||||
# libftdi < 1.4 as no usb_addr
|
||||
if (${LIBFTDI_VERSION} VERSION_LESS 1.4)
|
||||
set(CMAKE_CXX_FLAGS "-DOLD_FTDI_VERSION=1 ${CMAKE_CXX_FLAGS}")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "-DOLD_FTDI_VERSION=0 ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
# libftdi >= 1.5 as purge_buffer obsolete
|
||||
string(REPLACE "." ";" VERSION_LIST ${LIBFTDI_VERSION})
|
||||
list(GET VERSION_LIST 0 LIBFTDI_VERSION_MAJOR)
|
||||
list(GET VERSION_LIST 1 LIBFTDI_VERSION_MINOR)
|
||||
math(EXPR FTDI_VAL "${LIBFTDI_VERSION_MAJOR} * 100 + ${LIBFTDI_VERSION_MINOR}")
|
||||
|
||||
add_definitions(-DFTDI_VERSION=${FTDI_VAL})
|
||||
|
||||
install(TARGETS openFPGALoader DESTINATION bin)
|
||||
install(FILES
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ void FTDIpp_MPSSE::open_device(const std::string &serial, unsigned int baudrate)
|
|||
if (_bus == -1 || _addr == -1)
|
||||
ret = ftdi_usb_open_desc(_ftdi, _vid, _pid, NULL, serial.empty() ? NULL : serial.c_str());
|
||||
else
|
||||
#if (OLD_FTDI_VERSION == 1)
|
||||
#if (FTDI_VERSION < 104)
|
||||
ret = ftdi_usb_open_desc(_ftdi, _vid, _pid, _product, NULL);
|
||||
#else
|
||||
ret = ftdi_usb_open_bus_addr(_ftdi, _bus, _addr);
|
||||
|
|
@ -105,8 +105,13 @@ int FTDIpp_MPSSE::close_device()
|
|||
return EXIT_FAILURE;
|
||||
|
||||
/* purge FTDI */
|
||||
#if (FTDI_VERSION < 105)
|
||||
ftdi_usb_purge_rx_buffer(_ftdi);
|
||||
ftdi_usb_purge_tx_buffer(_ftdi);
|
||||
#else
|
||||
ftdi_tciflush(_ftdi);
|
||||
ftdi_tcoflush(_ftdi);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* repompe de la fonction et des suivantes
|
||||
|
|
@ -151,7 +156,11 @@ int FTDIpp_MPSSE::init(unsigned char latency, unsigned char bitmask_mode,
|
|||
return -1;
|
||||
}
|
||||
|
||||
#if (FTDI_VERSION < 105)
|
||||
if (ftdi_usb_purge_buffers(_ftdi) != 0) {
|
||||
#else
|
||||
if (ftdi_tcioflush(_ftdi) != 0) {
|
||||
#endif
|
||||
cout << "reset error" << endl;
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -279,7 +288,11 @@ int FTDIpp_MPSSE::setClkFreq(uint32_t clkHZ)
|
|||
return -1;
|
||||
}
|
||||
ret = ftdi_read_data(_ftdi, buffer, 4);
|
||||
#if (FTDI_VERSION < 105)
|
||||
ftdi_usb_purge_buffers(_ftdi);
|
||||
#else
|
||||
ftdi_tcioflush(_ftdi);
|
||||
#endif
|
||||
|
||||
return real_freq;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue