Python wrapper around libFT4222.
Project description
python-ft4222
The FT4222H is a High/Full Speed USB2.0-to-Quad SPI/I2C device controller. This project provides (incomplete) python binding to LibFT4222 (user guide). It provides a similar api than LibFT4222 does.
The complete documentation can be found here
Example
I2C Master
import ft4222
import ft4222.I2CMaster
# list devices
nbDev = ft4222.createDeviceInfoList()
for i in range(nbDev):
print(ft4222.getDeviceInfoDetail(i, False))
# open device with default description 'FT4222 A'
dev = ft4222.openByDescription('FT4222 A')
# init i2c master, clock speed 100kHz
dev.i2cMaster_Init(100000)
# do a i2c transfers where full control is required
slave = 1 # address
# read one byte, don't stop
data = dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.REPEATED_START, 1)[0]
# read another 5 bytes
data += dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.NONE, 5)
# another byte, than stop
data += dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.STOP, 1)
GPIO
import time
import ft4222
from ft4222.GPIO import Dir, Port, Output
# open device with default description 'FT4222 A'
dev = ft4222.openByDescription('FT4222 A')
# use GPIO2 as gpio (not suspend out)
dev.setSuspendOut(False)
# use GPIO3 as gpio (not wakeup)
dev.setWakeUpInterrupt(False)
# init GPIO2 as output
dev.gpio_Init(gpio2 = Dir.OUTPUT)
# generate a square wave signal with GPIO2
while True:
dev.gpio_Write(Port.P2, output)
output = not output
time.sleep(0.1)
Accessrights
Under Linux, the usb device is normally not accessibly by a normal user, therefor
a udev rule is required. Create or extend /etc/udev/rules.d/99-ftdi.rules
to
contain the following text:
# FTDI's ft4222 USB-I2C Adapter
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="601c", GROUP="plugdev", MODE="0666"
Requirements
Windows
MSVCR100.dll/MSVCP100.dll from Microsoft Visual C++ 2010 Redistributable Package need to be installed. Today, on most systems, these DLLs (or the package) should already be installed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ft4222-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09f18a5610d0d81c568c9095798f542166b98025d119c9fa91555fa5bfddc2ee |
|
MD5 | bb0c5c63ebfd2816d27c571fbdb05cb0 |
|
BLAKE2b-256 | a3df61a69701629f34e2745a698fc83c535b3b9fbb189e9ff4255bef1b7f4047 |
Hashes for ft4222-1.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 074f4eb234450306b9040d721eb5ab2a423d3b07d6f4a30824198afeb0a9bbb6 |
|
MD5 | 5fc62ae58187e7622b1ba7129dfc67de |
|
BLAKE2b-256 | 674e4abcb3a7a287114b7a9c19b747819cba06db4857787432eea55b9a9f183f |
Hashes for ft4222-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7e31cefcdcfe3653df35cd993f821b746e747b294ded8bff27d1f8bd8c5e43b |
|
MD5 | a067047cbd950016ef38138a588b498b |
|
BLAKE2b-256 | 395c2c20ed35f453fb92e636c560fb6d4c238e56a1fb079199fa607a5372c358 |
Hashes for ft4222-1.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb3cb6485d7a0d1eac0e0027eab6b9ec95e5f5722e853cdc2850d2ae70086eea |
|
MD5 | 37a5c967520942020ef95274e4d12bea |
|
BLAKE2b-256 | 6cf15d5fc8d8dd3756959e0ccdbed8abcd8e01657967f9fd958dc2211d955f00 |
Hashes for ft4222-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24cdb72a7cd420c1ed009c0821555b9818b8828dc31a1a01224a35d4757c7e5d |
|
MD5 | d7d87b077b228cdc326e4394a5456099 |
|
BLAKE2b-256 | ad5b1e294a7a6f5dd625abfd2c5c037cbe5e54e3cb4301d56b4a9e820aef398e |
Hashes for ft4222-1.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f91e530ee6fe6a13c08ec4dc3c7f54a704fc642b3d73f4392a9db22c5e243dd |
|
MD5 | a961bffd498726f72a9784adc155c67c |
|
BLAKE2b-256 | e912f4f8f1e3e22dbbd3e213c52842488d31036d3b2dd729efe6918ae4ab10d4 |
Hashes for ft4222-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab5ea9522bd0fd1b87348bf26d0a1131e87f586366271581c9b1d0acdf870173 |
|
MD5 | f6fe4c143fa62e00cac57e1ea71e2854 |
|
BLAKE2b-256 | 724a35d444168ff54d017b79fc520071ae9def7a479bb91042e6d3b3c200dd95 |
Hashes for ft4222-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70aec6df75d1f8ee051c5d16a48363e4d3552feecf3466cec2700415c073e5e4 |
|
MD5 | dace4615f57f459a1f2313fffca86b7f |
|
BLAKE2b-256 | c6af3a1cbced5dc9a2c030158a426214626a57d316abaa1f361c520a96f45e87 |
Hashes for ft4222-1.5.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caec2458db0d8e29888da2c22aa4427c1d993e943ed325ef7a6b8eb24f55d163 |
|
MD5 | d0eb97c58d9170daa57acb33f8503514 |
|
BLAKE2b-256 | 5c890fb138a925bb5e745d1ee4201b4e4942cda9fce0252c524d714072bdc411 |
Hashes for ft4222-1.5.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39a7d8795d32b8c126ed253a0c1a9d7971f3af83d2ceb796af47fbef03485741 |
|
MD5 | 9a9af6d7a52d76dd956f756f5bfe752b |
|
BLAKE2b-256 | d3e945dd054df911f6f397e6203e5d3b44175d1236782035d6b555d3352947c3 |
Hashes for ft4222-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28b472bbbb18e6f65dacd139231a53640827f2e486c54750fbcff7a16454cb6d |
|
MD5 | 310cf9a8599ca4fc68ac2a6170feb68b |
|
BLAKE2b-256 | 3ebb2b2506ef3b9ab743c0166dfc45cc25aee6e8676811fb31e5abe0c255ca43 |
Hashes for ft4222-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | baf80af3de3af376080bfb8f75f3d6aba9e9415001a6f72299cbb344e6b739cb |
|
MD5 | d64f01f2a1d0cfc4865484f23ce88c97 |
|
BLAKE2b-256 | fb32f00c0d33bca88688267707b1d8e142e7236e8c9dc7b59e860a0fff46fe41 |
Hashes for ft4222-1.5.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 286a2f3c023e9beb5c6ca6b692c3ed92a1fe44b326f7cb58807d0b99f372c7d7 |
|
MD5 | 0027e15ddbdf3fb36d2214ad0dc51422 |
|
BLAKE2b-256 | 9bc4d98a1ba85dd978511555b8aa299230ca7cbeceab6803224f9d8b7321511c |
Hashes for ft4222-1.5.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10136015000719f68b2a4b319b612183a1601816870521e6a45c8c0b67d38325 |
|
MD5 | 6a5af16bf67ad4bc8832f63271779156 |
|
BLAKE2b-256 | 05053810d8480f27fdffbf8ffd44bfb9ed241bc99ea52fd1a59bdd1bf425a514 |
Hashes for ft4222-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1894469abffd739fc3a83f818ea29532283965c74c3c64e5c9b9e6b454971d03 |
|
MD5 | fa1aed5ca7af90be8ff6b7beef4d6a15 |
|
BLAKE2b-256 | 26f79cf3544dfbd40026a9e8c2180a5ef3735b7b373c0064bd7c9f1e9baba8f9 |
Hashes for ft4222-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e208af13621b8a79a8c623c8deb3b971f4d4e4587156622a6558b91719f9d33 |
|
MD5 | bea5add8fc60fc806e78c694f01482ac |
|
BLAKE2b-256 | e15b33a0dd57c3613f9dbc43f27cfe3becaf77b5790ccf17103a9950ab3820b1 |
Hashes for ft4222-1.5.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 511b785a23ba2fc8480dbaeda33e1f22ffe5dd58731e1c53e379989731fb42ad |
|
MD5 | e5c13e13f99509cc9aa0e7a92eaefebd |
|
BLAKE2b-256 | 779a9f8e53600fac3363f593de9ba9db6071a16b7fa0c8df79ead3819e4f6b67 |
Hashes for ft4222-1.5.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50e37f59b8e553384cdbfab64096e3fb1c7ca9f15ae419ae0d0fdda3a2e05f54 |
|
MD5 | 8c074262ac741cd228b06d8cd209cfb2 |
|
BLAKE2b-256 | 8b3a6bf673e12548683a9b54c14bf1b6c6da5124941fb2f755471ba8148bad69 |
Hashes for ft4222-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5a993dd3af47ab69f5b58920dba15c98658de7a73b9c81d402fe6eaf292edab |
|
MD5 | fcbf751a4b3e7a4441a936dfa714e1fa |
|
BLAKE2b-256 | 56059aeca364ba9dfd011d3e096c3b77e274439aa20bb2bf8b9aec4efd459822 |
Hashes for ft4222-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d688830cf004cde39b3cc757fef8ec31ae266fceda1566ca53b3b79e5ab7b6e4 |
|
MD5 | 8af416b7b0635b48fe0cf809d1039cd0 |
|
BLAKE2b-256 | c99020aed17560dc70707fd5423248dfb2a7d57826dcb06ed1f61e4b8bc40718 |
Hashes for ft4222-1.5.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 396f5c7c38e0c8dc1b31d5d9709d7eb86ef0ee75412867ccc352506aa3a29ae4 |
|
MD5 | 21550b4baae4e6ae669a00b8a97de34f |
|
BLAKE2b-256 | dd212f43791d71d1957f822764894e55030eaba14371177f1401f4e723053b90 |
Hashes for ft4222-1.5.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a300c2749adb674ef3d95b17a1311deaf0a3318e14ee7e9d7e56317e307b0012 |
|
MD5 | 80a046fc129a1c1d8da8a343681cd881 |
|
BLAKE2b-256 | 817485b3c3e8e78e3e7fa55bd58ece5f33808bdd7cb8e088d59fc0348e8a3676 |
Hashes for ft4222-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9670396daab3deb91847ee40c0338bca07f4041176b2aed1c49277dc1ef3497f |
|
MD5 | 11c0eb30414631eae805aa3d90901f9c |
|
BLAKE2b-256 | f5374d9b9adbd4563476fd13a006613810b20d1660c490e621bb311b3b5d96b0 |
Hashes for ft4222-1.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cceacb43d75a5cb3cdf2d95d4164fb2c1cfde007d9782538150bc10d7933680 |
|
MD5 | 4215f0c253b00f05b9295f8f6c2aad17 |
|
BLAKE2b-256 | 7a5961f04eecbf80b61e2fde642b46589833340f853390c2f23563042702c543 |
Hashes for ft4222-1.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a675b88124dfb1d2744f27823e3dfd094c0236674e453e83d486fc17358761ff |
|
MD5 | b4e463e904f3c44f711cedc80e5c44db |
|
BLAKE2b-256 | 47270326c68dab203a813823d7036a42962244c16560562f99fb6039df706bbc |
Hashes for ft4222-1.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 296555ca4096b5ce13e79b089622de5cf9236f3d32b074c8483ae72490e7448b |
|
MD5 | fda711be7c2d717bc7cf26ae8fd6d77d |
|
BLAKE2b-256 | f09c84f2c7e55856e06e69b6fda794a184fbb7b1fba9a5eb1858c221df5446bc |