ftdipp_mpsse.cpp: setClkFreq: flush buffers before changing clock frequency

This commit is contained in:
Gwenhael Goavec-Merou 2025-12-31 12:09:58 +01:00
parent 2c6dac2d9c
commit 936fe64c4a
1 changed files with 11 additions and 11 deletions

View File

@ -377,6 +377,17 @@ int FTDIpp_MPSSE::setClkFreq(uint32_t clkHZ)
float real_freq = 0;
uint16_t presc;
#if (FTDI_VERSION < 105)
ftdi_usb_purge_buffers(_ftdi);
#else
if ((ret = ftdi_tcioflush(_ftdi)) < 0) {
printError("selfClkFreq: fail to flush buffers: " +
string(ftdi_get_error_string(_ftdi)));
return ret;
}
#endif
_clkHZ = clkHZ;
/* FT2232C has no divide by 5 instruction
@ -446,17 +457,6 @@ int FTDIpp_MPSSE::setClkFreq(uint32_t clkHZ)
return ret;
}
#if (FTDI_VERSION < 105)
ftdi_usb_purge_buffers(_ftdi);
#else
if ((ret = ftdi_tcioflush(_ftdi)) < 0) {
printError("selfClkFreq: fail to flush buffers: " +
string(ftdi_get_error_string(_ftdi)));
return ret;
}
#endif
_clkHZ = real_freq;
return real_freq;