• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cmake/H03-May-2022-324260

doc/H03-May-2022-2,5381,965

examples/H03-May-2022-2,5662,035

ftdi_eeprom/H03-May-2022-845595

ftdipp/H03-May-2022-926596

packages/H03-May-2022-1510

python/H03-May-2022-972763

src/H03-May-2022-5,8443,769

test/H03-May-2022-304230

.gitignoreH A D07-Jul-2020587 5748

AUTHORSH A D07-Jul-20203.4 KiB9288

COPYING-CMAKE-SCRIPTSH A D07-Jul-20201.3 KiB2320

COPYING.GPLH A D07-Jul-202017.6 KiB340281

ChangeLogH A D07-Jul-202012.3 KiB281251

LICENSEH A D07-Jul-20201.1 KiB2618

READMEH A D07-Jul-20202.1 KiB6853

README.buildH A D07-Jul-20203.7 KiB9787

README.mingwH A D07-Jul-20201.9 KiB3933

TODOH A D07-Jul-202079 43

libftdi-1.0.kdev4H A D07-Jul-202052 43

libftdi.lntH A D07-Jul-2020716 2922

libftdi1-config.inH A D07-Jul-20201.2 KiB8072

libftdi1.pc.inH A D07-Jul-2020256 1210

libftdipp1.pc.inH A D07-Jul-2020228 1210

README

1--------------------------------------------------------------------
2libftdi version 1.5
3--------------------------------------------------------------------
4
5libftdi - A library (using libusb) to talk to FTDI's UART/FIFO chips
6including the popular bitbang mode.
7
8The following chips are supported:
9* FT230X
10- FT4232H / FT2232H
11- FT232R  / FT245R
12- FT2232L / FT2232D / FT2232C
13- FT232BM / FT245BM (and the BL/BQ variants)
14- FT8U232AM / FT8U245AM
15
16libftdi requires libusb 1.x.
17
18The AUTHORS file contains a list of all the people
19that made libftdi possible what it is today.
20
21Changes
22-------
23* Implement tc[io]flush methods & deprecate broken purge_buffers methods
24
25  Please check your code for ftdi_usb_purge_rx_buffer(),
26  ftdi_usb_purge_tx_buffer() and ftdi_usb_purge_buffers()
27  and migrate to the new ftdi_tc[io]flush() methods.
28
29  Old code will continue to function, but you'll get
30  a deprecation warning during compilation.
31
32* Add program to test buffer flush (purge) functionality
33* Add kernel driver auto attach/detach.
34  See new AUTO_DETACH_REATACH_SIO_MODULE option
35* Add ftdi_setflowctrl_xonxoff()
36* ftdi_eeprom / eeprom handling:
37  * Unify handling of all boolean eeprom flags
38  * Add device release number support
39  * Add channel_a_driver support for type xxR chips
40  * Add support for group0 drive levels on x232H chips
41  * Fix handling of high_current_drive parameter
42  * Fix inverted handling of VCP driver field for TYPE_R chips
43  * New --verbose option for eeprom decode operation
44* Add example code for async mode
45* Add SPDX license identifiers to the core library & ftdi_eeprom
46* Various python SWIG wrapper improvements
47* Various cmake file improvements
48* Fix small bugs in error code paths
49
50You'll find the newest version of libftdi at:
51https://www.intra2net.com/en/developer/libftdi
52
53
54Quick start
55-----------
56mkdir build
57cd build
58
59cmake -DCMAKE_INSTALL_PREFIX="/usr" ../
60make
61make install
62
63More verbose build instructions are in "README.build"
64
65--------------------------------------------------------------------
66www.intra2net.com                             2003-2020 Intra2net AG
67--------------------------------------------------------------------
68

README.build

