FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Topics - Daniel123

Pages: [1]
1
Discussion - Software / FT60X Isochronous Endpoint
« on: July 29, 2018, 09:04:59 AM »
Dear all,
is it possible with FT60X to implement isochronous endpoint? I found in the AN_407 D3xx .NET Programmers Guide:

Code: [Select]
/// <summary>
/// USB Pipe types
/// </summary>
public enum FT_PIPE_TYPE {
/// <summary>
/// USB control pipe
/// </summary>
CONTROL,
/// <summary>
/// USB isochronous pipe
/// </summary>
ISOCHRONOUS,
/// <summary>
/// USB bulk pipe
/// </summary>
BULK,
/// <summary>
/// USB interrupt pipe
/// </summary>
INTERRUPT };


How can I declare that a specific endpoint is isochronous type?


2
Discussion - Software / FT60X C++ Example not working
« on: July 20, 2018, 08:36:17 AM »
Dear all,
I tried a simple c++ example, which is provided in pieces with the d3xx api programming guide. I want to use ReadPipe for synchronous read of FT60X-Q.
I can compile it with visual studio. However running the exe file gives me back ftStatus = 32, so this means FT_OTHER_ERROR.
Here is the used code snippet:


Code: [Select]

#pragma once

#include "targetver.h"

#include <stdio.h>
#include <tchar.h>
#include <Windows.h>
#include <iostream>
#include <string>
#include <chrono>
#include <fstream>
#include <thread>


//
// Include D3XX library
//
#include "FTD3XXLibrary\FTD3XX.h"
//#pragma comment(lib, "FTD3XX.lib")


int main()
{
int n;
//UCHAR acBuf[NUM_BUFFERS][BUFFER_SIZE] = { 0xFF };
//UCHAR acBufs[BUFFER_SIZE] = { 0xFF };
UCHAR Buffer[2048] = {};
OVERLAPPED vOverlapped[NUM_BUFFERS];





bool noDevice = false;

FT_STATUS ftStatus;
FT_HANDLE ftHandle;
DWORD numDevs = 0;

ftStatus = FT_CreateDeviceInfoList(&numDevs);
FT_DEVICE_LIST_INFO_NODE *devInfo = (FT_DEVICE_LIST_INFO_NODE*)malloc(sizeof(FT_DEVICE_LIST_INFO_NODE)* numDevs);
if (!FT_FAILED(ftStatus && numDevs > 0))
{


ftStatus = FT_GetDeviceInfoList(devInfo, &numDevs);
if (!FT_FAILED(ftStatus))
{
printf("List of Connected Devices!\n\n");
for (DWORD i = 0; i < numDevs; i++)
{
printf("Device[%d]\n", i);
printf("\tFlags: 0x%x %s | Type: %d | ID: 0x%08X | ftHandle=0x%x\n",
devInfo[i].Flags,
devInfo[i].Flags & FT_FLAGS_SUPERSPEED ? "[USB 3]" :
devInfo[i].Flags & FT_FLAGS_HISPEED ? "[USB 2]" :
devInfo[i].Flags & FT_FLAGS_OPENED ? "[OPENED]" : "",
devInfo[i].Type,
devInfo[i].ID,
devInfo[i].ftHandle);
printf("\tSerialNumber=%s\n", devInfo[i].SerialNumber);
printf("\tDescription=%s\n", devInfo[i].Description);


}
}
}
else
{
noDevice = true;
}

if (noDevice == false)
{
ftStatus = FT_Create(devInfo[0].SerialNumber, FT_OPEN_BY_SERIAL_NUMBER, &ftHandle);
std::cout << "Device Created";
}



ULONG transferBytes = 1 * 1024 * 1024;
int anzahl = 2048;
int anzahl_alt = 0;
int durchgang = 0;
long bytesTotal = 0;
ULONG ulBytesTransferred = 0;
long maxTransfer = 2147483648;
long transfer = 0;
bool isRunning = true;

ftStatus = FT_ReadPipe(ftHandle, 0x82, Buffer, transferBytes, &ulBytesTransferred, NULL);
std::cout << ftStatus;

std::cin >> i;
if (noDevice == false)
{
ftStatus = FT_Close(ftHandle);
}



    return 0;
}

Running the exe gives me first information of connected FT60X-Q, then "Device Created" and after this ftstatus 32 when FT_ReadPipe is called. Can you help me solving this issue.
Do I have to compile with Common Language Runtime common environment or CLI? I now used native c++. I have the same program in C#, there it works without problems.
Thank you.


Daniel

3
Dear all,
in technical reference of FT60X it is stated that FIFO stack size is 16 Kbyte.
Then further on there is the statement that when FT60X is configured as 2 channel in multi channel FIFO Bus mode the FIFO buffer is configured as 2 KB * 2 (double buffered) each on RX and TX channel.
So to sum this up we have 2 channel x 2 directions x 2 kb x 2 which is 16 Kbyte.

But what exactky does double buffered mean. In the example do I have now 4 Kbyte per pipe? What are the implications of double buffered?

What exactly is the difference between FT245 and FT600 mode except that in FT600 I have more choice regarding number of endpoints?


4
Discussion - Hardware / FT601 FPGA Bus Master Example Error
« on: January 22, 2018, 02:27:55 PM »
Hello everyone,
I have FT601 dev board connected to an Altera Cyclone V GX Startet Board and I'm trying to get the loopback example startet. I downloaded the cyclonev_mst_fifo32_1.1.zip file with the FPGA Configuration and uploaded it to the Cyclone board. I switched the switches for loopback FT600 Mode.
Using the FTDI example Loopback program on my host pc and starting a loopback transfer is succesful for the first loopback transfer, but all other loopback transfers are failing. The data comes back but there is no match between the sendout data and the received data.
Switching to the streamer FPGA configuration and trying to stream data with the FTDI streamer example program on the host pc works, but data throughput is relative low (231 Mbyte/s).

Does anyone else experience similar problems? There is another Altera FPGA Image for download on the same page like the one mentioned beforce. In this configuration the loopback works and is much faster then the other configuration but in this example there is no streamer configuration, however it is cleary stated in the txt-File contained in the zip file Altera_Dataloopback_Firmware.zip  :

Quote
Altera CycloneVGXC5G master Release List:

1.CycloneVGXC5G_16bit_MC245    ///For data loopback demo, FT600 device, 245 FIFO Mode

2.CycloneVGXC5G_32bit_MC245    ///For data loopback demo, FT601 device, 245 FIFO Mode

3.CycloneVGXC5G_32bit_MC600    ///For data loopback demo, FT601 device, Multi-channel FIFO Mode(600 Mode)

------------------------------

4.CycloneVGXC5G_16bit_MC245_XP    ///For data streamer demo, FT600 device, 245 FIFO Mode

5.CycloneVGXC5G_32bit_MC245_XP    ///For data streamer demo, FT601 device, 245 FIFO Mode

6.CycloneVGXC5G_32bit_MC600_XP    ///For data streamer demo, FT601 device, Multi-channel FIFO Mode(600 Mode)

------------------------------

Revision: 1.1
Date:21-Oct-2015

Revision: 1.11
Date:22-Oct-2015
1.Add in MC245-16bit/32bit data streamer demo
2.Add in MC600-32bit data streamer demo

Configuration 6 6.CycloneVGXC5G_32bit_MC600_XP, 5 and 4 are not inside the zip file. Can anybody tell me where I can download these?
Thank you for any help.

Pages: [1]