Your browser does not allow scripts
Please click here to view a static table of contents without scripts
Type Definitions
Return to Introduction  Previous page  Next page
For Visual C++ applications, these values are pre-declared in the header file (FTCSPI.H), which is included in the driver release. For other languages, these definitions will have to be converted to use equivalent types and may have to be defined in an include file or within the body of the code.



DWORD       Unsigned long (4 bytes)
LPDWORD      Long pointer to a DWORD value
BOOL         Boolean value (4 bytes)
LPSTR         Long pointer to a NULL terminated string
FTC_HANDLE      
DWORD



FTC_STATUS (DWORD)
   FTC_SUCCESS = 0
   FTC_INVALID_HANDLE = 1
   FTC_DEVICE_NOT_FOUND = 2
   FTC_DEVICE_NOT_OPENED = 3
   FTC_IO_ERROR = 4
   FTC_INSUFFICIENT_RESOURCES = 5

   FTC_FAILED_TO_COMPLETE_COMMAND = 20
   FTC_FAILED_TO_SYNCHRONIZE_DEVICE_MPSSE = 21
   FTC_INVALID_DEVICE_NAME_INDEX = 22
   FTC_NULL_DEVICE_NAME_BUFFER_POINTER = 23
   FTC_DEVICE_NAME_BUFFER_TOO_SMALL = 24
   FTC_INVALID_DEVICE_NAME = 25
   FTC_INVALID_LOCATION_ID = 26
   FTC_DEVICE_IN_USE = 27
   FTC_TOO_MANY_DEVICES = 28
   FTC_INVALID_CLOCK_DIVISOR = 29
   FTC_NULL_INPUT_BUFFER_POINTER = 30
   FTC_NULL_CHIP_SELECT_BUFFER_POINTER = 31
   FTC_NULL_INPUT_OUTPUT_BUFFER_POINTER = 32
   FTC_NULL_OUTPUT_PINS_BUFFER_POINTER = 33
   FTC_NULL_INITIAL_CONDITION_BUFFER_POINTER = 34
   FTC_NULL_WRITE_CONTROL_BUFFER_POINTER = 35
   FTC_NULL_WRITE_DATA_BUFFER_POINTER = 36
   FTC_NULL_WAIT_DATA_WRITE_BUFFER_POINTER = 37
   FTC_NULL_READ_DATA_BUFFER_POINTER = 38
   FTC_NULL_READ_CMDS_DATA_BUFFER_POINTER = 39
   FTC_INVALID_NUMBER_CONTROL_BITS = 40
   FTC_INVALID_NUMBER_CONTROL_BYTES = 41
   FTC_NUMBER_CONTROL_BYTES_TOO_SMALL = 42
   FTC_INVALID_NUMBER_WRITE_DATA_BITS = 43
   FTC_INVALID_NUMBER_WRITE_DATA_BYTES = 44
   FTC_NUMBER_WRITE_DATA_BYTES_TOO_SMALL = 45
   FTC_INVALID_NUMBER_READ_DATA_BITS = 46
   FTC_INVALID_INIT_CLOCK_PIN_STATE = 47
   FTC_INVALID_FT2232C_CHIP_SELECT_PIN = 48
   FTC_INVALID_FT2232C_DATA_WRITE_COMPLETE_PIN = 49
   FTC_DATA_WRITE_COMPLETE_TIMEOUT = 50
   FTC_INVALID_CONFIGURATION_HIGHER_GPIO_PIN = 51
   FTC_COMMAND_SEQUENCE_BUFFER_FULL = 52
   FTC_NO_COMMAND_SEQUENCE = 53
   FTC_NULL_DLL_VERSION_BUFFER_POINTER = 54
   FTC_DLL_VERSION_BUFFER_TOO_SMALL = 55
   FTC_NULL_LANGUAGE_CODE_BUFFER_POINTER = 56
   FTC_NULL_ERROR_MESSAGE_BUFFER_POINTER = 57
   FTC_ERROR_MESSAGE_BUFFER_TOO_SMALL = 58
   FTC_INVALID_LANGUAGE_CODE = 59
   FTC_INVALID_STATUS_CODE = 60



FTC_INIT_CONDITION
typedef struct FTC_Init_Condition {
   BOOL bClockPinState
   BOOL bDataOutPinState
   BOOL bChipSelectPinState
   DWORD dwChipSelectPin
} FTC_INIT_CONDITION *PFTC_INIT_CONDITION



FTC_CHIP_SELECT_PINS
typedef struct Ft_Chip_Select_Pins{
   BOOL bADBUS3ChipSelectPinState
   BOOL bADBUS4GPIOL1PinState
   BOOL bADBUS5GPIOL2PinState
   BOOL bADBUS6GPIOL3PinState
   BOOL bADBUS7GPIOL4PinState
}FTC_CHIP_SELECT_PINS, *PFTC_CHIP_SELECT_PINS;



FTC_INPUT_OUTPUT_PINS
typedef struct FTC_Higher_Output_Pins {
   BOOL bPin1State
   BOOL bPin1ActiveState
   BOOL bPin2State
   BOOL bPin2ActiveState
   BOOL bPin3State
   BOOL bPin3ActiveState
   BOOL bPin4State
   BOOL bPin4ActiveState
} FTC_HIGHER_OUTPUT_PINS *PFTC_HIGHER_OUTPUT_PINS



WRITE CONTROL BYTE BUFFER

#define
MAX_WRITE_CONTROL_BYTES_BUFFER_SIZE   256   // 256 bytes
typedef BYTE WriteControlByteBuffer[MAX_WRITE_CONTROL_BYTES_BUFFER_SIZE];
typedef WriteControlByteBuffer *PWriteControlByteBuffer;



WRITE DATA BYTE BUFFER
#define
MAX_WRITE_DATA_BYTES_BUFFER_SIZE 65536   // 64K bytes
typedef BYTE WriteDataByteBuffer[MAX_WRITE_DATA_BYTES_BUFFER_SIZE];
typedef WriteDataByteBuffer *PWriteDataByteBuffer;



FTC_WAIT_DATA_WRITE
typedef struct FTC_Wait_Data_Write {
   BOOL bWaitDataWriteComplete
   DWORD dwWaitDataWritePin
   BOOL bDataWriteCompleteState
   DWORD dwDataWriteTimeoutmSecs
} FTC_WAIT_DATA_WRITE *PFTC_WAIT_DATA_WRITE



READ DATA BYTE BUFFER
#define MAX_READ_DATA_BYTES_BUFFER_SIZE 65536   // 64K bytes
typedef BYTE ReadDataByteBuffer[MAX_READ_DATA_BYTES_BUFFER_SIZE];
typedef ReadDataByteBuffer *PReadDataByteBuffer;