1Here is a short tutorial on how to build libftdi git under
2Ubuntu 12.10, But it is similar on other Linux distros.
3
41) Install the build tools
5sudo apt-get install build-essential (yum install make automake gcc gcc-c++ kernel-devel)
6sudo apt-get install git-core (yum install git)
7sudo apt-get install cmake (yum install cmake)
8sudo apt-get install doxygen (for building documentations) (yum install doxygen)
9
102) Install dependencies
11sudo apt-get install libusb-1.0-devel (yum install libusb-devel)
12(if the system comes with older version like 1.0.8 or
13earlier, it is recommended you build libusbx-1.0.14 or later).
14
15sudo apt-get install libconfuse-dev (for ftdi-eeprom) (yum install libconfuse-devel)
16sudo apt-get install swig python-dev (for python bindings) (yum install swig python-devel)
17sudo apt-get install libboost-all-dev (for C++ binding and unit test) (yum install boost-devel)
18
193) Clone the git repository
20mkdir libftdi
21cd libftdi
22git clone git://developer.intra2net.com/libftdi
23
24If you are building the release tar ball, just extract the source
25tar ball.
26
274) Build the git source and install
28cd libftdi
29mkdir build
30cd build
31cmake  -DCMAKE_INSTALL_PREFIX="/usr" ../
32make
33sudo make install
34
355) carry out some tests
36cd examples
37
38mcuee@Ubuntu1210VM:~/Desktop/build/libftdi/libftdi/build/examples$
39./find_all_pp  -v 0x0403 -p 0x6001
40Found devices ( VID: 0x403, PID: 0x6001 )
41------------------------------------------------
42FTDI (0x8730800): ftdi, usb serial converter, ftDEH51S (Open OK)
43FTDI (0x8730918): FTDI, FT232R USB UART, A8007Ub5 (Open OK)
44
45mcuee@Ubuntu1210VM:~/Desktop/build/libftdi/libftdi/build/examples$ ./eeprom
462 FTDI devices found: Only Readout on EEPROM done. Use
47VID/PID/desc/serial to select device
48Decoded values of device 1:
49Chip type 1 ftdi_eeprom_size: 128
500x000: 00 00 03 04 01 60 00 04  a0 16 08 00 10 01 94 0a .....`.. ........
510x010: 9e 2a c8 12 0a 03 66 00  74 00 64 00 69 00 2a 03 .*....f. t.d.i.*.
520x020: 75 00 73 00 62 00 20 00  73 00 65 00 72 00 69 00 u.s.b. . s.e.r.i.
530x030: 61 00 6c 00 20 00 63 00  6f 00 6e 00 76 00 65 00 a.l. .c. o.n.v.e.
540x040: 72 00 74 00 65 00 72 00  12 03 66 00 74 00 44 00 r.t.e.r. ..f.t.D.
550x050: 45 00 48 00 35 00 31 00  53 00 02 03 00 00 00 00 E.H.5.1. S.......
560x060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 ........ ........
570x070: 00 00 00 00 00 00 00 00  00 00 00 00 01 00 16 02 ........ ........
58VID:     0x0403
59PID:     0x6001
60Release: 0x0400
61Bus Powered:  44 mA USB Remote Wake Up
62Manufacturer: ftdi
63Product:      usb serial converter
64Serial:       ftDEH51S
65Checksum      : 0216
66Enable Remote Wake Up
67PNP: 1
68Decoded values of device 2:
69Chip type 3 ftdi_eeprom_size: 128
700x000: 00 40 03 04 01 60 00 00  a0 2d 08 00 00 00 98 0a .@...`.. .-......
710x010: a2 20 c2 12 23 10 05 00  0a 03 46 00 54 00 44 00 . ..#... ..F.T.D.
720x020: 49 00 20 03 46 00 54 00  32 00 33 00 32 00 52 00 I. .F.T. 2.3.2.R.
730x030: 20 00 55 00 53 00 42 00  20 00 55 00 41 00 52 00  .U.S.B.  .U.A.R.
740x040: 54 00 12 03 41 00 38 00  30 00 30 00 37 00 55 00 T...A.8. 0.0.7.U.
750x050: 62 00 35 00 c9 bf 1c 80  00 00 00 00 00 00 00 00 b.5..... ........
760x060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 ........ ........
770x070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 0f 23 ........ .......#
780x080: 2c 04 d3 fb 00 00 c9 bf  1c 80 42 00 00 00 00 00 ,....... ..B.....
790x090: 00 00 00 00 00 00 00 00  38 41 32 52 4a 33 47 4f ........ 8A2RJ3GO
80VID:     0x0403
81PID:     0x6001
82Release: 0x0000
83Bus Powered:  90 mA USB Remote Wake Up
84Manufacturer: FTDI
85Product:      FT232R USB UART
86Serial:       A8007Ub5
87Checksum      : 230f
88Internal EEPROM
89Enable Remote Wake Up
90PNP: 1
91Channel A has Mode UART VCP
92C0 Function: TXLED
93C1 Function: RXLED
94C2 Function: TXDEN
95C3 Function: PWREN
96C4 Function: SLEEP
97

README.mingw

1* How to cross compile libftdi-1.x for Windows? *
2   1 - Prepare a pkg-config wrapper according to
3       https://autotools.io/pkgconfig/cross-compiling.html ,
4       additionally export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS and
5       PKG_CONFIG_ALLOW_SYSTEM_LIBS.
6   2 - Write a CMake toolchain file according to
7       http://www.vtk.org/Wiki/CmakeMingw . Change the path to your future sysroot.
8   3 - Get libusb sources (either by cloning the git repo or by downloading a
9       tarball). Unpack, autogen.sh (when building from git), and configure like this:
10       ./configure --build=`./config.guess` --host=i686-w64-mingw32 \
11               --prefix=/usr --with-sysroot=$HOME/i686-w64-mingw32-root/
12   4 - run
13       make install DESTDIR=$HOME/i686-w64-mingw32-root/
14   5 - go to libftdi-1.x source directory and run
15       cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain-mingw.cmake \
16             -DCMAKE_INSTALL_PREFIX="/usr" \
17             -DPKG_CONFIG_EXECUTABLE=`which i686-w64-mingw32-pkg-config`
18   6 - run
19       make install DESTDIR=$HOME/i686-w64-mingw32-root/
20
21* How to run libftdi 1.x under Windows *
22
23On 26-Jan-2014, libusbx and libusb project were merged with the release
24of libusb-1.0.18 and now the project is called libusb.
25
26libusb Windows backend will need to rely on a proper driver to run.
27Please refer to the following wiki page for proper driver installation.
28https://github.com/libusb/libusb/wiki/Windows#wiki-How_to_use_libusb_on_Windows
29
30As of 26-Jan-2014, libusb Windows backend supports WinUSB,
31libusb0.sys and libusbk.sys driver. However, libusb's support of
32libusb0.sys and libusbk.sys is considered to be less mature than
33WinUSB. Therefore, WinUSB driver installation using Zadig
34is recommended.
35
36Take note once you replace the original FTDI driver with WinUSB driver,
37you can no longer use the functionality the original FTDI driver provides
38(eg. Virtual Serial Port or D2XX).
39