/cvi/instr/FTD2xx/ftd2xx.lib |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-application/octet-stream |
\ No newline at end of property |
Index: cvi/instr/FTD2xx/FTD2xx.prj |
=================================================================== |
--- cvi/instr/FTD2xx/FTD2xx.prj (revision 153) |
+++ cvi/instr/FTD2xx/FTD2xx.prj (nonexistent) |
@@ -1,432 +0,0 @@ |
-[Project Header] |
-Version = 1302 |
-Pathname = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/FTD2xx.prj" |
-CVI Dir = "/c/program files (x86)/national instruments/cvi2013" |
-CVI Shared Dir = "/C/Program Files (x86)/National Instruments/Shared/CVI" |
-CVI Pub Local Dir = "/C/ProgramData/National Instruments/CVI2013" |
-CVI Pub Global Dir = "/C/ProgramData/National Instruments/CVI" |
-IVI Standard Root Dir = "/C/Program Files (x86)/IVI Foundation/IVI" |
-VXIplug&play Framework Dir = "/C/Program Files (x86)/IVI Foundation/VISA/winnt" |
-IVI Standard Root 64-bit Dir = "/C/Program Files/IVI Foundation/IVI" |
-VXIplug&play Framework 64-bit Dir = "/C/Program Files/IVI Foundation/VISA/win64" |
-Number of Files = 3 |
-Target Type = "Executable" |
-Flags = 2064 |
-Copied From Locked InstrDrv Directory = False |
-Copied from VXIPNP Directory = False |
-Locked InstrDrv Name = "" |
-Don't Display Deploy InstrDrv Dialog = False |
- |
-[Folders] |
-User Interface Files Folder Not Added Yet = True |
-Instrument Files Folder Not Added Yet = True |
-Folder 0 = "Include Files" |
-FolderEx 0 = "Include Files" |
-Folder 1 = "Source Files" |
-FolderEx 1 = "Source Files" |
-Folder 2 = "Library Files" |
-FolderEx 2 = "Library Files" |
- |
-[File 0001] |
-File Type = "Include" |
-Res Id = 1 |
-Path Is Rel = True |
-Path Rel To = "Project" |
-Path Rel Path = "ftd2xx.h" |
-Path = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/ftd2xx.h" |
-Exclude = False |
-Project Flags = 0 |
-Folder = "Include Files" |
-Folder Id = 0 |
- |
-[File 0002] |
-File Type = "CSource" |
-Res Id = 2 |
-Path Is Rel = True |
-Path Rel To = "Project" |
-Path Rel Path = "ftd2xxd.c" |
-Path = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/ftd2xxd.c" |
-Exclude = False |
-Compile Into Object File = False |
-Project Flags = 0 |
-Folder = "Source Files" |
-Folder Id = 1 |
- |
-[File 0003] |
-File Type = "Library" |
-Res Id = 3 |
-Path Is Rel = True |
-Path Rel To = "Project" |
-Path Rel Path = "ftd2xx.lib" |
-Path = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/ftd2xx.lib" |
-Exclude = False |
-Project Flags = 0 |
-Folder = "Library Files" |
-Folder Id = 2 |
- |
-[Custom Build Configs] |
-Num Custom Build Configs = 0 |
- |
-[Default Build Config Debug] |
-Config Name = "Debug" |
-Is 64-Bit = False |
-Is Release = False |
-Default Calling Convention = "cdecl" |
-Optimization Level = "Optimize for speed (level 2)" |
-Require Prototypes = True |
-Show Warning IDs in Build Output = False |
-Selected Warning Level = "Common" |
-Warning List None = "" |
-Warning List Common = "" |
-Warning List Extended = "" |
-Warning List All = "" |
-Warning Mode = 0 |
-Enable Unreferenced Identifiers Warning = True |
-Enable Pointer Mismatch Warning = True |
-Enable Unreachable Code Warning = True |
-Enable Assignment In Conditional Warning = True |
-Uninitialized Locals Compile Warning = "Aggressive" |
-Require Return Values = True |
-Enable C99 Extensions = True |
-Enable OpenMP Extensions = False |
-Stack Size = 250000 |
-Stack Reserve = 1048576 |
-Stack Commit = 4096 |
-Image Base Address = 4194304 |
-Image Base Address x64 = 4194304 |
-Compiler Defines = "/DWIN32_LEAN_AND_MEAN" |
-Sign = False |
-Sign Store = "" |
-Sign Certificate = "" |
-Sign Timestamp URL = "" |
-Sign URL = "" |
-Manifest Embed = False |
-Icon File Is Rel = False |
-Icon File = "" |
-Application Title = "" |
-Use IVI Subdirectories for Import Libraries = False |
-Use VXIPNP Subdirectories for Import Libraries = False |
-Use Dflt Import Lib Base Name = True |
-Where to Copy DLL = "Do not copy" |
-Custom Directory to Copy DLL Is Rel = False |
-Custom Directory to Copy DLL = "" |
-Generate Source Documentation = "None" |
-Runtime Support = "Full Runtime Support" |
-Runtime Binding = "Shared" |
-Embed Project .UIRs = False |
-Generate Map File = False |
-Embed Timestamp = True |
-Create Console Application = False |
-Using LoadExternalModule = False |
-DLL Exports = "Include File Symbols" |
-Register ActiveX Server = False |
-Numeric File Version = "1,0,0,0" |
-Numeric Prod Version = "1,0,0,0" |
-Comments = "" |
-Comments Ex = "" |
-Company Name = "" |
-Company Name Ex = "%company" |
-File Description = "FTD2xx (Debug x86)" |
-File Description Ex = "%application (%rel_dbg %arch)" |
-File Version = "1.0" |
-File Version Ex = "%f1.%f2" |
-Internal Name = "FTD2xx" |
-Internal Name Ex = "%basename" |
-Legal Copyright = "Copyright © 2016" |
-Legal Copyright Ex = "Copyright © %company %Y" |
-Legal Trademarks = "" |
-Legal Trademarks Ex = "" |
-Original Filename = "FTD2xx.exe" |
-Original Filename Ex = "%filename" |
-Private Build = "" |
-Private Build Ex = "" |
-Product Name = " FTD2xx" |
-Product Name Ex = "%company %application" |
-Product Version = "1.0" |
-Product Version Ex = "%p1.%p2" |
-Special Build = "" |
-Special Build Ex = "" |
-Add Type Lib To DLL = False |
-Include Type Lib Help Links = False |
-TLB Help Style = "HLP" |
-Type Lib FP File Is Rel = False |
-Type Lib FP File = "" |
- |
-[Default Build Config Release] |
-Config Name = "Release" |
-Is 64-Bit = False |
-Is Release = True |
-Default Calling Convention = "cdecl" |
-Optimization Level = "Optimize for speed (level 2)" |
-Require Prototypes = True |
-Show Warning IDs in Build Output = False |
-Selected Warning Level = "Common" |
-Warning List None = "" |
-Warning List Common = "" |
-Warning List Extended = "" |
-Warning List All = "" |
-Warning Mode = 0 |
-Enable Unreferenced Identifiers Warning = True |
-Enable Pointer Mismatch Warning = True |
-Enable Unreachable Code Warning = True |
-Enable Assignment In Conditional Warning = True |
-Uninitialized Locals Compile Warning = "Aggressive" |
-Require Return Values = True |
-Enable C99 Extensions = True |
-Enable OpenMP Extensions = False |
-Stack Size = 250000 |
-Stack Reserve = 1048576 |
-Stack Commit = 4096 |
-Image Base Address = 4194304 |
-Image Base Address x64 = 4194304 |
-Compiler Defines = "/DWIN32_LEAN_AND_MEAN" |
-Sign = False |
-Sign Store = "" |
-Sign Certificate = "" |
-Sign Timestamp URL = "" |
-Sign URL = "" |
-Manifest Embed = False |
-Icon File Is Rel = False |
-Icon File = "" |
-Application Title = "" |
-Use IVI Subdirectories for Import Libraries = False |
-Use VXIPNP Subdirectories for Import Libraries = False |
-Use Dflt Import Lib Base Name = True |
-Where to Copy DLL = "Do not copy" |
-Custom Directory to Copy DLL Is Rel = False |
-Custom Directory to Copy DLL = "" |
-Generate Source Documentation = "None" |
-Runtime Support = "Full Runtime Support" |
-Runtime Binding = "Shared" |
-Embed Project .UIRs = False |
-Generate Map File = False |
-Embed Timestamp = True |
-Create Console Application = False |
-Using LoadExternalModule = False |
-DLL Exports = "Include File Symbols" |
-Register ActiveX Server = False |
-Add Type Lib To DLL = False |
-Include Type Lib Help Links = False |
-TLB Help Style = "HLP" |
-Type Lib FP File Is Rel = False |
-Type Lib FP File = "" |
- |
-[Default Build Config Debug64] |
-Config Name = "Debug64" |
-Is 64-Bit = True |
-Is Release = False |
-Default Calling Convention = "cdecl" |
-Optimization Level = "Optimize for speed (level 2)" |
-Require Prototypes = True |
-Show Warning IDs in Build Output = False |
-Selected Warning Level = "Common" |
-Warning List None = "" |
-Warning List Common = "" |
-Warning List Extended = "" |
-Warning List All = "" |
-Warning Mode = 0 |
-Enable Unreferenced Identifiers Warning = True |
-Enable Pointer Mismatch Warning = True |
-Enable Unreachable Code Warning = True |
-Enable Assignment In Conditional Warning = True |
-Uninitialized Locals Compile Warning = "Aggressive" |
-Require Return Values = True |
-Enable C99 Extensions = True |
-Enable OpenMP Extensions = False |
-Stack Size = 250000 |
-Stack Reserve = 1048576 |
-Stack Commit = 4096 |
-Image Base Address = 4194304 |
-Image Base Address x64 = 4194304 |
-Compiler Defines = "/DWIN32_LEAN_AND_MEAN" |
-Sign = False |
-Sign Store = "" |
-Sign Certificate = "" |
-Sign Timestamp URL = "" |
-Sign URL = "" |
-Manifest Embed = False |
-Icon File Is Rel = False |
-Icon File = "" |
-Application Title = "" |
-Use IVI Subdirectories for Import Libraries = False |
-Use VXIPNP Subdirectories for Import Libraries = False |
-Use Dflt Import Lib Base Name = True |
-Where to Copy DLL = "Do not copy" |
-Custom Directory to Copy DLL Is Rel = False |
-Custom Directory to Copy DLL = "" |
-Generate Source Documentation = "None" |
-Runtime Support = "Full Runtime Support" |
-Runtime Binding = "Shared" |
-Embed Project .UIRs = False |
-Generate Map File = False |
-Embed Timestamp = True |
-Create Console Application = False |
-Using LoadExternalModule = False |
-DLL Exports = "Include File Symbols" |
-Register ActiveX Server = False |
-Add Type Lib To DLL = False |
-Include Type Lib Help Links = False |
-TLB Help Style = "HLP" |
-Type Lib FP File Is Rel = False |
-Type Lib FP File = "" |
- |
-[Default Build Config Release64] |
-Config Name = "Release64" |
-Is 64-Bit = True |
-Is Release = True |
-Default Calling Convention = "cdecl" |
-Optimization Level = "Optimize for speed (level 2)" |
-Require Prototypes = True |
-Show Warning IDs in Build Output = False |
-Selected Warning Level = "Common" |
-Warning List None = "" |
-Warning List Common = "" |
-Warning List Extended = "" |
-Warning List All = "" |
-Warning Mode = 0 |
-Enable Unreferenced Identifiers Warning = True |
-Enable Pointer Mismatch Warning = True |
-Enable Unreachable Code Warning = True |
-Enable Assignment In Conditional Warning = True |
-Uninitialized Locals Compile Warning = "Aggressive" |
-Require Return Values = True |
-Enable C99 Extensions = True |
-Enable OpenMP Extensions = False |
-Stack Size = 250000 |
-Stack Reserve = 1048576 |
-Stack Commit = 4096 |
-Image Base Address = 4194304 |
-Image Base Address x64 = 4194304 |
-Compiler Defines = "/DWIN32_LEAN_AND_MEAN" |
-Sign = False |
-Sign Store = "" |
-Sign Certificate = "" |
-Sign Timestamp URL = "" |
-Sign URL = "" |
-Manifest Embed = False |
-Icon File Is Rel = False |
-Icon File = "" |
-Application Title = "" |
-Use IVI Subdirectories for Import Libraries = False |
-Use VXIPNP Subdirectories for Import Libraries = False |
-Use Dflt Import Lib Base Name = True |
-Where to Copy DLL = "Do not copy" |
-Custom Directory to Copy DLL Is Rel = False |
-Custom Directory to Copy DLL = "" |
-Generate Source Documentation = "None" |
-Runtime Support = "Full Runtime Support" |
-Runtime Binding = "Shared" |
-Embed Project .UIRs = False |
-Generate Map File = False |
-Embed Timestamp = True |
-Create Console Application = False |
-Using LoadExternalModule = False |
-DLL Exports = "Include File Symbols" |
-Register ActiveX Server = False |
-Add Type Lib To DLL = False |
-Include Type Lib Help Links = False |
-TLB Help Style = "HLP" |
-Type Lib FP File Is Rel = False |
-Type Lib FP File = "" |
- |
-[Compiler Options] |
-Default Calling Convention = "cdecl" |
-Require Prototypes = True |
-Require Return Values = False |
-Enable Pointer Mismatch Warning = False |
-Enable Unreachable Code Warning = False |
-Enable Unreferenced Identifiers Warning = False |
-Enable Assignment In Conditional Warning = False |
-O Option Compatible With 5.0 = False |
-Enable C99 Extensions = True |
-Uninitialized Locals Compile Warning = "Disabled" |
-Precompile Prefix Header = False |
-Prefix Header File = "" |
- |
-[Run Options] |
-Stack Size = 250000 |
-Stack Commit = 4096 |
-Image Base Address = 4194304 |
-Image Base Address x64 = 4194304 |
- |
-[Compiler Defines] |
-Compiler Defines = "/DWIN32_LEAN_AND_MEAN" |
- |
-[Create Executable] |
-Executable File_Debug Is Rel = True |
-Executable File_Debug Rel To = "Project" |
-Executable File_Debug Rel Path = "FTD2xx.exe" |
-Executable File_Debug = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/FTD2xx.exe" |
-Executable File_Release Is Rel = True |
-Executable File_Release Rel To = "Project" |
-Executable File_Release Rel Path = "FTD2xx.exe" |
-Executable File_Release = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/FTD2xx.exe" |
-Executable File_Debug64 Is Rel = True |
-Executable File_Debug64 Rel To = "Project" |
-Executable File_Debug64 Rel Path = "FTD2xx.exe" |
-Executable File_Debug64 = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/FTD2xx.exe" |
-Executable File_Release64 Is Rel = True |
-Executable File_Release64 Rel To = "Project" |
-Executable File_Release64 Rel Path = "FTD2xx.exe" |
-Executable File_Release64 = "/c/SAMO/Programi/NI/cvi/instr/FTD2xx/FTD2xx.exe" |
-Icon File Is Rel = False |
-Icon File = "" |
-Application Title = "" |
-DLL Exports = "Include File Symbols" |
-Use IVI Subdirectories for Import Libraries = False |
-Use VXIPNP Subdirectories for Import Libraries = False |
-Use Dflt Import Lib Base Name = True |
-Where to Copy DLL = "Do not copy" |
-Custom Directory to Copy DLL Is Rel = False |
-Custom Directory to Copy DLL = "" |
-Generate Source Documentation = "None" |
-Add Type Lib To DLL = False |
-Include Type Lib Help Links = False |
-TLB Help Style = "HLP" |
-Type Lib FP File Is Rel = False |
-Type Lib FP File = "" |
-Type Lib Guid = "" |
-Runtime Support = "Full Runtime Support" |
-Instrument Driver Support Only = False |
-Embed Project .UIRs = False |
-Generate Map File = False |
- |
-[External Compiler Support] |
-UIR Callbacks File Option = 0 |
-Using LoadExternalModule = False |
-Create Project Symbols File = True |
-UIR Callbacks Obj File Is Rel = False |
-UIR Callbacks Obj File = "" |
-Project Symbols H File Is Rel = False |
-Project Symbols H File = "" |
-Project Symbols Obj File Is Rel = False |
-Project Symbols Obj File = "" |
- |
-[ActiveX Server Options] |
-Specification File Is Rel = False |
-Specification File = "" |
-Source File Is Rel = False |
-Source File = "" |
-Include File Is Rel = False |
-Include File = "" |
-IDL File Is Rel = False |
-IDL File = "" |
-Register ActiveX Server = False |
- |
-[Signing Info] |
-Sign = False |
-Sign Debug Build = False |
-Store = "" |
-Certificate = "" |
-Timestamp URL = "" |
-URL = "" |
- |
-[Manifest Info] |
-Embed = False |
- |
-[tpcSection] |
-tpcEnabled = 0 |
-tpcOverrideEnvironment = 0 |
-tpcEnabled x64 = 0 |
-tpcOverrideEnvironment x64 = 0 |
- |
Index: cvi/instr/FTD2xx/ftd2xxd.c |
=================================================================== |
--- cvi/instr/FTD2xx/ftd2xxd.c (revision 153) |
+++ cvi/instr/FTD2xx/ftd2xxd.c (nonexistent) |
@@ -1,159 +0,0 @@ |
-#include <ansi_c.h> |
-#include <cvirte.h> |
-#include "ftd2xx.h" |
-#include <utility.h> |
- |
-int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, |
- LPSTR lpszCmdLine, int nCmdShow) { |
- |
- BYTE bufOut[1024],bufIn[1024]; |
- DWORD bToSend, bSent, bToReceive, bReceived; |
- DWORD dwClockDivisor=29;//Value of clock divisor, SCL Frequency = 60/((1+29)*2) (MHz) = 1Mhz |
- DWORD numDevs; |
- DWORD Flags; |
- DWORD ID; |
- DWORD Type; |
- DWORD LocId; |
- char SerialNumber[16]; |
- char Description[64]; |
- FT_STATUS ftStatus; |
- FT_HANDLE ftHandle,ftHandleTemp; |
- FT_DEVICE_LIST_INFO_NODE *devInfo; |
- |
- if (InitCVIRTE (hInstance, 0, 0) == 0) |
- return -1; /* out of memory */ |
-// create the device information list |
- ftStatus = FT_CreateDeviceInfoList(&numDevs); |
- if (ftStatus == FT_OK) { |
- printf("Number of devices is %d\n",numDevs); |
- } |
- if (numDevs > 0) { |
-// allocate storage for list based on numDevs |
- devInfo = (FT_DEVICE_LIST_INFO_NODE*)malloc(sizeof(FT_DEVICE_LIST_INFO_NODE)*numDevs); |
-// get the device information list |
- ftStatus = FT_GetDeviceInfoList(devInfo,&numDevs); |
- if (ftStatus == FT_OK) { |
- for (int i = 0; i < numDevs; i++) { |
- printf("Dev %d:\n",i); |
- printf(" Flags=0x%x\n",devInfo[i].Flags); |
- printf(" Type=0x%x\n",devInfo[i].Type); |
- printf(" ID=0x%x\n",devInfo[i].ID); |
- printf(" LocId=0x%x\n",devInfo[i].LocId); |
- printf(" SerialNumber=%s\n",devInfo[i].SerialNumber); |
- printf(" Description=%s\n",devInfo[i].Description); |
- printf(" ftHandle=0x%x\n",devInfo[i].ftHandle); |
- } |
- } |
-// get information for device 0 |
-/* |
- ftStatus = FT_GetDeviceInfoDetail(0, &Flags, &Type, &ID, &LocId, SerialNumber, Description, &ftHandleTemp); |
- if (ftStatus == FT_OK) { |
- printf("Dev 0:\n"); |
- printf(" Flags=0x%x\n",Flags); |
- printf(" Type=0x%x\n",Type); |
- printf(" ID=0x%x\n",ID); |
- printf(" LocId=0x%x\n",LocId); |
- printf(" SerialNumber=%s\n",SerialNumber); |
- printf(" Description=%s\n",Description); |
- printf(" ftHandle=0x%x\n",ftHandleTemp); |
- } |
-*/ |
- } |
- ftStatus = FT_Open(0,&ftHandle); |
- if (ftStatus != FT_OK) { |
- printf("Can't open FT232H device! \n"); |
- return 1; |
- } else // Port opened successfully |
- printf("Successfully open FT2232H device! \n"); |
- |
-// reset device |
- ftStatus = FT_ResetDevice(ftHandle); |
-//Purge USB receive buffer first by reading out all old data from FT232H receive buffer |
- ftStatus |= FT_GetQueueStatus(ftHandle, &bToReceive); // Get the number of bytes in the FT232H receive buffer |
- if ((ftStatus == FT_OK) && (bToReceive > 0)) |
- ftStatus |= FT_Read(ftHandle, bufIn, bToReceive, &bReceived); //Read out the data from FT232H receive buffer |
- ftStatus |= FT_SetUSBParameters(ftHandle, 65535, 65535); //Set USB request transfer size |
- ftStatus |= FT_SetChars(ftHandle, FALSE, 0, FALSE, 0); //Disable event and error characters |
- ftStatus |= FT_SetTimeouts(ftHandle, 3000, 3000); //Sets the read and write timeouts in 3 sec for the FT232H |
- ftStatus |= FT_SetLatencyTimer(ftHandle, 1); //Set the latency timer |
- ftStatus |= FT_SetBitMode(ftHandle, 0x0, 0x00); //Reset controller |
- ftStatus |= FT_SetBitMode(ftHandle, 0x0, 0x02); //Enable MPSSE mode |
- if (ftStatus != FT_OK) { |
- printf("fail on initialize FT2232H device ! \n"); |
- return FALSE; |
- } |
- Sleep(50); // Wait 50ms for all the USB stuff to complete and work |
- |
-// test communication by sending bad command 0xAA |
- bToSend=0; |
- bufOut[bToSend++]=0xAA; |
- ftStatus = FT_Write(ftHandle, bufOut, bToSend, &bSent); |
- do{ |
- ftStatus = FT_GetQueueStatus(ftHandle, &bToReceive); // Get the number of bytes in the device input buffer |
- }while ((bToReceive == 0) && (ftStatus == FT_OK)); //or Timeout |
- ftStatus = FT_Read(ftHandle, bufIn, bToReceive, &bReceived); //Read out the data from input buffer |
- printf("Received byts: %d",bReceived); |
- if (bReceived > 1) printf(": 0x%02X, 0x%02X",bufIn[bReceived-2],bufIn[bReceived-1]); |
- printf("\n"); |
- |
- bToSend=0; |
- bufOut[bToSend++]=0xAB; |
- ftStatus = FT_Write(ftHandle, bufOut, bToSend, &bSent); |
- do{ |
- ftStatus = FT_GetQueueStatus(ftHandle, &bToReceive); // Get the number of bytes in the device input buffer |
- }while ((bToReceive == 0) && (ftStatus == FT_OK)); //or Timeout |
- ftStatus = FT_Read(ftHandle, bufIn, bToReceive, &bReceived); //Read out the data from input buffer |
- printf("Received bytes: %d",bReceived); |
- if (bReceived > 1) printf(": 0x%02X, 0x%02X",bufIn[bReceived-2],bufIn[bReceived-1]); |
- printf("\n"); |
- |
- bToSend=0; |
- bufOut[bToSend++]=0x8A;//Ensure disable clock divide by 5 for 60Mhz master clock |
- bufOut[bToSend++]=0x97;//Ensure turn off adaptive clocking |
- bufOut[bToSend++]=0x8D;//disable 3 phase data clock |
- ftStatus = FT_Write(ftHandle, bufOut, bToSend, &bSent); |
- |
- bToSend = 0; |
- bufOut[bToSend++]=0x80; //Command to set directions of lower 8 pins and force value on bits set as output |
- bufOut[bToSend++]=0x00; //Set SDA, SCL high, WP disabled by SK, DO at bit &*, GPIOL0 at bit &* |
- bufOut[bToSend++]=0x0B; //Set SK,DO,GPIOL0 pins as output with bit **, other pins as input with bit &* |
-// The SK clock frequency can be worked out by below algorithm with divide by 5 set as off |
-// SK frequency = 60MHz /((1 + [(1 +0xValueH*256) OR 0xValueL])*2) |
- bufOut[bToSend++]=0x86; //Command to set clock divisor |
- bufOut[bToSend++]=dwClockDivisor & 0xFF; //Set 0xValueL of clock divisor |
- bufOut[bToSend++]=dwClockDivisor >> 8; //Set 0xValueH of clock divisor |
- ftStatus = FT_Write(ftHandle, bufOut, bToSend, &bSent); // Send out the commands |
- Sleep(20); //Delay for a while |
-//Turn off loop back in case |
- bToSend = 0; |
- bufOut[bToSend++]=0x85; //Command to turn off loop back of TDI/TDO connection |
- ftStatus = FT_Write(ftHandle, bufOut, bToSend, &bSent); // Send out the commands |
- Sleep(30); //Delay for a while |
- printf("SPI initialized successfuly\n"); |
- |
- bToSend=0; |
- bufOut[bToSend++]=0x82;// set ACBUS 0-7 |
- bufOut[bToSend++]=0x00;// value |
- bufOut[bToSend++]=0x00;// direction 0-input |
- bufOut[bToSend++]=0x80;// set ADBUS 0-7 |
- bufOut[bToSend++]=0xF0; |
- bufOut[bToSend++]=0xFF; |
- bufOut[bToSend++]=0x81;// read ADBUS |
- bufOut[bToSend++]=0x83;// read ACBUS |
- bufOut[bToSend++]=0x80; |
- bufOut[bToSend++]=0x00; |
- bufOut[bToSend++]=0xFF; |
- bufOut[bToSend++]=0x81; |
- bufOut[bToSend++]=0x83; |
- ftStatus = FT_Write(ftHandle, bufOut, bToSend, &bSent); |
- do{ |
- ftStatus = FT_GetQueueStatus(ftHandle, &bToReceive); // Get the number of bytes in the device input buffer |
- }while ((bToReceive == 0) && (ftStatus == FT_OK)); //or Timeout |
- ftStatus = FT_Read(ftHandle, bufIn, bToReceive, &bReceived); //Read out the data from input buffer |
- printf("Received bytes: 0x%02X, 0x%02X, 0x%02X, 0x%02X\n",bufIn[0],bufIn[1],bufIn[2],bufIn[3]); |
- |
- getchar(); |
-// Delay(10); |
- FT_Close(ftHandle); |
- return 0; |
-} |
Index: cvi/instr/FTD2xx/ftd2xx.h |
=================================================================== |
--- cvi/instr/FTD2xx/ftd2xx.h (revision 153) |
+++ cvi/instr/FTD2xx/ftd2xx.h (nonexistent) |
@@ -1,1444 +0,0 @@ |
-/*++ |
- |
-Copyright © 2001-2011 Future Technology Devices International Limited |
- |
-THIS SOFTWARE IS PROVIDED BY FUTURE TECHNOLOGY DEVICES INTERNATIONAL LIMITED "AS IS" |
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
-FUTURE TECHNOLOGY DEVICES INTERNATIONAL LIMITED BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT |
-OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE, DATA, OR PROFITS OR BUSINESS INTERRUPTION) |
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR |
-TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- |
-FTDI DRIVERS MAY BE USED ONLY IN CONJUNCTION WITH PRODUCTS BASED ON FTDI PARTS. |
- |
-FTDI DRIVERS MAY BE DISTRIBUTED IN ANY FORM AS LONG AS LICENSE INFORMATION IS NOT MODIFIED. |
- |
-IF A CUSTOM VENDOR ID AND/OR PRODUCT ID OR DESCRIPTION STRING ARE USED, IT IS THE |
-RESPONSIBILITY OF THE PRODUCT MANUFACTURER TO MAINTAIN ANY CHANGES AND SUBSEQUENT WHQL |
-RE-CERTIFICATION AS A RESULT OF MAKING THESE CHANGES. |
- |
- |
-Module Name: |
- |
-ftd2xx.h |
- |
-Abstract: |
- |
-Native USB device driver for FTDI FT232x, FT245x, FT2232x and FT4232x devices |
-FTD2XX library definitions |
- |
-Environment: |
- |
-kernel & user mode |
- |
- |
---*/ |
- |
- |
-#ifndef FTD2XX_H |
-#define FTD2XX_H |
- |
-#ifdef _WIN32 |
-// Compiling on Windows |
-#include <windows.h> |
- |
-// The following ifdef block is the standard way of creating macros |
-// which make exporting from a DLL simpler. All files within this DLL |
-// are compiled with the FTD2XX_EXPORTS symbol defined on the command line. |
-// This symbol should not be defined on any project that uses this DLL. |
-// This way any other project whose source files include this file see |
-// FTD2XX_API functions as being imported from a DLL, whereas this DLL |
-// sees symbols defined with this macro as being exported. |
- |
-#ifdef FTD2XX_EXPORTS |
-#define FTD2XX_API __declspec(dllexport) |
-#elif defined(FTD2XX_STATIC) |
-// Avoid decorations when linking statically to D2XX. |
-#define FTD2XX_API |
-// Static D2XX depends on these Windows libs: |
-#pragma comment(lib, "setupapi.lib") |
-#pragma comment(lib, "advapi32.lib") |
-#pragma comment(lib, "user32.lib") |
-#else |
-#define FTD2XX_API __declspec(dllimport) |
-#endif |
- |
-#else // _WIN32 |
-// Compiling on non-Windows platform. |
-#include "WinTypes.h" |
-// No decorations needed. |
-#define FTD2XX_API |
- |
-#endif // _WIN32 |
- |
-typedef PVOID FT_HANDLE; |
-typedef ULONG FT_STATUS; |
- |
-// |
-// Device status |
-// |
-enum { |
- FT_OK, |
- 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, |
-}; |
- |
- |
-#define FT_SUCCESS(status) ((status) == FT_OK) |
- |
-// |
-// FT_OpenEx Flags |
-// |
- |
-#define FT_OPEN_BY_SERIAL_NUMBER 1 |
-#define FT_OPEN_BY_DESCRIPTION 2 |
-#define FT_OPEN_BY_LOCATION 4 |
- |
-#define FT_OPEN_MASK (FT_OPEN_BY_SERIAL_NUMBER | \ |
- FT_OPEN_BY_DESCRIPTION | \ |
- FT_OPEN_BY_LOCATION) |
- |
-// |
-// FT_ListDevices Flags (used in conjunction with FT_OpenEx Flags |
-// |
- |
-#define FT_LIST_NUMBER_ONLY 0x80000000 |
-#define FT_LIST_BY_INDEX 0x40000000 |
-#define FT_LIST_ALL 0x20000000 |
- |
-#define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL) |
- |
-// |
-// Baud Rates |
-// |
- |
-#define FT_BAUD_300 300 |
-#define FT_BAUD_600 600 |
-#define FT_BAUD_1200 1200 |
-#define FT_BAUD_2400 2400 |
-#define FT_BAUD_4800 4800 |
-#define FT_BAUD_9600 9600 |
-#define FT_BAUD_14400 14400 |
-#define FT_BAUD_19200 19200 |
-#define FT_BAUD_38400 38400 |
-#define FT_BAUD_57600 57600 |
-#define FT_BAUD_115200 115200 |
-#define FT_BAUD_230400 230400 |
-#define FT_BAUD_460800 460800 |
-#define FT_BAUD_921600 921600 |
- |
-// |
-// Word Lengths |
-// |
- |
-#define FT_BITS_8 (UCHAR) 8 |
-#define FT_BITS_7 (UCHAR) 7 |
- |
-// |
-// Stop Bits |
-// |
- |
-#define FT_STOP_BITS_1 (UCHAR) 0 |
-#define FT_STOP_BITS_2 (UCHAR) 2 |
- |
-// |
-// Parity |
-// |
- |
-#define FT_PARITY_NONE (UCHAR) 0 |
-#define FT_PARITY_ODD (UCHAR) 1 |
-#define FT_PARITY_EVEN (UCHAR) 2 |
-#define FT_PARITY_MARK (UCHAR) 3 |
-#define FT_PARITY_SPACE (UCHAR) 4 |
- |
-// |
-// Flow Control |
-// |
- |
-#define FT_FLOW_NONE 0x0000 |
-#define FT_FLOW_RTS_CTS 0x0100 |
-#define FT_FLOW_DTR_DSR 0x0200 |
-#define FT_FLOW_XON_XOFF 0x0400 |
- |
-// |
-// Purge rx and tx buffers |
-// |
-#define FT_PURGE_RX 1 |
-#define FT_PURGE_TX 2 |
- |
-// |
-// Events |
-// |
- |
-typedef void (*PFT_EVENT_HANDLER)(DWORD,DWORD); |
- |
-#define FT_EVENT_RXCHAR 1 |
-#define FT_EVENT_MODEM_STATUS 2 |
-#define FT_EVENT_LINE_STATUS 4 |
- |
-// |
-// Timeouts |
-// |
- |
-#define FT_DEFAULT_RX_TIMEOUT 300 |
-#define FT_DEFAULT_TX_TIMEOUT 300 |
- |
-// |
-// Device types |
-// |
- |
-typedef ULONG FT_DEVICE; |
- |
-enum { |
- FT_DEVICE_BM, |
- FT_DEVICE_AM, |
- FT_DEVICE_100AX, |
- FT_DEVICE_UNKNOWN, |
- FT_DEVICE_2232C, |
- FT_DEVICE_232R, |
- FT_DEVICE_2232H, |
- FT_DEVICE_4232H, |
- FT_DEVICE_232H, |
- FT_DEVICE_X_SERIES, |
- FT_DEVICE_4222H_0, |
- FT_DEVICE_4222H_1_2, |
- FT_DEVICE_4222H_3, |
- FT_DEVICE_4222_PROG, |
- FT_DEVICE_900, |
-}; |
- |
-// |
-// Bit Modes |
-// |
- |
-#define FT_BITMODE_RESET 0x00 |
-#define FT_BITMODE_ASYNC_BITBANG 0x01 |
-#define FT_BITMODE_MPSSE 0x02 |
-#define FT_BITMODE_SYNC_BITBANG 0x04 |
-#define FT_BITMODE_MCU_HOST 0x08 |
-#define FT_BITMODE_FAST_SERIAL 0x10 |
-#define FT_BITMODE_CBUS_BITBANG 0x20 |
-#define FT_BITMODE_SYNC_FIFO 0x40 |
- |
-// |
-// FT232R CBUS Options EEPROM values |
-// |
- |
-#define FT_232R_CBUS_TXDEN 0x00 // Tx Data Enable |
-#define FT_232R_CBUS_PWRON 0x01 // Power On |
-#define FT_232R_CBUS_RXLED 0x02 // Rx LED |
-#define FT_232R_CBUS_TXLED 0x03 // Tx LED |
-#define FT_232R_CBUS_TXRXLED 0x04 // Tx and Rx LED |
-#define FT_232R_CBUS_SLEEP 0x05 // Sleep |
-#define FT_232R_CBUS_CLK48 0x06 // 48MHz clock |
-#define FT_232R_CBUS_CLK24 0x07 // 24MHz clock |
-#define FT_232R_CBUS_CLK12 0x08 // 12MHz clock |
-#define FT_232R_CBUS_CLK6 0x09 // 6MHz clock |
-#define FT_232R_CBUS_IOMODE 0x0A // IO Mode for CBUS bit-bang |
-#define FT_232R_CBUS_BITBANG_WR 0x0B // Bit-bang write strobe |
-#define FT_232R_CBUS_BITBANG_RD 0x0C // Bit-bang read strobe |
- |
-// |
-// FT232H CBUS Options EEPROM values |
-// |
- |
-#define FT_232H_CBUS_TRISTATE 0x00 // Tristate |
-#define FT_232H_CBUS_TXLED 0x01 // Tx LED |
-#define FT_232H_CBUS_RXLED 0x02 // Rx LED |
-#define FT_232H_CBUS_TXRXLED 0x03 // Tx and Rx LED |
-#define FT_232H_CBUS_PWREN 0x04 // Power Enable |
-#define FT_232H_CBUS_SLEEP 0x05 // Sleep |
-#define FT_232H_CBUS_DRIVE_0 0x06 // Drive pin to logic 0 |
-#define FT_232H_CBUS_DRIVE_1 0x07 // Drive pin to logic 1 |
-#define FT_232H_CBUS_IOMODE 0x08 // IO Mode for CBUS bit-bang |
-#define FT_232H_CBUS_TXDEN 0x09 // Tx Data Enable |
-#define FT_232H_CBUS_CLK30 0x0A // 30MHz clock |
-#define FT_232H_CBUS_CLK15 0x0B // 15MHz clock |
-#define FT_232H_CBUS_CLK7_5 0x0C // 7.5MHz clock |
- |
-// |
-// FT X Series CBUS Options EEPROM values |
-// |
- |
-#define FT_X_SERIES_CBUS_TRISTATE 0x00 // Tristate |
-#define FT_X_SERIES_CBUS_TXLED 0x01 // Tx LED |
-#define FT_X_SERIES_CBUS_RXLED 0x02 // Rx LED |
-#define FT_X_SERIES_CBUS_TXRXLED 0x03 // Tx and Rx LED |
-#define FT_X_SERIES_CBUS_PWREN 0x04 // Power Enable |
-#define FT_X_SERIES_CBUS_SLEEP 0x05 // Sleep |
-#define FT_X_SERIES_CBUS_DRIVE_0 0x06 // Drive pin to logic 0 |
-#define FT_X_SERIES_CBUS_DRIVE_1 0x07 // Drive pin to logic 1 |
-#define FT_X_SERIES_CBUS_IOMODE 0x08 // IO Mode for CBUS bit-bang |
-#define FT_X_SERIES_CBUS_TXDEN 0x09 // Tx Data Enable |
-#define FT_X_SERIES_CBUS_CLK24 0x0A // 24MHz clock |
-#define FT_X_SERIES_CBUS_CLK12 0x0B // 12MHz clock |
-#define FT_X_SERIES_CBUS_CLK6 0x0C // 6MHz clock |
-#define FT_X_SERIES_CBUS_BCD_CHARGER 0x0D // Battery charger detected |
-#define FT_X_SERIES_CBUS_BCD_CHARGER_N 0x0E // Battery charger detected inverted |
-#define FT_X_SERIES_CBUS_I2C_TXE 0x0F // I2C Tx empty |
-#define FT_X_SERIES_CBUS_I2C_RXF 0x10 // I2C Rx full |
-#define FT_X_SERIES_CBUS_VBUS_SENSE 0x11 // Detect VBUS |
-#define FT_X_SERIES_CBUS_BITBANG_WR 0x12 // Bit-bang write strobe |
-#define FT_X_SERIES_CBUS_BITBANG_RD 0x13 // Bit-bang read strobe |
-#define FT_X_SERIES_CBUS_TIMESTAMP 0x14 // Toggle output when a USB SOF token is received |
-#define FT_X_SERIES_CBUS_KEEP_AWAKE 0x15 // |
- |
- |
-// Driver types |
-#define FT_DRIVER_TYPE_D2XX 0 |
-#define FT_DRIVER_TYPE_VCP 1 |
- |
- |
- |
-#ifdef __cplusplus |
-extern "C" { |
-#endif |
- |
- |
-#ifdef FTD2XX_STATIC |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Initialise( |
- void |
- ); |
- |
- FTD2XX_API |
- void WINAPI FT_Finalise( |
- void |
- ); |
-#endif // FTD2XX_STATIC |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Open( |
- int deviceNumber, |
- FT_HANDLE *pHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_OpenEx( |
- PVOID pArg1, |
- DWORD Flags, |
- FT_HANDLE *pHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ListDevices( |
- PVOID pArg1, |
- PVOID pArg2, |
- DWORD Flags |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Close( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Read( |
- FT_HANDLE ftHandle, |
- LPVOID lpBuffer, |
- DWORD dwBytesToRead, |
- LPDWORD lpBytesReturned |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Write( |
- FT_HANDLE ftHandle, |
- LPVOID lpBuffer, |
- DWORD dwBytesToWrite, |
- LPDWORD lpBytesWritten |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_IoCtl( |
- FT_HANDLE ftHandle, |
- DWORD dwIoControlCode, |
- LPVOID lpInBuf, |
- DWORD nInBufSize, |
- LPVOID lpOutBuf, |
- DWORD nOutBufSize, |
- LPDWORD lpBytesReturned, |
- LPOVERLAPPED lpOverlapped |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetBaudRate( |
- FT_HANDLE ftHandle, |
- ULONG BaudRate |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetDivisor( |
- FT_HANDLE ftHandle, |
- USHORT Divisor |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetDataCharacteristics( |
- FT_HANDLE ftHandle, |
- UCHAR WordLength, |
- UCHAR StopBits, |
- UCHAR Parity |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetFlowControl( |
- FT_HANDLE ftHandle, |
- USHORT FlowControl, |
- UCHAR XonChar, |
- UCHAR XoffChar |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ResetDevice( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetDtr( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ClrDtr( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetRts( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ClrRts( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetModemStatus( |
- FT_HANDLE ftHandle, |
- ULONG *pModemStatus |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetChars( |
- FT_HANDLE ftHandle, |
- UCHAR EventChar, |
- UCHAR EventCharEnabled, |
- UCHAR ErrorChar, |
- UCHAR ErrorCharEnabled |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Purge( |
- FT_HANDLE ftHandle, |
- ULONG Mask |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetTimeouts( |
- FT_HANDLE ftHandle, |
- ULONG ReadTimeout, |
- ULONG WriteTimeout |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetQueueStatus( |
- FT_HANDLE ftHandle, |
- DWORD *dwRxBytes |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetEventNotification( |
- FT_HANDLE ftHandle, |
- DWORD Mask, |
- PVOID Param |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetStatus( |
- FT_HANDLE ftHandle, |
- DWORD *dwRxBytes, |
- DWORD *dwTxBytes, |
- DWORD *dwEventDWord |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetBreakOn( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetBreakOff( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetWaitMask( |
- FT_HANDLE ftHandle, |
- DWORD Mask |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_WaitOnMask( |
- FT_HANDLE ftHandle, |
- DWORD *Mask |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetEventStatus( |
- FT_HANDLE ftHandle, |
- DWORD *dwEventDWord |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ReadEE( |
- FT_HANDLE ftHandle, |
- DWORD dwWordOffset, |
- LPWORD lpwValue |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_WriteEE( |
- FT_HANDLE ftHandle, |
- DWORD dwWordOffset, |
- WORD wValue |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EraseEE( |
- FT_HANDLE ftHandle |
- ); |
- |
- // |
- // structure to hold program data for FT_EE_Program, FT_EE_ProgramEx, FT_EE_Read |
- // and FT_EE_ReadEx functions |
- // |
- typedef struct ft_program_data { |
- |
- DWORD Signature1; // Header - must be 0x00000000 |
- DWORD Signature2; // Header - must be 0xffffffff |
- DWORD Version; // Header - FT_PROGRAM_DATA version |
- // 0 = original |
- // 1 = FT2232 extensions |
- // 2 = FT232R extensions |
- // 3 = FT2232H extensions |
- // 4 = FT4232H extensions |
- // 5 = FT232H extensions |
- |
- WORD VendorId; // 0x0403 |
- WORD ProductId; // 0x6001 |
- char *Manufacturer; // "FTDI" |
- char *ManufacturerId; // "FT" |
- char *Description; // "USB HS Serial Converter" |
- char *SerialNumber; // "FT000001" if fixed, or NULL |
- WORD MaxPower; // 0 < MaxPower <= 500 |
- WORD PnP; // 0 = disabled, 1 = enabled |
- WORD SelfPowered; // 0 = bus powered, 1 = self powered |
- WORD RemoteWakeup; // 0 = not capable, 1 = capable |
- // |
- // Rev4 (FT232B) extensions |
- // |
- UCHAR Rev4; // non-zero if Rev4 chip, zero otherwise |
- UCHAR IsoIn; // non-zero if in endpoint is isochronous |
- UCHAR IsoOut; // non-zero if out endpoint is isochronous |
- UCHAR PullDownEnable; // non-zero if pull down enabled |
- UCHAR SerNumEnable; // non-zero if serial number to be used |
- UCHAR USBVersionEnable; // non-zero if chip uses USBVersion |
- WORD USBVersion; // BCD (0x0200 => USB2) |
- // |
- // Rev 5 (FT2232) extensions |
- // |
- UCHAR Rev5; // non-zero if Rev5 chip, zero otherwise |
- UCHAR IsoInA; // non-zero if in endpoint is isochronous |
- UCHAR IsoInB; // non-zero if in endpoint is isochronous |
- UCHAR IsoOutA; // non-zero if out endpoint is isochronous |
- UCHAR IsoOutB; // non-zero if out endpoint is isochronous |
- UCHAR PullDownEnable5; // non-zero if pull down enabled |
- UCHAR SerNumEnable5; // non-zero if serial number to be used |
- UCHAR USBVersionEnable5; // non-zero if chip uses USBVersion |
- WORD USBVersion5; // BCD (0x0200 => USB2) |
- UCHAR AIsHighCurrent; // non-zero if interface is high current |
- UCHAR BIsHighCurrent; // non-zero if interface is high current |
- UCHAR IFAIsFifo; // non-zero if interface is 245 FIFO |
- UCHAR IFAIsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR IFAIsFastSer; // non-zero if interface is Fast serial |
- UCHAR AIsVCP; // non-zero if interface is to use VCP drivers |
- UCHAR IFBIsFifo; // non-zero if interface is 245 FIFO |
- UCHAR IFBIsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR IFBIsFastSer; // non-zero if interface is Fast serial |
- UCHAR BIsVCP; // non-zero if interface is to use VCP drivers |
- // |
- // Rev 6 (FT232R) extensions |
- // |
- UCHAR UseExtOsc; // Use External Oscillator |
- UCHAR HighDriveIOs; // High Drive I/Os |
- UCHAR EndpointSize; // Endpoint size |
- UCHAR PullDownEnableR; // non-zero if pull down enabled |
- UCHAR SerNumEnableR; // non-zero if serial number to be used |
- UCHAR InvertTXD; // non-zero if invert TXD |
- UCHAR InvertRXD; // non-zero if invert RXD |
- UCHAR InvertRTS; // non-zero if invert RTS |
- UCHAR InvertCTS; // non-zero if invert CTS |
- UCHAR InvertDTR; // non-zero if invert DTR |
- UCHAR InvertDSR; // non-zero if invert DSR |
- UCHAR InvertDCD; // non-zero if invert DCD |
- UCHAR InvertRI; // non-zero if invert RI |
- UCHAR Cbus0; // Cbus Mux control |
- UCHAR Cbus1; // Cbus Mux control |
- UCHAR Cbus2; // Cbus Mux control |
- UCHAR Cbus3; // Cbus Mux control |
- UCHAR Cbus4; // Cbus Mux control |
- UCHAR RIsD2XX; // non-zero if using D2XX driver |
- // |
- // Rev 7 (FT2232H) Extensions |
- // |
- UCHAR PullDownEnable7; // non-zero if pull down enabled |
- UCHAR SerNumEnable7; // non-zero if serial number to be used |
- UCHAR ALSlowSlew; // non-zero if AL pins have slow slew |
- UCHAR ALSchmittInput; // non-zero if AL pins are Schmitt input |
- UCHAR ALDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR AHSlowSlew; // non-zero if AH pins have slow slew |
- UCHAR AHSchmittInput; // non-zero if AH pins are Schmitt input |
- UCHAR AHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR BLSlowSlew; // non-zero if BL pins have slow slew |
- UCHAR BLSchmittInput; // non-zero if BL pins are Schmitt input |
- UCHAR BLDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR BHSlowSlew; // non-zero if BH pins have slow slew |
- UCHAR BHSchmittInput; // non-zero if BH pins are Schmitt input |
- UCHAR BHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR IFAIsFifo7; // non-zero if interface is 245 FIFO |
- UCHAR IFAIsFifoTar7; // non-zero if interface is 245 FIFO CPU target |
- UCHAR IFAIsFastSer7; // non-zero if interface is Fast serial |
- UCHAR AIsVCP7; // non-zero if interface is to use VCP drivers |
- UCHAR IFBIsFifo7; // non-zero if interface is 245 FIFO |
- UCHAR IFBIsFifoTar7; // non-zero if interface is 245 FIFO CPU target |
- UCHAR IFBIsFastSer7; // non-zero if interface is Fast serial |
- UCHAR BIsVCP7; // non-zero if interface is to use VCP drivers |
- UCHAR PowerSaveEnable; // non-zero if using BCBUS7 to save power for self-powered designs |
- // |
- // Rev 8 (FT4232H) Extensions |
- // |
- UCHAR PullDownEnable8; // non-zero if pull down enabled |
- UCHAR SerNumEnable8; // non-zero if serial number to be used |
- UCHAR ASlowSlew; // non-zero if A pins have slow slew |
- UCHAR ASchmittInput; // non-zero if A pins are Schmitt input |
- UCHAR ADriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR BSlowSlew; // non-zero if B pins have slow slew |
- UCHAR BSchmittInput; // non-zero if B pins are Schmitt input |
- UCHAR BDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR CSlowSlew; // non-zero if C pins have slow slew |
- UCHAR CSchmittInput; // non-zero if C pins are Schmitt input |
- UCHAR CDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR DSlowSlew; // non-zero if D pins have slow slew |
- UCHAR DSchmittInput; // non-zero if D pins are Schmitt input |
- UCHAR DDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR ARIIsTXDEN; // non-zero if port A uses RI as RS485 TXDEN |
- UCHAR BRIIsTXDEN; // non-zero if port B uses RI as RS485 TXDEN |
- UCHAR CRIIsTXDEN; // non-zero if port C uses RI as RS485 TXDEN |
- UCHAR DRIIsTXDEN; // non-zero if port D uses RI as RS485 TXDEN |
- UCHAR AIsVCP8; // non-zero if interface is to use VCP drivers |
- UCHAR BIsVCP8; // non-zero if interface is to use VCP drivers |
- UCHAR CIsVCP8; // non-zero if interface is to use VCP drivers |
- UCHAR DIsVCP8; // non-zero if interface is to use VCP drivers |
- // |
- // Rev 9 (FT232H) Extensions |
- // |
- UCHAR PullDownEnableH; // non-zero if pull down enabled |
- UCHAR SerNumEnableH; // non-zero if serial number to be used |
- UCHAR ACSlowSlewH; // non-zero if AC pins have slow slew |
- UCHAR ACSchmittInputH; // non-zero if AC pins are Schmitt input |
- UCHAR ACDriveCurrentH; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR ADSlowSlewH; // non-zero if AD pins have slow slew |
- UCHAR ADSchmittInputH; // non-zero if AD pins are Schmitt input |
- UCHAR ADDriveCurrentH; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR Cbus0H; // Cbus Mux control |
- UCHAR Cbus1H; // Cbus Mux control |
- UCHAR Cbus2H; // Cbus Mux control |
- UCHAR Cbus3H; // Cbus Mux control |
- UCHAR Cbus4H; // Cbus Mux control |
- UCHAR Cbus5H; // Cbus Mux control |
- UCHAR Cbus6H; // Cbus Mux control |
- UCHAR Cbus7H; // Cbus Mux control |
- UCHAR Cbus8H; // Cbus Mux control |
- UCHAR Cbus9H; // Cbus Mux control |
- UCHAR IsFifoH; // non-zero if interface is 245 FIFO |
- UCHAR IsFifoTarH; // non-zero if interface is 245 FIFO CPU target |
- UCHAR IsFastSerH; // non-zero if interface is Fast serial |
- UCHAR IsFT1248H; // non-zero if interface is FT1248 |
- UCHAR FT1248CpolH; // FT1248 clock polarity - clock idle high (1) or clock idle low (0) |
- UCHAR FT1248LsbH; // FT1248 data is LSB (1) or MSB (0) |
- UCHAR FT1248FlowControlH; // FT1248 flow control enable |
- UCHAR IsVCPH; // non-zero if interface is to use VCP drivers |
- UCHAR PowerSaveEnableH; // non-zero if using ACBUS7 to save power for self-powered designs |
- |
- } FT_PROGRAM_DATA, *PFT_PROGRAM_DATA; |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_Program( |
- FT_HANDLE ftHandle, |
- PFT_PROGRAM_DATA pData |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_ProgramEx( |
- FT_HANDLE ftHandle, |
- PFT_PROGRAM_DATA pData, |
- char *Manufacturer, |
- char *ManufacturerId, |
- char *Description, |
- char *SerialNumber |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_Read( |
- FT_HANDLE ftHandle, |
- PFT_PROGRAM_DATA pData |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_ReadEx( |
- FT_HANDLE ftHandle, |
- PFT_PROGRAM_DATA pData, |
- char *Manufacturer, |
- char *ManufacturerId, |
- char *Description, |
- char *SerialNumber |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_UASize( |
- FT_HANDLE ftHandle, |
- LPDWORD lpdwSize |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_UAWrite( |
- FT_HANDLE ftHandle, |
- PUCHAR pucData, |
- DWORD dwDataLen |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_UARead( |
- FT_HANDLE ftHandle, |
- PUCHAR pucData, |
- DWORD dwDataLen, |
- LPDWORD lpdwBytesRead |
- ); |
- |
- |
- typedef struct ft_eeprom_header { |
- FT_DEVICE deviceType; // FTxxxx device type to be programmed |
- // Device descriptor options |
- WORD VendorId; // 0x0403 |
- WORD ProductId; // 0x6001 |
- UCHAR SerNumEnable; // non-zero if serial number to be used |
- // Config descriptor options |
- WORD MaxPower; // 0 < MaxPower <= 500 |
- UCHAR SelfPowered; // 0 = bus powered, 1 = self powered |
- UCHAR RemoteWakeup; // 0 = not capable, 1 = capable |
- // Hardware options |
- UCHAR PullDownEnable; // non-zero if pull down in suspend enabled |
- } FT_EEPROM_HEADER, *PFT_EEPROM_HEADER; |
- |
- |
- // FT232B EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_232b { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- } FT_EEPROM_232B, *PFT_EEPROM_232B; |
- |
- |
- // FT2232 EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_2232 { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- // Drive options |
- UCHAR AIsHighCurrent; // non-zero if interface is high current |
- UCHAR BIsHighCurrent; // non-zero if interface is high current |
- // Hardware options |
- UCHAR AIsFifo; // non-zero if interface is 245 FIFO |
- UCHAR AIsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR AIsFastSer; // non-zero if interface is Fast serial |
- UCHAR BIsFifo; // non-zero if interface is 245 FIFO |
- UCHAR BIsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR BIsFastSer; // non-zero if interface is Fast serial |
- // Driver option |
- UCHAR ADriverType; // |
- UCHAR BDriverType; // |
- } FT_EEPROM_2232, *PFT_EEPROM_2232; |
- |
- |
- // FT232R EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_232r { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- // Drive options |
- UCHAR IsHighCurrent; // non-zero if interface is high current |
- // Hardware options |
- UCHAR UseExtOsc; // Use External Oscillator |
- UCHAR InvertTXD; // non-zero if invert TXD |
- UCHAR InvertRXD; // non-zero if invert RXD |
- UCHAR InvertRTS; // non-zero if invert RTS |
- UCHAR InvertCTS; // non-zero if invert CTS |
- UCHAR InvertDTR; // non-zero if invert DTR |
- UCHAR InvertDSR; // non-zero if invert DSR |
- UCHAR InvertDCD; // non-zero if invert DCD |
- UCHAR InvertRI; // non-zero if invert RI |
- UCHAR Cbus0; // Cbus Mux control |
- UCHAR Cbus1; // Cbus Mux control |
- UCHAR Cbus2; // Cbus Mux control |
- UCHAR Cbus3; // Cbus Mux control |
- UCHAR Cbus4; // Cbus Mux control |
- // Driver option |
- UCHAR DriverType; // |
- } FT_EEPROM_232R, *PFT_EEPROM_232R; |
- |
- |
- // FT2232H EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_2232h { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- // Drive options |
- UCHAR ALSlowSlew; // non-zero if AL pins have slow slew |
- UCHAR ALSchmittInput; // non-zero if AL pins are Schmitt input |
- UCHAR ALDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR AHSlowSlew; // non-zero if AH pins have slow slew |
- UCHAR AHSchmittInput; // non-zero if AH pins are Schmitt input |
- UCHAR AHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR BLSlowSlew; // non-zero if BL pins have slow slew |
- UCHAR BLSchmittInput; // non-zero if BL pins are Schmitt input |
- UCHAR BLDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR BHSlowSlew; // non-zero if BH pins have slow slew |
- UCHAR BHSchmittInput; // non-zero if BH pins are Schmitt input |
- UCHAR BHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- // Hardware options |
- UCHAR AIsFifo; // non-zero if interface is 245 FIFO |
- UCHAR AIsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR AIsFastSer; // non-zero if interface is Fast serial |
- UCHAR BIsFifo; // non-zero if interface is 245 FIFO |
- UCHAR BIsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR BIsFastSer; // non-zero if interface is Fast serial |
- UCHAR PowerSaveEnable; // non-zero if using BCBUS7 to save power for self-powered designs |
- // Driver option |
- UCHAR ADriverType; // |
- UCHAR BDriverType; // |
- } FT_EEPROM_2232H, *PFT_EEPROM_2232H; |
- |
- |
- // FT4232H EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_4232h { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- // Drive options |
- UCHAR ASlowSlew; // non-zero if A pins have slow slew |
- UCHAR ASchmittInput; // non-zero if A pins are Schmitt input |
- UCHAR ADriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR BSlowSlew; // non-zero if B pins have slow slew |
- UCHAR BSchmittInput; // non-zero if B pins are Schmitt input |
- UCHAR BDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR CSlowSlew; // non-zero if C pins have slow slew |
- UCHAR CSchmittInput; // non-zero if C pins are Schmitt input |
- UCHAR CDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR DSlowSlew; // non-zero if D pins have slow slew |
- UCHAR DSchmittInput; // non-zero if D pins are Schmitt input |
- UCHAR DDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- // Hardware options |
- UCHAR ARIIsTXDEN; // non-zero if port A uses RI as RS485 TXDEN |
- UCHAR BRIIsTXDEN; // non-zero if port B uses RI as RS485 TXDEN |
- UCHAR CRIIsTXDEN; // non-zero if port C uses RI as RS485 TXDEN |
- UCHAR DRIIsTXDEN; // non-zero if port D uses RI as RS485 TXDEN |
- // Driver option |
- UCHAR ADriverType; // |
- UCHAR BDriverType; // |
- UCHAR CDriverType; // |
- UCHAR DDriverType; // |
- } FT_EEPROM_4232H, *PFT_EEPROM_4232H; |
- |
- |
- // FT232H EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_232h { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- // Drive options |
- UCHAR ACSlowSlew; // non-zero if AC bus pins have slow slew |
- UCHAR ACSchmittInput; // non-zero if AC bus pins are Schmitt input |
- UCHAR ACDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR ADSlowSlew; // non-zero if AD bus pins have slow slew |
- UCHAR ADSchmittInput; // non-zero if AD bus pins are Schmitt input |
- UCHAR ADDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- // CBUS options |
- UCHAR Cbus0; // Cbus Mux control |
- UCHAR Cbus1; // Cbus Mux control |
- UCHAR Cbus2; // Cbus Mux control |
- UCHAR Cbus3; // Cbus Mux control |
- UCHAR Cbus4; // Cbus Mux control |
- UCHAR Cbus5; // Cbus Mux control |
- UCHAR Cbus6; // Cbus Mux control |
- UCHAR Cbus7; // Cbus Mux control |
- UCHAR Cbus8; // Cbus Mux control |
- UCHAR Cbus9; // Cbus Mux control |
- // FT1248 options |
- UCHAR FT1248Cpol; // FT1248 clock polarity - clock idle high (1) or clock idle low (0) |
- UCHAR FT1248Lsb; // FT1248 data is LSB (1) or MSB (0) |
- UCHAR FT1248FlowControl; // FT1248 flow control enable |
- // Hardware options |
- UCHAR IsFifo; // non-zero if interface is 245 FIFO |
- UCHAR IsFifoTar; // non-zero if interface is 245 FIFO CPU target |
- UCHAR IsFastSer; // non-zero if interface is Fast serial |
- UCHAR IsFT1248 ; // non-zero if interface is FT1248 |
- UCHAR PowerSaveEnable; // |
- // Driver option |
- UCHAR DriverType; // |
- } FT_EEPROM_232H, *PFT_EEPROM_232H; |
- |
- |
- // FT X Series EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program |
- typedef struct ft_eeprom_x_series { |
- // Common header |
- FT_EEPROM_HEADER common; // common elements for all device EEPROMs |
- // Drive options |
- UCHAR ACSlowSlew; // non-zero if AC bus pins have slow slew |
- UCHAR ACSchmittInput; // non-zero if AC bus pins are Schmitt input |
- UCHAR ACDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- UCHAR ADSlowSlew; // non-zero if AD bus pins have slow slew |
- UCHAR ADSchmittInput; // non-zero if AD bus pins are Schmitt input |
- UCHAR ADDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA |
- // CBUS options |
- UCHAR Cbus0; // Cbus Mux control |
- UCHAR Cbus1; // Cbus Mux control |
- UCHAR Cbus2; // Cbus Mux control |
- UCHAR Cbus3; // Cbus Mux control |
- UCHAR Cbus4; // Cbus Mux control |
- UCHAR Cbus5; // Cbus Mux control |
- UCHAR Cbus6; // Cbus Mux control |
- // UART signal options |
- UCHAR InvertTXD; // non-zero if invert TXD |
- UCHAR InvertRXD; // non-zero if invert RXD |
- UCHAR InvertRTS; // non-zero if invert RTS |
- UCHAR InvertCTS; // non-zero if invert CTS |
- UCHAR InvertDTR; // non-zero if invert DTR |
- UCHAR InvertDSR; // non-zero if invert DSR |
- UCHAR InvertDCD; // non-zero if invert DCD |
- UCHAR InvertRI; // non-zero if invert RI |
- // Battery Charge Detect options |
- UCHAR BCDEnable; // Enable Battery Charger Detection |
- UCHAR BCDForceCbusPWREN; // asserts the power enable signal on CBUS when charging port detected |
- UCHAR BCDDisableSleep; // forces the device never to go into sleep mode |
- // I2C options |
- WORD I2CSlaveAddress; // I2C slave device address |
- DWORD I2CDeviceId; // I2C device ID |
- UCHAR I2CDisableSchmitt; // Disable I2C Schmitt trigger |
- // FT1248 options |
- UCHAR FT1248Cpol; // FT1248 clock polarity - clock idle high (1) or clock idle low (0) |
- UCHAR FT1248Lsb; // FT1248 data is LSB (1) or MSB (0) |
- UCHAR FT1248FlowControl; // FT1248 flow control enable |
- // Hardware options |
- UCHAR RS485EchoSuppress; // |
- UCHAR PowerSaveEnable; // |
- // Driver option |
- UCHAR DriverType; // |
- } FT_EEPROM_X_SERIES, *PFT_EEPROM_X_SERIES; |
- |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EEPROM_Read( |
- FT_HANDLE ftHandle, |
- void *eepromData, |
- DWORD eepromDataSize, |
- char *Manufacturer, |
- char *ManufacturerId, |
- char *Description, |
- char *SerialNumber |
- ); |
- |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EEPROM_Program( |
- FT_HANDLE ftHandle, |
- void *eepromData, |
- DWORD eepromDataSize, |
- char *Manufacturer, |
- char *ManufacturerId, |
- char *Description, |
- char *SerialNumber |
- ); |
- |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetLatencyTimer( |
- FT_HANDLE ftHandle, |
- UCHAR ucLatency |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetLatencyTimer( |
- FT_HANDLE ftHandle, |
- PUCHAR pucLatency |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetBitMode( |
- FT_HANDLE ftHandle, |
- UCHAR ucMask, |
- UCHAR ucEnable |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetBitMode( |
- FT_HANDLE ftHandle, |
- PUCHAR pucMode |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetUSBParameters( |
- FT_HANDLE ftHandle, |
- ULONG ulInTransferSize, |
- ULONG ulOutTransferSize |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetDeadmanTimeout( |
- FT_HANDLE ftHandle, |
- ULONG ulDeadmanTimeout |
- ); |
- |
-#ifndef _WIN32 |
- // Extra functions for non-Windows platforms to compensate |
- // for lack of .INF file to specify Vendor and Product IDs. |
- |
- FTD2XX_API |
- FT_STATUS FT_SetVIDPID( |
- DWORD dwVID, |
- DWORD dwPID |
- ); |
- |
- FTD2XX_API |
- FT_STATUS FT_GetVIDPID( |
- DWORD * pdwVID, |
- DWORD * pdwPID |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetDeviceLocId( |
- FT_HANDLE ftHandle, |
- LPDWORD lpdwLocId |
- ); |
-#endif // _WIN32 |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetDeviceInfo( |
- FT_HANDLE ftHandle, |
- FT_DEVICE *lpftDevice, |
- LPDWORD lpdwID, |
- PCHAR SerialNumber, |
- PCHAR Description, |
- LPVOID Dummy |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_StopInTask( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_RestartInTask( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_SetResetPipeRetryCount( |
- FT_HANDLE ftHandle, |
- DWORD dwCount |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ResetPort( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_CyclePort( |
- FT_HANDLE ftHandle |
- ); |
- |
- |
- // |
- // Win32-type functions |
- // |
- |
- FTD2XX_API |
- FT_HANDLE WINAPI FT_W32_CreateFile( |
- LPCTSTR lpszName, |
- DWORD dwAccess, |
- DWORD dwShareMode, |
- LPSECURITY_ATTRIBUTES lpSecurityAttributes, |
- DWORD dwCreate, |
- DWORD dwAttrsAndFlags, |
- HANDLE hTemplate |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_CloseHandle( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_ReadFile( |
- FT_HANDLE ftHandle, |
- LPVOID lpBuffer, |
- DWORD nBufferSize, |
- LPDWORD lpBytesReturned, |
- LPOVERLAPPED lpOverlapped |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_WriteFile( |
- FT_HANDLE ftHandle, |
- LPVOID lpBuffer, |
- DWORD nBufferSize, |
- LPDWORD lpBytesWritten, |
- LPOVERLAPPED lpOverlapped |
- ); |
- |
- FTD2XX_API |
- DWORD WINAPI FT_W32_GetLastError( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_GetOverlappedResult( |
- FT_HANDLE ftHandle, |
- LPOVERLAPPED lpOverlapped, |
- LPDWORD lpdwBytesTransferred, |
- BOOL bWait |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_CancelIo( |
- FT_HANDLE ftHandle |
- ); |
- |
- |
- // |
- // Win32 COMM API type functions |
- // |
- typedef struct _FTCOMSTAT { |
- DWORD fCtsHold : 1; |
- DWORD fDsrHold : 1; |
- DWORD fRlsdHold : 1; |
- DWORD fXoffHold : 1; |
- DWORD fXoffSent : 1; |
- DWORD fEof : 1; |
- DWORD fTxim : 1; |
- DWORD fReserved : 25; |
- DWORD cbInQue; |
- DWORD cbOutQue; |
- } FTCOMSTAT, *LPFTCOMSTAT; |
- |
- typedef struct _FTDCB { |
- DWORD DCBlength; /* sizeof(FTDCB) */ |
- DWORD BaudRate; /* Baudrate at which running */ |
- DWORD fBinary: 1; /* Binary Mode (skip EOF check) */ |
- DWORD fParity: 1; /* Enable parity checking */ |
- DWORD fOutxCtsFlow:1; /* CTS handshaking on output */ |
- DWORD fOutxDsrFlow:1; /* DSR handshaking on output */ |
- DWORD fDtrControl:2; /* DTR Flow control */ |
- DWORD fDsrSensitivity:1; /* DSR Sensitivity */ |
- DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */ |
- DWORD fOutX: 1; /* Enable output X-ON/X-OFF */ |
- DWORD fInX: 1; /* Enable input X-ON/X-OFF */ |
- DWORD fErrorChar: 1; /* Enable Err Replacement */ |
- DWORD fNull: 1; /* Enable Null stripping */ |
- DWORD fRtsControl:2; /* Rts Flow control */ |
- DWORD fAbortOnError:1; /* Abort all reads and writes on Error */ |
- DWORD fDummy2:17; /* Reserved */ |
- WORD wReserved; /* Not currently used */ |
- WORD XonLim; /* Transmit X-ON threshold */ |
- WORD XoffLim; /* Transmit X-OFF threshold */ |
- BYTE ByteSize; /* Number of bits/byte, 4-8 */ |
- BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */ |
- BYTE StopBits; /* FT_STOP_BITS_1 or FT_STOP_BITS_2 */ |
- char XonChar; /* Tx and Rx X-ON character */ |
- char XoffChar; /* Tx and Rx X-OFF character */ |
- char ErrorChar; /* Error replacement char */ |
- char EofChar; /* End of Input character */ |
- char EvtChar; /* Received Event character */ |
- WORD wReserved1; /* Fill for now. */ |
- } FTDCB, *LPFTDCB; |
- |
- typedef struct _FTTIMEOUTS { |
- DWORD ReadIntervalTimeout; /* Maximum time between read chars. */ |
- DWORD ReadTotalTimeoutMultiplier; /* Multiplier of characters. */ |
- DWORD ReadTotalTimeoutConstant; /* Constant in milliseconds. */ |
- DWORD WriteTotalTimeoutMultiplier; /* Multiplier of characters. */ |
- DWORD WriteTotalTimeoutConstant; /* Constant in milliseconds. */ |
- } FTTIMEOUTS,*LPFTTIMEOUTS; |
- |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_ClearCommBreak( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_ClearCommError( |
- FT_HANDLE ftHandle, |
- LPDWORD lpdwErrors, |
- LPFTCOMSTAT lpftComstat |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_EscapeCommFunction( |
- FT_HANDLE ftHandle, |
- DWORD dwFunc |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_GetCommModemStatus( |
- FT_HANDLE ftHandle, |
- LPDWORD lpdwModemStatus |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_GetCommState( |
- FT_HANDLE ftHandle, |
- LPFTDCB lpftDcb |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_GetCommTimeouts( |
- FT_HANDLE ftHandle, |
- FTTIMEOUTS *pTimeouts |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_PurgeComm( |
- FT_HANDLE ftHandle, |
- DWORD dwMask |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_SetCommBreak( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_SetCommMask( |
- FT_HANDLE ftHandle, |
- ULONG ulEventMask |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_GetCommMask( |
- FT_HANDLE ftHandle, |
- LPDWORD lpdwEventMask |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_SetCommState( |
- FT_HANDLE ftHandle, |
- LPFTDCB lpftDcb |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_SetCommTimeouts( |
- FT_HANDLE ftHandle, |
- FTTIMEOUTS *pTimeouts |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_SetupComm( |
- FT_HANDLE ftHandle, |
- DWORD dwReadBufferSize, |
- DWORD dwWriteBufferSize |
- ); |
- |
- FTD2XX_API |
- BOOL WINAPI FT_W32_WaitCommEvent( |
- FT_HANDLE ftHandle, |
- PULONG pulEvent, |
- LPOVERLAPPED lpOverlapped |
- ); |
- |
- |
- // |
- // Device information |
- // |
- |
- typedef struct _ft_device_list_info_node { |
- ULONG Flags; |
- ULONG Type; |
- ULONG ID; |
- DWORD LocId; |
- char SerialNumber[16]; |
- char Description[64]; |
- FT_HANDLE ftHandle; |
- } FT_DEVICE_LIST_INFO_NODE; |
- |
- // Device information flags |
- enum { |
- FT_FLAGS_OPENED = 1, |
- FT_FLAGS_HISPEED = 2 |
- }; |
- |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_CreateDeviceInfoList( |
- LPDWORD lpdwNumDevs |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetDeviceInfoList( |
- FT_DEVICE_LIST_INFO_NODE *pDest, |
- LPDWORD lpdwNumDevs |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetDeviceInfoDetail( |
- DWORD dwIndex, |
- LPDWORD lpdwFlags, |
- LPDWORD lpdwType, |
- LPDWORD lpdwID, |
- LPDWORD lpdwLocId, |
- LPVOID lpSerialNumber, |
- LPVOID lpDescription, |
- FT_HANDLE *pftHandle |
- ); |
- |
- |
- // |
- // Version information |
- // |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetDriverVersion( |
- FT_HANDLE ftHandle, |
- LPDWORD lpdwVersion |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetLibraryVersion( |
- LPDWORD lpdwVersion |
- ); |
- |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Rescan( |
- void |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_Reload( |
- WORD wVid, |
- WORD wPid |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetComPortNumber( |
- FT_HANDLE ftHandle, |
- LPLONG lpdwComPortNumber |
- ); |
- |
- |
- // |
- // FT232H additional EEPROM functions |
- // |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_ReadConfig( |
- FT_HANDLE ftHandle, |
- UCHAR ucAddress, |
- PUCHAR pucValue |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_WriteConfig( |
- FT_HANDLE ftHandle, |
- UCHAR ucAddress, |
- UCHAR ucValue |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_EE_ReadECC( |
- FT_HANDLE ftHandle, |
- UCHAR ucOption, |
- LPWORD lpwValue |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_GetQueueStatusEx( |
- FT_HANDLE ftHandle, |
- DWORD *dwRxBytes |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ComPortIdle( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_ComPortCancelIdle( |
- FT_HANDLE ftHandle |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_VendorCmdGet( |
- FT_HANDLE ftHandle, |
- UCHAR Request, |
- UCHAR *Buf, |
- USHORT Len |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_VendorCmdSet( |
- FT_HANDLE ftHandle, |
- UCHAR Request, |
- UCHAR *Buf, |
- USHORT Len |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_VendorCmdGetEx( |
- FT_HANDLE ftHandle, |
- USHORT wValue, |
- UCHAR *Buf, |
- USHORT Len |
- ); |
- |
- FTD2XX_API |
- FT_STATUS WINAPI FT_VendorCmdSetEx( |
- FT_HANDLE ftHandle, |
- USHORT wValue, |
- UCHAR *Buf, |
- USHORT Len |
- ); |
- |
-#ifdef __cplusplus |
-} |
-#endif |
- |
- |
-#endif /* FTD2XX_H */ |
- |