#include <stdlib.h>
#include "ftdi.h"
+#include "ftdi_version_i.h"
#define ftdi_error_return(code, str) do { \
ftdi->error_str = str; \
ftdi->usb_dev = usb;
}
+/**
+ * @brief Get libftdi library version
+ *
+ * @return ftdi_version_info Library version information
+ **/
+struct ftdi_version_info ftdi_get_library_version()
+{
+ struct ftdi_version_info ver;
+
+ ver.major = FTDI_MAJOR_VERSION;
+ ver.minor = FTDI_MINOR_VERSION;
+ ver.micro = FTDI_MICRO_VERSION;
+ ver.version_str = FTDI_VERSION_STRING;
+ ver.snapshot_str = FTDI_SNAPSHOT_VERSION;
+
+ return ver;
+}
/**
Finds all ftdi devices with given VID:PID on the usb bus. Creates a new
best_divisor = divisor/2;
if(best_divisor > 0x20000)
best_divisor = 0x1ffff;
- best_baud = clk*8/clk_div/best_divisor;
+ best_baud = clk*16/clk_div/best_divisor;
+ if (best_baud & 1) /* Decide if to round up or down*/
+ best_baud = best_baud /2 +1;
+ else
+ best_baud = best_baud /2;
*encoded_divisor = (best_divisor >> 3) | (frac_code[best_divisor & 0x7] << 14);
}
return best_baud;