Difference between revisions of "Component: FTDI (FTD2XX) (Third Party)"
From Flowcode Help
Jump to navigationJump to searchLine 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
− | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/ | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/ftd2xx_232.fcsx FC_Comp_Source_temp/ftd2xx_232.fcsx] |
− | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/ | + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/ftd2xx_232.fcsx FC_Comp_Source_temp/ftd2xx_232.fcsx] |
==Detailed description== | ==Detailed description== | ||
Line 77: | Line 77: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
+ | |||
+ | |||
Line 85: | Line 87: | ||
==Macro reference== | ==Macro reference== | ||
− | === | + | ===FT_Close=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_Close''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Close an open device. |
|- | |- | ||
|- | |- | ||
Line 99: | Line 101: | ||
| colspan="2" | Handle of the device. | | colspan="2" | Handle of the device. | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | | + | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
+ | |} | ||
+ | |||
+ | |||
+ | ===FT_ClrDtr=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_ClrDtr''' | ||
|- | |- | ||
− | | | + | | colspan="2" | This function clears the Data Terminal Ready (DTR) control signal. |
− | |||
|- | |- | ||
− | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | Handle |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Handle of the device. |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 138: | Line 144: | ||
− | === | + | ===FT_CreateDeviceInfoList=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_CreateDeviceInfoList''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | This function builds a device information list and returns the number of D2XX devices connected to the system. The list contains information about both unopen and open devices. |
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | DevCount |
+ | |- | ||
+ | | colspan="2" | Unsigned long array used to store the number of devices connected | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===FT_GetDeviceInfoDetail=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_GetDeviceInfoDetail''' | ||
|- | |- | ||
− | | | + | | colspan="2" | This function returns an entry from the device information list. |
− | |||
|- | |- | ||
− | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
− | | width="90%" | | + | | width="90%" | Index |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Index of the entry in the device info list. |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
− | | width="90%" | | + | | width="90%" | Flags |
|- | |- | ||
− | | colspan="2" | Pointer to | + | | colspan="2" | Pointer to unsigned long to store the flag value. |
|- | |- | ||
− | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG |
− | | width="90%" | + | | width="90%" | Type |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | colspan="2" | Pointer to unsigned long to store device type. |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG |
+ | | width="90%" | ID | ||
|- | |- | ||
+ | | colspan="2" | Pointer to unsigned long to store device ID. | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG |
− | | width="90%" | | + | | width="90%" | LocID |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Pointer to unsigned long to store the device location ID. |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
− | | width="90%" | | + | | width="90%" | SerNum |
|- | |- | ||
− | | colspan="2" | Pointer to | + | | colspan="2" | Pointer to buffer to store device serial number as a null terminated string |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | | + | | width="90%" | Descript |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Pointer to buffer to store device description as a null-terminated string |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG |
− | | width="90%" | | + | | width="90%" | TempHandle |
|- | |- | ||
− | | colspan="2" | Pointer to a variable of type | + | | colspan="2" | Pointer to a variable of type FT_HANDLE where the handle will be stored |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 206: | Line 217: | ||
− | === | + | ===FT_GetModemStatus=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_GetModemStatus''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Gets the modem status and line status from the device. |
|- | |- | ||
|- | |- | ||
Line 220: | Line 231: | ||
| colspan="2" | Handle of the device. | | colspan="2" | Handle of the device. | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG |
− | | width="90%" | | + | | width="90%" | ModemStatus |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Pointer to a variable of type DWORD which receives the modem status and line status from the device. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 240: | Line 241: | ||
− | === | + | ===FT_GetQueueStatus=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_GetQueueStatus''' |
|- | |- | ||
− | | colspan="2" | Gets the | + | | colspan="2" | Gets the number of bytes in the receive queue. |
|- | |- | ||
|- | |- | ||
Line 255: | Line 256: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | RxQueueLength |
|- | |- | ||
− | | colspan="2" | Pointer to a variable of type DWORD which receives the | + | | colspan="2" | Pointer to a variable of type DWORD which receives the number of bytes in the receive queue. |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 264: | Line 265: | ||
− | === | + | ===FT_GetStatus=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_GetStatus''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Gets the device status including number of characters in the receive queue, number of characters in the transmit queue, and the current event status. |
|- | |- | ||
|- | |- | ||
Line 277: | Line 278: | ||
|- | |- | ||
| colspan="2" | Handle of the device. | | colspan="2" | Handle of the device. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
+ | | width="90%" | RxQueueLength | ||
+ | |- | ||
+ | | colspan="2" | Pointer to a variable of type DWORD which receives the number of characters in the receive queue. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
+ | | width="90%" | TxQueueLength | ||
+ | |- | ||
+ | | colspan="2" | Pointer to a variable of type DWORD which receives the number of characters in the transmit queue. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
+ | | width="90%" | EventStatus | ||
+ | |- | ||
+ | | colspan="2" | Pointer to a variable of type DWORD which receives the current state of the event status. | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 283: | Line 299: | ||
− | === | + | ===FT_Open=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_Open''' |
+ | |- | ||
+ | | colspan="2" | Open the device and return a handle which will be used for subsequent accesses. | ||
+ | |- | ||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT |
+ | | width="90%" | Device | ||
|- | |- | ||
+ | | colspan="2" | Index of the device to open. Indices are 0 based. | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | ft_Handle |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Pointer to a variable of type FT_HANDLE where the handle will be stored. This handle must be used to access the device. |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 302: | Line 323: | ||
− | === | + | ===FT_Purge=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_Purge''' |
|- | |- | ||
− | | colspan="2" | This function | + | | colspan="2" | This function purges receive and transmit buffers in the device. |
|- | |- | ||
|- | |- | ||
Line 317: | Line 338: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | Mask |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Used to determine which buffer to purge, 1=Rx / 2=Tx / 3=Both |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 331: | Line 347: | ||
− | === | + | ===FT_Read=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_Read''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Read data from the device. |
|- | |- | ||
|- | |- | ||
Line 346: | Line 362: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
− | | width="90%" | | + | | width="90%" | Buffer |
+ | |- | ||
+ | | colspan="2" | Pointer to the buffer that receives the data from the device. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
+ | | width="90%" | Bytes | ||
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Number of bytes to be read from the device. |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG |
− | | width="90%" | | + | | width="90%" | Count |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Pointer to a variable of type DWORD which receives the number of bytes read from the device. |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 360: | Line 381: | ||
− | === | + | ===FT_ResetDevice=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_ResetDevice''' |
|- | |- | ||
− | | colspan="2" | This function | + | | colspan="2" | This function sends a reset command to the device. |
|- | |- | ||
|- | |- | ||
Line 379: | Line 400: | ||
− | === | + | ===FT_SetBaudRate=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetBaudRate''' |
|- | |- | ||
− | | colspan="2" | This function | + | | colspan="2" | This function sets the baud rate for the device. |
|- | |- | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG |
− | | width="90%" | | + | | width="90%" | Handle |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Handle of the device. |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
− | | width="90%" | | + | | width="90%" | BaudRate |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Baud rate. |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | | + | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
+ | |} | ||
+ | |||
+ | |||
+ | ===FT_SetBitMode=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetBitMode''' | ||
|- | |- | ||
− | | | + | | colspan="2" | Enables different chip modes. |
− | |||
|- | |- | ||
− | |||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG |
− | | width="90%" | | + | | width="90%" | Handle |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Handle of the device. |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
− | | width="90%" | | + | | width="90%" | Mask |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Required value for bit mode mask. This sets up which bits are inputs and outputs. A bit value of 0 sets the corresponding pin to an input, a bit value of 1 sets the corresponding pin to an output. |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
− | | width="90%" | | + | | width="90%" | Mode |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | 0=Reset / 1=AsyncBB / 2=MPSSE / 4=SyncBB / 8=MCUHost / 16=FastOpto / 32=CBUS / 64=SyncFIFO |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 433: | Line 453: | ||
− | === | + | ===FT_SetBreakOff=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetBreakOff''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Resets the BREAK condition for the device. |
|- | |- | ||
|- | |- | ||
Line 452: | Line 472: | ||
− | === | + | ===FT_SetBreakOn=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetBreakOn''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Sets the BREAK condition for the device. |
|- | |- | ||
|- | |- | ||
Line 471: | Line 491: | ||
− | === | + | ===FT_SetChars=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetChars''' |
|- | |- | ||
− | | colspan="2" | This function | + | | colspan="2" | This function sets the special characters for the device. |
|- | |- | ||
|- | |- | ||
Line 485: | Line 505: | ||
| colspan="2" | Handle of the device. | | colspan="2" | Handle of the device. | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | | + | | width="90%" | EventCh |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Event character. |
|- | |- | ||
− | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | + | | width="90%" | EventChEn |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | colspan="2" | 0 if event character disabled, non-zero otherwise. |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
+ | | width="90%" | ErrorCh | ||
|- | |- | ||
+ | | colspan="2" | Error character. | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | | + | | width="90%" | ErrorChEn |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | 0 if error character disabled, non-zero otherwise. |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 547: | Line 558: | ||
|- | |- | ||
| colspan="2" | Parity 0=None / 1=Odd / 2=Even / 3=Mark / 4=Space | | colspan="2" | Parity 0=None / 1=Odd / 2=Even / 3=Mark / 4=Space | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 596: | Line 588: | ||
− | === | + | ===FT_SetDtr=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetDtr''' |
|- | |- | ||
− | | colspan="2" | This function sets the | + | | colspan="2" | This function sets the Data Terminal Ready (DTR) control signal. |
|- | |- | ||
|- | |- | ||
Line 609: | Line 601: | ||
|- | |- | ||
| colspan="2" | Handle of the device. | | colspan="2" | Handle of the device. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 620: | Line 607: | ||
− | === | + | ===FT_SetFlowControl=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetFlowControl''' |
|- | |- | ||
− | | colspan="2" | This function sets the | + | | colspan="2" | This function sets the flow control for the device. |
|- | |- | ||
|- | |- | ||
Line 633: | Line 620: | ||
|- | |- | ||
| colspan="2" | Handle of the device. | | colspan="2" | Handle of the device. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | FlowControl | ||
+ | |- | ||
+ | | colspan="2" | Flow setting 0=None, 0x0100=RTS/CTS, 0x0200=DTR/DSR, 0x0400=XON/XOFF | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Xon | ||
+ | |- | ||
+ | | colspan="2" | Character used to signal Xon. Only used if flow control is Xon/Xoff | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Xoff | ||
+ | |- | ||
+ | | colspan="2" | Character used to signal Xoff. Only used if flow control is Xon/Xoff | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 639: | Line 641: | ||
− | === | + | ===FT_SetRts=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetRts''' |
− | |||
− | |||
|- | |- | ||
+ | | colspan="2" | This function sets the Request To Send (RTS) control signal. | ||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | Handle |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Handle of the device. |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 663: | Line 660: | ||
− | === | + | ===FT_SetTimeouts=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_SetTimeouts''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | This function sets the read and write timeouts for the device. |
|- | |- | ||
|- | |- | ||
− | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG |
− | | width="90%" | + | | width="90%" | Handle |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | colspan="2" | Handle of the device. |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG |
+ | | width="90%" | ReadTimeout | ||
|- | |- | ||
+ | | colspan="2" | Read timeout in milliseconds. | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | | width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG | ||
− | | width="90%" | | + | | width="90%" | WriteTimeout |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Write timeout in milliseconds. |
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
Line 696: | Line 689: | ||
− | === | + | ===FT_Write=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FT_Write''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Write data to the device. |
|- | |- | ||
|- | |- | ||
Line 711: | Line 704: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
− | | width="90%" | | + | | width="90%" | Buffer |
+ | |- | ||
+ | | colspan="2" | Pointer to the buffer that contains the data to be written to the device. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
+ | | width="90%" | Bytes | ||
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Number of bytes to write to the device. |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG |
− | | width="90%" | | + | | width="90%" | Count |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Pointer to a variable of type DWORD which receives the number of bytes written to the device. |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE |
− | | width="90%" | | + | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
+ | |} | ||
+ | |||
+ | |||
+ | ===ScanFor232=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ScanFor232''' | ||
|- | |- | ||
− | | | + | | colspan="2" | Scans for a FTDI D2XX device, returnes true if at least one device was found. |
− | |||
|- | |- | ||
− | |||
|- | |- | ||
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL |
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} |
Revision as of 12:03, 3 February 2023
Author | Matrix Ltd |
Version | 1.0 |
Category | Third Party |
Contents
- 1 FTDI (FTD2XX) component
- 2 Component Source Code
- 3 Detailed description
- 4 Examples
- 5 Macro reference
- 5.1 FT_Close
- 5.2 FT_ClrDtr
- 5.3 FT_ClrRts
- 5.4 FT_CreateDeviceInfoList
- 5.5 FT_GetDeviceInfoDetail
- 5.6 FT_GetModemStatus
- 5.7 FT_GetQueueStatus
- 5.8 FT_GetStatus
- 5.9 FT_Open
- 5.10 FT_Purge
- 5.11 FT_Read
- 5.12 FT_ResetDevice
- 5.13 FT_SetBaudRate
- 5.14 FT_SetBitMode
- 5.15 FT_SetBreakOff
- 5.16 FT_SetBreakOn
- 5.17 FT_SetChars
- 5.18 FT_SetDataCharacteristics
- 5.19 FT_SetDivisor
- 5.20 FT_SetDtr
- 5.21 FT_SetFlowControl
- 5.22 FT_SetRts
- 5.23 FT_SetTimeouts
- 5.24 FT_Write
- 5.25 ScanFor232
- 6 Property reference
FTDI (FTD2XX) component
Simulation only interface to allow communications with a FTDI USB 232 IC connected to the system. For more details refer to the D2XX_Programmers_Guide from FTDI.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_temp/ftd2xx_232.fcsx
Please click here to view the component source code (Beta): FC_Comp_Source_temp/ftd2xx_232.fcsx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
FT_Close
![]() |
FT_Close |
Close an open device. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_ClrDtr
![]() |
FT_ClrDtr |
This function clears the Data Terminal Ready (DTR) control signal. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_ClrRts
![]() |
FT_ClrRts |
This function clears the Request To Send (RTS) control signal. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_CreateDeviceInfoList
FT_GetDeviceInfoDetail
FT_GetModemStatus
FT_GetQueueStatus
FT_GetStatus
FT_Open
FT_Purge
![]() |
FT_Purge |
This function purges receive and transmit buffers in the device. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Mask |
Used to determine which buffer to purge, 1=Rx / 2=Tx / 3=Both | |
![]() |
Return |
FT_Read
FT_ResetDevice
![]() |
FT_ResetDevice |
This function sends a reset command to the device. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_SetBaudRate
![]() |
FT_SetBaudRate |
This function sets the baud rate for the device. | |
![]() |
Handle |
Handle of the device. | |
![]() |
BaudRate |
Baud rate. | |
![]() |
Return |
FT_SetBitMode
FT_SetBreakOff
![]() |
FT_SetBreakOff |
Resets the BREAK condition for the device. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_SetBreakOn
![]() |
FT_SetBreakOn |
Sets the BREAK condition for the device. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_SetChars
FT_SetDataCharacteristics
FT_SetDivisor
![]() |
FT_SetDivisor |
This function sets the baud rate for the device. It is used to set non-standard baud rates. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Divisor |
Divisor. | |
![]() |
Return |
FT_SetDtr
![]() |
FT_SetDtr |
This function sets the Data Terminal Ready (DTR) control signal. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_SetFlowControl
FT_SetRts
![]() |
FT_SetRts |
This function sets the Request To Send (RTS) control signal. | |
![]() |
Handle |
Handle of the device. | |
![]() |
Return |
FT_SetTimeouts
FT_Write
ScanFor232
![]() |
ScanFor232 |
Scans for a FTDI D2XX device, returnes true if at least one device was found. | |
![]() |
Return |
Property reference
![]() |
Properties |
![]() |
Label |
A text label for the component's panel component. |