57 #define FTD2XX_API __declspec(dllexport) 58 #elif defined(FTD2XX_STATIC) 62 #pragma comment(lib, "setupapi.lib") 63 #pragma comment(lib, "advapi32.lib") 64 #pragma comment(lib, "user32.lib") 66 #define FTD2XX_API __declspec(dllimport) 77 typedef PVOID FT_HANDLE;
78 typedef ULONG FT_STATUS;
89 FT_INSUFFICIENT_RESOURCES,
93 FT_DEVICE_NOT_OPENED_FOR_ERASE,
94 FT_DEVICE_NOT_OPENED_FOR_WRITE,
95 FT_FAILED_TO_WRITE_DEVICE,
96 FT_EEPROM_READ_FAILED,
97 FT_EEPROM_WRITE_FAILED,
98 FT_EEPROM_ERASE_FAILED,
99 FT_EEPROM_NOT_PRESENT,
100 FT_EEPROM_NOT_PROGRAMMED,
104 FT_DEVICE_LIST_NOT_READY,
108 #define FT_SUCCESS(status) ((status) == FT_OK) 114 #define FT_OPEN_BY_SERIAL_NUMBER 1 115 #define FT_OPEN_BY_DESCRIPTION 2 116 #define FT_OPEN_BY_LOCATION 4 118 #define FT_OPEN_MASK (FT_OPEN_BY_SERIAL_NUMBER | \ 119 FT_OPEN_BY_DESCRIPTION | \ 126 #define FT_LIST_NUMBER_ONLY 0x80000000 127 #define FT_LIST_BY_INDEX 0x40000000 128 #define FT_LIST_ALL 0x20000000 130 #define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL) 136 #define FT_BAUD_300 300 137 #define FT_BAUD_600 600 138 #define FT_BAUD_1200 1200 139 #define FT_BAUD_2400 2400 140 #define FT_BAUD_4800 4800 141 #define FT_BAUD_9600 9600 142 #define FT_BAUD_14400 14400 143 #define FT_BAUD_19200 19200 144 #define FT_BAUD_38400 38400 145 #define FT_BAUD_57600 57600 146 #define FT_BAUD_115200 115200 147 #define FT_BAUD_230400 230400 148 #define FT_BAUD_460800 460800 149 #define FT_BAUD_921600 921600 155 #define FT_BITS_8 (UCHAR) 8 156 #define FT_BITS_7 (UCHAR) 7 162 #define FT_STOP_BITS_1 (UCHAR) 0 163 #define FT_STOP_BITS_2 (UCHAR) 2 169 #define FT_PARITY_NONE (UCHAR) 0 170 #define FT_PARITY_ODD (UCHAR) 1 171 #define FT_PARITY_EVEN (UCHAR) 2 172 #define FT_PARITY_MARK (UCHAR) 3 173 #define FT_PARITY_SPACE (UCHAR) 4 179 #define FT_FLOW_NONE 0x0000 180 #define FT_FLOW_RTS_CTS 0x0100 181 #define FT_FLOW_DTR_DSR 0x0200 182 #define FT_FLOW_XON_XOFF 0x0400 187 #define FT_PURGE_RX 1 188 #define FT_PURGE_TX 2 194 typedef void (*PFT_EVENT_HANDLER)(DWORD,DWORD);
196 #define FT_EVENT_RXCHAR 1 197 #define FT_EVENT_MODEM_STATUS 2 198 #define FT_EVENT_LINE_STATUS 4 204 #define FT_DEFAULT_RX_TIMEOUT 300 205 #define FT_DEFAULT_TX_TIMEOUT 300 211 typedef ULONG FT_DEVICE;
237 #define FT_BITMODE_RESET 0x00 238 #define FT_BITMODE_ASYNC_BITBANG 0x01 239 #define FT_BITMODE_MPSSE 0x02 240 #define FT_BITMODE_SYNC_BITBANG 0x04 241 #define FT_BITMODE_MCU_HOST 0x08 242 #define FT_BITMODE_FAST_SERIAL 0x10 243 #define FT_BITMODE_CBUS_BITBANG 0x20 244 #define FT_BITMODE_SYNC_FIFO 0x40 250 #define FT_232R_CBUS_TXDEN 0x00 // Tx Data Enable 251 #define FT_232R_CBUS_PWRON 0x01 // Power On 252 #define FT_232R_CBUS_RXLED 0x02 // Rx LED 253 #define FT_232R_CBUS_TXLED 0x03 // Tx LED 254 #define FT_232R_CBUS_TXRXLED 0x04 // Tx and Rx LED 255 #define FT_232R_CBUS_SLEEP 0x05 // Sleep 256 #define FT_232R_CBUS_CLK48 0x06 // 48MHz clock 257 #define FT_232R_CBUS_CLK24 0x07 // 24MHz clock 258 #define FT_232R_CBUS_CLK12 0x08 // 12MHz clock 259 #define FT_232R_CBUS_CLK6 0x09 // 6MHz clock 260 #define FT_232R_CBUS_IOMODE 0x0A // IO Mode for CBUS bit-bang 261 #define FT_232R_CBUS_BITBANG_WR 0x0B // Bit-bang write strobe 262 #define FT_232R_CBUS_BITBANG_RD 0x0C // Bit-bang read strobe 268 #define FT_232H_CBUS_TRISTATE 0x00 // Tristate 269 #define FT_232H_CBUS_TXLED 0x01 // Tx LED 270 #define FT_232H_CBUS_RXLED 0x02 // Rx LED 271 #define FT_232H_CBUS_TXRXLED 0x03 // Tx and Rx LED 272 #define FT_232H_CBUS_PWREN 0x04 // Power Enable 273 #define FT_232H_CBUS_SLEEP 0x05 // Sleep 274 #define FT_232H_CBUS_DRIVE_0 0x06 // Drive pin to logic 0 275 #define FT_232H_CBUS_DRIVE_1 0x07 // Drive pin to logic 1 276 #define FT_232H_CBUS_IOMODE 0x08 // IO Mode for CBUS bit-bang 277 #define FT_232H_CBUS_TXDEN 0x09 // Tx Data Enable 278 #define FT_232H_CBUS_CLK30 0x0A // 30MHz clock 279 #define FT_232H_CBUS_CLK15 0x0B // 15MHz clock 280 #define FT_232H_CBUS_CLK7_5 0x0C // 7.5MHz clock 286 #define FT_X_SERIES_CBUS_TRISTATE 0x00 // Tristate 287 #define FT_X_SERIES_CBUS_TXLED 0x01 // Tx LED 288 #define FT_X_SERIES_CBUS_RXLED 0x02 // Rx LED 289 #define FT_X_SERIES_CBUS_TXRXLED 0x03 // Tx and Rx LED 290 #define FT_X_SERIES_CBUS_PWREN 0x04 // Power Enable 291 #define FT_X_SERIES_CBUS_SLEEP 0x05 // Sleep 292 #define FT_X_SERIES_CBUS_DRIVE_0 0x06 // Drive pin to logic 0 293 #define FT_X_SERIES_CBUS_DRIVE_1 0x07 // Drive pin to logic 1 294 #define FT_X_SERIES_CBUS_IOMODE 0x08 // IO Mode for CBUS bit-bang 295 #define FT_X_SERIES_CBUS_TXDEN 0x09 // Tx Data Enable 296 #define FT_X_SERIES_CBUS_CLK24 0x0A // 24MHz clock 297 #define FT_X_SERIES_CBUS_CLK12 0x0B // 12MHz clock 298 #define FT_X_SERIES_CBUS_CLK6 0x0C // 6MHz clock 299 #define FT_X_SERIES_CBUS_BCD_CHARGER 0x0D // Battery charger detected 300 #define FT_X_SERIES_CBUS_BCD_CHARGER_N 0x0E // Battery charger detected inverted 301 #define FT_X_SERIES_CBUS_I2C_TXE 0x0F // I2C Tx empty 302 #define FT_X_SERIES_CBUS_I2C_RXF 0x10 // I2C Rx full 303 #define FT_X_SERIES_CBUS_VBUS_SENSE 0x11 // Detect VBUS 304 #define FT_X_SERIES_CBUS_BITBANG_WR 0x12 // Bit-bang write strobe 305 #define FT_X_SERIES_CBUS_BITBANG_RD 0x13 // Bit-bang read strobe 306 #define FT_X_SERIES_CBUS_TIMESTAMP 0x14 // Toggle output when a USB SOF token is received 307 #define FT_X_SERIES_CBUS_KEEP_AWAKE 0x15 // 311 #define FT_DRIVER_TYPE_D2XX 0 312 #define FT_DRIVER_TYPE_VCP 1 323 FT_STATUS WINAPI FT_Initialise(
328 void WINAPI FT_Finalise(
331 #endif // FTD2XX_STATIC 334 FT_STATUS WINAPI FT_Open(
340 FT_STATUS WINAPI FT_OpenEx(
347 FT_STATUS WINAPI FT_ListDevices(
354 FT_STATUS WINAPI FT_Close(
359 FT_STATUS WINAPI FT_Read(
363 LPDWORD lpBytesReturned
367 FT_STATUS WINAPI FT_Write(
370 DWORD dwBytesToWrite,
371 LPDWORD lpBytesWritten
375 FT_STATUS WINAPI FT_IoCtl(
377 DWORD dwIoControlCode,
382 LPDWORD lpBytesReturned,
383 LPOVERLAPPED lpOverlapped
387 FT_STATUS WINAPI FT_SetBaudRate(
393 FT_STATUS WINAPI FT_SetDivisor(
399 FT_STATUS WINAPI FT_SetDataCharacteristics(
407 FT_STATUS WINAPI FT_SetFlowControl(
415 FT_STATUS WINAPI FT_ResetDevice(
420 FT_STATUS WINAPI FT_SetDtr(
425 FT_STATUS WINAPI FT_ClrDtr(
430 FT_STATUS WINAPI FT_SetRts(
435 FT_STATUS WINAPI FT_ClrRts(
440 FT_STATUS WINAPI FT_GetModemStatus(
446 FT_STATUS WINAPI FT_SetChars(
449 UCHAR EventCharEnabled,
451 UCHAR ErrorCharEnabled
455 FT_STATUS WINAPI FT_Purge(
461 FT_STATUS WINAPI FT_SetTimeouts(
468 FT_STATUS WINAPI FT_GetQueueStatus(
474 FT_STATUS WINAPI FT_SetEventNotification(
481 FT_STATUS WINAPI FT_GetStatus(
489 FT_STATUS WINAPI FT_SetBreakOn(
494 FT_STATUS WINAPI FT_SetBreakOff(
499 FT_STATUS WINAPI FT_SetWaitMask(
505 FT_STATUS WINAPI FT_WaitOnMask(
511 FT_STATUS WINAPI FT_GetEventStatus(
517 FT_STATUS WINAPI FT_ReadEE(
524 FT_STATUS WINAPI FT_WriteEE(
531 FT_STATUS WINAPI FT_EraseEE(
554 char *ManufacturerId;
567 UCHAR PullDownEnable;
569 UCHAR USBVersionEnable;
579 UCHAR PullDownEnable5;
581 UCHAR USBVersionEnable5;
583 UCHAR AIsHighCurrent;
584 UCHAR BIsHighCurrent;
599 UCHAR PullDownEnableR;
618 UCHAR PullDownEnable7;
621 UCHAR ALSchmittInput;
622 UCHAR ALDriveCurrent;
624 UCHAR AHSchmittInput;
625 UCHAR AHDriveCurrent;
627 UCHAR BLSchmittInput;
628 UCHAR BLDriveCurrent;
630 UCHAR BHSchmittInput;
631 UCHAR BHDriveCurrent;
640 UCHAR PowerSaveEnable;
644 UCHAR PullDownEnable8;
669 UCHAR PullDownEnableH;
672 UCHAR ACSchmittInputH;
673 UCHAR ACDriveCurrentH;
675 UCHAR ADSchmittInputH;
676 UCHAR ADDriveCurrentH;
693 UCHAR FT1248FlowControlH;
695 UCHAR PowerSaveEnableH;
700 FT_STATUS WINAPI FT_EE_Program(
706 FT_STATUS WINAPI FT_EE_ProgramEx(
710 char *ManufacturerId,
716 FT_STATUS WINAPI FT_EE_Read(
722 FT_STATUS WINAPI FT_EE_ReadEx(
726 char *ManufacturerId,
732 FT_STATUS WINAPI FT_EE_UASize(
738 FT_STATUS WINAPI FT_EE_UAWrite(
745 FT_STATUS WINAPI FT_EE_UARead(
749 LPDWORD lpdwBytesRead
754 FT_DEVICE deviceType;
764 UCHAR PullDownEnable;
780 UCHAR AIsHighCurrent;
781 UCHAR BIsHighCurrent;
827 UCHAR ALSchmittInput;
828 UCHAR ALDriveCurrent;
830 UCHAR AHSchmittInput;
831 UCHAR AHDriveCurrent;
833 UCHAR BLSchmittInput;
834 UCHAR BLDriveCurrent;
836 UCHAR BHSchmittInput;
837 UCHAR BHDriveCurrent;
845 UCHAR PowerSaveEnable;
888 UCHAR ACSchmittInput;
889 UCHAR ACDriveCurrent;
891 UCHAR ADSchmittInput;
892 UCHAR ADDriveCurrent;
907 UCHAR FT1248FlowControl;
913 UCHAR PowerSaveEnable;
925 UCHAR ACSchmittInput;
926 UCHAR ACDriveCurrent;
928 UCHAR ADSchmittInput;
929 UCHAR ADDriveCurrent;
949 UCHAR BCDForceCbusPWREN;
950 UCHAR BCDDisableSleep;
952 WORD I2CSlaveAddress;
954 UCHAR I2CDisableSchmitt;
958 UCHAR FT1248FlowControl;
960 UCHAR RS485EchoSuppress;
961 UCHAR PowerSaveEnable;
968 FT_STATUS WINAPI FT_EEPROM_Read(
971 DWORD eepromDataSize,
973 char *ManufacturerId,
980 FT_STATUS WINAPI FT_EEPROM_Program(
983 DWORD eepromDataSize,
985 char *ManufacturerId,
992 FT_STATUS WINAPI FT_SetLatencyTimer(
998 FT_STATUS WINAPI FT_GetLatencyTimer(
1004 FT_STATUS WINAPI FT_SetBitMode(
1011 FT_STATUS WINAPI FT_GetBitMode(
1017 FT_STATUS WINAPI FT_SetUSBParameters(
1019 ULONG ulInTransferSize,
1020 ULONG ulOutTransferSize
1024 FT_STATUS WINAPI FT_SetDeadmanTimeout(
1026 ULONG ulDeadmanTimeout
1034 FT_STATUS FT_SetVIDPID(
1040 FT_STATUS FT_GetVIDPID(
1046 FT_STATUS WINAPI FT_GetDeviceLocId(
1053 FT_STATUS WINAPI FT_GetDeviceInfo(
1055 FT_DEVICE *lpftDevice,
1063 FT_STATUS WINAPI FT_StopInTask(
1068 FT_STATUS WINAPI FT_RestartInTask(
1073 FT_STATUS WINAPI FT_SetResetPipeRetryCount(
1079 FT_STATUS WINAPI FT_ResetPort(
1084 FT_STATUS WINAPI FT_CyclePort(
1094 FT_HANDLE WINAPI FT_W32_CreateFile(
1098 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
1100 DWORD dwAttrsAndFlags,
1105 BOOL WINAPI FT_W32_CloseHandle(
1110 BOOL WINAPI FT_W32_ReadFile(
1114 LPDWORD lpBytesReturned,
1115 LPOVERLAPPED lpOverlapped
1119 BOOL WINAPI FT_W32_WriteFile(
1123 LPDWORD lpBytesWritten,
1124 LPOVERLAPPED lpOverlapped
1128 DWORD WINAPI FT_W32_GetLastError(
1133 BOOL WINAPI FT_W32_GetOverlappedResult(
1135 LPOVERLAPPED lpOverlapped,
1136 LPDWORD lpdwBytesTransferred,
1141 BOOL WINAPI FT_W32_CancelIo(
1152 DWORD fRlsdHold : 1;
1153 DWORD fXoffHold : 1;
1154 DWORD fXoffSent : 1;
1157 DWORD fReserved : 25;
1167 DWORD fOutxCtsFlow:1;
1168 DWORD fOutxDsrFlow:1;
1169 DWORD fDtrControl:2;
1170 DWORD fDsrSensitivity:1;
1171 DWORD fTXContinueOnXoff: 1;
1174 DWORD fErrorChar: 1;
1176 DWORD fRtsControl:2;
1177 DWORD fAbortOnError:1;
1194 DWORD ReadIntervalTimeout;
1195 DWORD ReadTotalTimeoutMultiplier;
1196 DWORD ReadTotalTimeoutConstant;
1197 DWORD WriteTotalTimeoutMultiplier;
1198 DWORD WriteTotalTimeoutConstant;
1203 BOOL WINAPI FT_W32_ClearCommBreak(
1208 BOOL WINAPI FT_W32_ClearCommError(
1215 BOOL WINAPI FT_W32_EscapeCommFunction(
1221 BOOL WINAPI FT_W32_GetCommModemStatus(
1223 LPDWORD lpdwModemStatus
1227 BOOL WINAPI FT_W32_GetCommState(
1233 BOOL WINAPI FT_W32_GetCommTimeouts(
1239 BOOL WINAPI FT_W32_PurgeComm(
1245 BOOL WINAPI FT_W32_SetCommBreak(
1250 BOOL WINAPI FT_W32_SetCommMask(
1256 BOOL WINAPI FT_W32_GetCommMask(
1258 LPDWORD lpdwEventMask
1262 BOOL WINAPI FT_W32_SetCommState(
1268 BOOL WINAPI FT_W32_SetCommTimeouts(
1274 BOOL WINAPI FT_W32_SetupComm(
1276 DWORD dwReadBufferSize,
1277 DWORD dwWriteBufferSize
1281 BOOL WINAPI FT_W32_WaitCommEvent(
1284 LPOVERLAPPED lpOverlapped
1297 char SerialNumber[16];
1298 char Description[64];
1304 FT_FLAGS_OPENED = 1,
1305 FT_FLAGS_HISPEED = 2
1310 FT_STATUS WINAPI FT_CreateDeviceInfoList(
1315 FT_STATUS WINAPI FT_GetDeviceInfoList(
1321 FT_STATUS WINAPI FT_GetDeviceInfoDetail(
1327 LPVOID lpSerialNumber,
1328 LPVOID lpDescription,
1329 FT_HANDLE *pftHandle
1338 FT_STATUS WINAPI FT_GetDriverVersion(
1344 FT_STATUS WINAPI FT_GetLibraryVersion(
1350 FT_STATUS WINAPI FT_Rescan(
1355 FT_STATUS WINAPI FT_Reload(
1361 FT_STATUS WINAPI FT_GetComPortNumber(
1363 LPLONG lpdwComPortNumber
1372 FT_STATUS WINAPI FT_EE_ReadConfig(
1379 FT_STATUS WINAPI FT_EE_WriteConfig(
1386 FT_STATUS WINAPI FT_EE_ReadECC(
1393 FT_STATUS WINAPI FT_GetQueueStatusEx(
1399 FT_STATUS WINAPI FT_ComPortIdle(
1404 FT_STATUS WINAPI FT_ComPortCancelIdle(
1409 FT_STATUS WINAPI FT_VendorCmdGet(
1417 FT_STATUS WINAPI FT_VendorCmdSet(
1425 FT_STATUS WINAPI FT_VendorCmdGetEx(
1433 FT_STATUS WINAPI FT_VendorCmdSetEx(
Definition: ftd2xx.h:1292
Definition: ftd2xx.h:1162
Definition: ftd2xx.h:1193
Definition: ftd2xx.h:1149