Dear infineon team,
I am trying to port my old code build using 1.3.1 SDK to 1.3.4 SDK. I faced a problem during I2C communication. I was sending some data through I2C before the CyU3PConnectState() API in my previous code. But while using 1.3.4 SDK the data transmitted over I2C was not written properly in registers. This is happening randomly (out of 5 times 2 or 3 times this issue occurs) . But in 1.3.4 SDK when I transmit I2C data after the CyU3PConnectState() API it is working properly.
kindly provide a solution to sort out this issue.
Hi, I'm engineer developing camera modules using FX3 controller.
I'm configuring FX3 GPIF-II interface for some image sensor now.
The sensor support resolution as 2560x721x30FPS.
And data bus line is 10 lines and PCLK from sensor is 120Mhz.
But the FX3 is not support PCLK over 100 Mhz, isn,t it?
So I'm figuring out solving this problem.
If the PCLK is over 100Mhz, what problem is occured?
How can I solve this problem?
Please give me the solution.Show Less
Hi FX3 team,
From the example code in slavefifo_example\slfifosync, the UART in CyFxSlFifoApplnDebugInit (void) in the example code is pointing to CY_U3P_LPP_SOCKET_UART_CONS. meaning the UART message will be send to the physical UART port in cypress FX3 IC.
Can i reuse back the same code with minor change on :
and direct the UART message via USB to the host-PC and read it with teraterm terminal?
the example code i am refering to with the minor change is as in the picture attached.
Most of the data I'm trying to transmit seems to be going between the FX3 and the other chip just fine, but I'm periodically getting zero length packets seemingly coming from nowhere. I've been trying to debug this, but everything I've tried has been a dead end so far.
I'm trying to use the FX3 to connect an 8051 on our board with a host application on a windows PC. My setup is as follows:
Now the problem I'm seeing is that, the 8051 sends a keepalive signal periodically to the host app, and every once in a while, we get a zero length packet as well.
Here's what I've tried in my investigation:
I suspected that maybe there's noise or something changing the PKTEND pin long enough to trick the state machine into sending a ZLP, but my coworker has already dismissed that notion. He's the hardware guy, so I can't really make him check it, and he didn't leave a way to attach a scope or anything to the pin, so wouldn't be easy.
If anyone has any suggestions of what might be going wrong, or ideas for other things I could test, I'd love to hear them.Show Less
For my initial evaluation of USB3 Vision, I am using the source code shared in the forum. Using that source code, I am able to enumerate the device as a USB3 Vision device, but I cannot connect to any GenICAM application to test the streaming. Any guidance on this would be appreciated.
Thanks in Advance,
Vigneshkumar R.Show Less
We would like to make use of the Cypress CyUSB3 Driver Resell opportunity for Windows 10. Which information do you need to be able to proceed?Show Less
We want to certificate driver by resell process.
Could you please confirm below information?
publisher display name : 주식회사 휴톤
MPN ID : 6558010
os : win 10 x64, win 10 x86
driver version : 18.104.22.168
chip : fx3
Thank youShow Less
I'm using Qt Creator 7.0.1 based on Qt 6.2.3 (MVSC 2019, 64bits)
I got several issues while trying to build my project.
CyAPI.lib(CyAPI.obj):-1: erreur : LNK2019: symbole externe non r‚solu __imp_UnregisterDeviceNotification r‚f‚renc‚ dans la fonction "public: void __cdecl CCyUSBDevice::DestroyHandle(void)" (?DestroyHandle@CCyUSBDevice@@QEAAXXZ)
CyAPI.lib(CyAPI.obj):-1: erreur : LNK2019: symbole externe non r‚solu __imp_RegisterDeviceNotificationA r‚f‚renc‚ dans la fonction "private: bool __cdecl CCyUSBDevice::RegisterForPnpEvents(void *)" (?RegisterForPnpEvents@CCyUSBDevice@@AEAA_NPEAX@Z)
CyAPI.lib(CyAPI.obj):-1: erreur : LNK2019: symbole externe non r‚solu __imp_MessageBoxA r‚f‚renc‚ dans la fonction "int `public: bool __cdecl CCyUSBDevice::Open(unsigned char)'::`1'::catch$0" (?catch$0@?0??Open@CCyUSBDevice@@QEAA_NE@Z@4HA)
Do you know what is missing ?
my .pro file possess these libraries
LIBS += "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\library\cpp\lib\x64\CyAPI.lib"
LIBS += "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\SetupAPI.Lib"
LIBS += "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\lib\x64\legacy_stdio_definitions.lib"
INCLUDEPATH += "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\library\cpp\inc"
I have CYUSB3014, and i willing to i2c working in slave fifo,because we want to transfer USB data and i2C data at the same time .
Is this can possible?If it's can do it, could you please let me know example source code like bulkloop or slavefifo ?
Thank youShow Less
I follow Adding Communication Device Class Interface to FX3 Firmware - KBA229099. and added all the codes into cyfxslfifousbdscr.c and cyfxslfifosync.c. When i try it out at my host-PC, windows 10 device manager can detect the cypress bootloader but the USB-Serial-device did not show up in device-manager-other device.
i am using the example from SlaveFifoSync.rar in https://community.infineon.com/t5/Knowledge-Base-Articles/Adding-Communication-Device-Class-Interface-to-FX3-Firmware-KBA229099/ta-p/259825
do i need to add the codebelow from https://community.infineon.com/t5/Resource-Library/SlaveFiFoSync-example-with-a-CDC-debug-console/ta-p/246083, into cyfxslfifosync.c
// Only proceed if USB connection is up
// Tear down DMA channels that need to be reassigned
// Switch console
UsingUARTConsole = !UsingUARTConsole;
CyU3PDebugPrint(4, "Switching console to %s", UsingUARTConsole ? "UART" : "USB");
CyU3PThreadSleep(100); // Delay to allow message to get to the user
// Disconnect the current console
CyU3PThreadSleep(100); // Delay to allow Debug thread to complete and all buffers returned
// Connect up the new Console out - this is simpler than the I2C case since the USB socket is an infinite sink
Status = CyU3PDebugInit(UsingUARTConsole ? CY_U3P_LPP_SOCKET_UART_CONS : CY_FX_EP_CONSUMER_CDC_SOCKET, 8);
CyU3PDebugPreamble(CyFalse); // Skip preamble, debug info is targeted for a person
// Say hello on the new console
CyU3PDebugPrint(4, "Console is now %s", UsingUARTConsole ? "UART" : "USB" );
// Now connect up Console In
Status = InitializeDebugConsoleIn(UsingUARTConsole);
// Connect CDC_Loopback if necessary
else CyU3PDebugPrint(4, "USB not active, cannot switch consoles\n");
CyU3PReturnStatus_t InitializeDebugConsoleIn(CyBool_t UsingUART)
CyU3PDebugPrint(4, "\nSetting up USB_CDC Console In");
CyU3PMemSet((uint8_t *)&dmaConfig, 0, sizeof(dmaConfig));
dmaConfig.size = EpSize[CyU3PUsbGetSpeed()];
dmaConfig.count = 2;
dmaConfig.prodSckId = CY_FX_EP_PRODUCER_CDC_SOCKET;
dmaConfig.consSckId = CY_U3P_CPU_SOCKET_CONS;
dmaConfig.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaConfig.notification = CY_U3P_DMA_CB_PROD_EVENT;
dmaConfig.cb = CDC_CharsReceived;
Status = CyU3PDmaChannelCreate(&CDCtoCPU_Handle, CY_U3P_DMA_TYPE_MANUAL_IN, &dmaConfig);
if (Status != CY_U3P_SUCCESS) CyU3PDmaChannelDestroy(&CDCtoCPU_Handle);
Status = CyU3PDmaChannelSetXfer(&CDCtoCPU_Handle, 0);