Projet

Général

Profil

Wiki » test.py

Code de test Python FTDI 245 - Anonyme, 28/03/2013 16:37

 
from ctypes import *

#http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer%27s_Guide%28FT_000071%29.pdf
#http://docs.python.org/2/library/ctypes.html


FT_LIST_NUMBER_ONLY=c_uint(0x80000000)

#enum {
FT_OK = 0
# FT_INVALID_HANDLE,
# FT_DEVICE_NOT_FOUND,
# FT_DEVICE_NOT_OPENED,
# FT_IO_ERROR,
# FT_INSUFFICIENT_RESOURCES,
# FT_INVALID_PARAMETER,
# FT_INVALID_BAUD_RATE,

# FT_DEVICE_NOT_OPENED_FOR_ERASE,
# FT_DEVICE_NOT_OPENED_FOR_WRITE,
# FT_FAILED_TO_WRITE_DEVICE,
# FT_EEPROM_READ_FAILED,
# FT_EEPROM_WRITE_FAILED,
# FT_EEPROM_ERASE_FAILED,
# FT_EEPROM_NOT_PRESENT,
# FT_EEPROM_NOT_PROGRAMMED,
# FT_INVALID_ARGS,
# FT_NOT_SUPPORTED,
# FT_OTHER_ERROR,
# FT_DEVICE_LIST_NOT_READY,
# };



if __name__ == "__main__":
ftdll=windll.LoadLibrary("Driver FTDI\\i386\\ftd2xx.dll")
print(ftdll)
numberofdev=c_uint()
dummy=c_uint()
handle=c_uint()
buf="0x101010101010101010101010101010101010"
ftdll.FT_ListDevices(byref(numberofdev),byref(dummy),FT_LIST_NUMBER_ONLY)
print(numberofdev)
print handle
if numberofdev == 0:
print "No device available"
else:
if ftdll.FT_Open(0,byref(handle)) == FT_OK:
print handle
if ftdll.FT_Write(handle, buf, len(buf), byref(dummy)) == FT_OK:
print dummy,"bytes written"
else:
print "Can't write to device"
ftdll.FT_Close(handle)
else:
print "Can't open device"
    (1-1/1)