USB superspeed peripherals Forum Discussions
Hello everybody,
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"
Show Less
Hi
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 you
Show LessI 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
void SwitchConsoles(void)
{
CyU3PReturnStatus_t Status;
// Only proceed if USB connection is up
if (glIsApplicationActive)
{
// Tear down DMA channels that need to be reassigned
CyU3PDmaChannelDestroy(&CDCtoCPU_Handle);
// 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
CyU3PDebugDeInit();
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);
CheckStatus("DebugInit", Status);
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);
CheckStatus("InitializeDebugConsoleIn", Status);
// 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);
CheckStatus("CreateCDC_ConsoleInDmaChannel", Status);
if (Status != CY_U3P_SUCCESS) CyU3PDmaChannelDestroy(&CDCtoCPU_Handle);
else
{
Status = CyU3PDmaChannelSetXfer(&CDCtoCPU_Handle, 0);
CheckStatus("ConsoleInEnabled", Status);
}
}
return Status;
}
Show Less
As per Infineon's latest USB Product Roadmap, there has been mention of WLCSP package of FX3 Controller. I am attaching the latest Product Roadmap.
This package is almost half the size of standard BGA package. But there is no information on this WLCSP package on Infineon website.
Please check and let us know if this package is still under considerations or not? If yes then please help in providing details for this package.
Thanks & Regards,
Sunny Watts
Show LessI encounter an issue while trying to build a code using CyAPI.lib in Visual Studio Community 2022.
I've followed the setup :
1. Added the path to the headers in my project options (The #include "CyAPI.h" works)
2. Added the path to CyAPI.lib in my project options (linker)
3. Added the setupapi.lib in my project options (linker)
I encounter the following message :
LNK2019 symbole externe non résolu sprintf référencé dans la fonction "public: void __cdecl CCyUSBDevice::UsbdStatusString(unsigned long,char *)" (?UsbdStatusString@CCyUSBDevice@@QEAAXKPEAD@Z) ConsoleApplication2 C:\Users\Christophe.Siebentha\source\repos\ConsoleApplication2\ConsoleApplication2\CyAPI.lib(CyAPI.obj) 1
Show LessHi,
I have developed a board with 4x CX3 (CYUSB3065) connected into a USB 3.2 x1 Gen1 HUB 5 Gbps (Texas Instruments TUSB8042A). The upstream port of the USB HUB is connected to my laptop (USB 3.1 Gen 2, 10Gbps). To each CX3 circuit, I'm connecting a 12 MP 10 fps RAW8 image sensor. The CX3s use bulk endpoint for video streaming.
Unfortunately, when I stream at high resolution from 3 or 4 CX3 at the same time, I am getting timeouts on V4L2:
[ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.cpp (998) tryIoctl VIDEOIO(V4L2:/dev/video8): select() timeout.
Moreover, using usbtop utility, I could see that the transfer speed for the cameras that get timeouts drop to 0 Kbps. However, with 1 or 2 CX3 streaming at the same time, it works good. Streaming all 4x cameras at lower resolutions also works. I suspect of a USB bandwidth problem and I am wondering what can I do to solve the issue. I tried different USB3 HUBs with no success. The only way to make 4 cameras stream at high res at the same time without timeouts is by using two different host ports. This means using 2 custom boards, each with 2x CX3 streaming at high res.
Do you have any suggestion on what I could try next? Can isochronous endpoints for video streaming help in here?
Best regards,
Kevin Segovia
Show LessHello!
I am developing the configuration using the slave SelectMAP method by connecting the FX3 with the FPGA.
Product Name : CYUSB3035-BZXC(FX3), ARTIX-7(FPGA)
'AN872216' was made as a reference.
However, the bin file is not programmed in the FPGA.
The PC Program is using your FPGA Configuration Utility.
Can I review if I send my F/W and cyfx file?
Please respond. I need your help.
Thank You!
Show LessHi,
I use FX3 device. I have a project that receive video and audio ok(UVC/UAC protocol).
I use another thread to receive some data from FPGA. The data is partial packets that not fit the counter limit value in the state machine, so I use INTR_CPU to call CyU3PDmaChannelSetWrapUp function. But I didn't receive partial packets in the CY_U3P_DMA_CB_PROD_EVENT. Is there anything wrong of my flow?
Any response would be greatly appreciated. 😊
Show LessHello, Infineon,
We are working with a ascella dev kit in a high speed USB communication application. We managed to have our application running with the camera that comes included with the ascella kit, OV13850. However, we would like to, instead of having OV13850, just connect the OV5640 sensor to the CSI-2 lane (removing the THP7312 Image Signal Processor from the loop), and use your application https://github.com/surgical-robots/cycx3_uvc_ov5640 that is native for the Denebola kit, get images from the OV5640 and port our application to this camera.
However, we have had no success in getting running this configuration. We believe that this should run out of the box, is this the case? Or is there something that we need to change and didn't take into account?
Thanks!
Angel.
PS: FYI: @JayakrishnaT_76 @mgraziano
Show LessI am running SDK example UsbSpiRegMode where I need to debug it as per my requirement. I created a debug configuration according to the defined process in EzUsbSuite_UG and then when I run it as debug, it give me the error as:
Please suggest. Thanks.
Best Regards.
Show Less