USB superspeed peripherals Forum Discussions
Hi,
I am referring to AN70983, https://www.cypress.com/file/124291/download .
As per the Firmware and application, I am able to run the loop back application on my cypress FX3 DVK Kit CYUSB3KIT-003.
I need to measure the throughput for this loop back data in host application.
How it can be done ? Any suggestions ?
Thanks & Best Regards
Prasanna
Show LessHello
Is there a sample project file for CX3 using "OV8858" sensor? If yes, is it possible to share it? If the sensor equivalent to OV8858, it can also be used in that sample project.
Best Regards,
Arai
Show Lessin this link https://community.cypress.com/thread/35257?start=0,you said "nothing (MIPI/GPIF II block) will interfere with control of these GPIOs (17,18,19, and 20)."
Now I have use the three GPIO as general IO,and I also use GPIF to receive camera stream,Is this okay?
Show LessI made a composite USB device: UVC + HID.
framework 1.3.4
The uvc is based on AN75779.
the USB communication stop working after few seconds using USB 2.0 (USB 3.0 is ok).
I faced a similar problem with UVC when I asked extended properties very often.
Has Anyone a similar probelm?
Show LessI am using multiple FX3 devices at max speeds (~400MB) to transfer data to a PC. Since FX3 is still USB3.0 Gen1, can I add a USB3.0 Gen2 HUB with 2 USB3.0 Gen1 inputs to get 800MB to my PC? Can I use the Cypress USB3.0 Gen2 HUB chip to do this?
Thx.
Show LessHello all I have been working on an issue with our production board and are now changing the LED pulse configuration. Our goal is to run the LED over ~1.8 frames and then turn off. Then on the 2 frame the other LED will turn on. We are using the Vsync pulse as our interrupt for the LED toggling.
We are running at 15 fps and that gives us a Vsync of ~66ms. When I have the pulseTime set to anything less than 66 ms it functions correctly and each LED will begin its pulse every 4th frame as it should. However, as soon as I increase it to say 70, both LEDs stay on and do not toggle. I would have expected this if I had the time to be 66*4 = 264 ms. Any help would be appreciated.
Our current setup is the following:
/* Create the thread for the application */
retThrdCreate = CyU3PThreadCreate(
&gpioThread, /* GPIO Example App Thread structure */
"21:GPIO_simple_output", /* Thread ID and Thread name */
GpioThread_Entry_Simple, /* GPIO Example App Thread Entry function */
0, /* No input parameter to thread */
ptr, /* Pointer to the allocated thread stack */
CY_FX_GPIOAPP_THREAD_STACK, /* Thread stack size */
CY_FX_GPIOAPP_THREAD_PRIORITY, /* Thread priority */
CY_FX_GPIOAPP_THREAD_PRIORITY, /* Preemption threshold for the thread. */
CYU3P_NO_TIME_SLICE, /* No time slice for the application thread */
CYU3P_DONT_START /* Start the Thread immediately */
);
Create the thread
Enter thread
while(1){
uint32_t eventFlag;
// Wait for a VSYNC High Signal before starting the LED Fire process
CyU3PReturnStatus_t apiRetStatus = CyU3PEventGet( &glFxGpioAppEvent,
CY_FX_GPIOAPP_GPIO_HIGH_EVENT, CYU3P_EVENT_OR_CLEAR,
&eventFlag, CYU3P_WAIT_FOREVER);
if (apiRetStatus != CY_U3P_SUCCESS)
continue;
if (IR_flag == CyTrue)
{
// We are wanting to make sure that we hold the LED flash over the course of 123 msec so
// we need to pulse the IR_led over 2 pulses
if (frameCounterL != 1){
PulseIRLED( 123, CX3_IR_LED_RIGHT);
frameCounterL++;
}
else{
frameCounterL = 0;
IR_flag = CyFalse;
}
}
else
{
if (frameCounterR != 1){
PulseIRLED( 123, CX3_IR_LED_LEFT);
frameCounterR++;
}
else{
frameCounterR = 0;
IR_flag = CyTrue;
}
}
}
// Pulse IRLED
// ========================================================================================================
void PulseIRLED( const uint16_t wPulseWidth, const uint8_t IRLED)
{
gpioIRComplexConfig.outValue = IR_LED_ENABLE;
gpioIRComplexConfig.pinMode = CY_U3P_GPIO_MODE_PULSENOW;
#ifdef TIME_IN_US
gpioIRComplexConfig.threshold = CY_FX_PWM_PERIOD_MS / 1000 * wPulseWidth;
#else
gpioIRComplexConfig.threshold = CY_FX_PWM_PERIOD_MS * wPulseWidth;
#endif // TIME_IN_US
CyU3PGpioSetComplexConfig( IRLED, &gpioIRComplexConfig);
CyU3PGpioComplexPulseNow( IRLED, gpioIRComplexConfig.threshold);
} // PulseIRLED
Show LessLooking for suggestions on hardware needed to "easily" add digital-to-analog capability to an FX3. The purpose of this project is to simulate hardware connected to an embedded application, so not a product to be shipped to customers, but rather assist in product development.
Show LessHi All,
After putting the memory issue to bed (see https://community.cypress.com/message/211111?et=watches.email.thread#211111), I am still left with a bunch of undefined symbols from functions within libc:
'Invoking: ARM Sourcery Windows GCC C Linker'
arm-none-eabi-gcc ./cycx3_uvc.o ./cycx3_uvcdscr.o ./cyfx_gcc_startup.o ./cyfxtx.o ./front_panel.o ./mma8452.o ./ourflash.o ./ov5647_6by9.o ./projector.o ./sysconfig.o ./usbuart.o -T"D:\Optel\proj_firmware\OV5647_dual_camera_NOUVC_e\bigmemory_fx3.ld" -nostartfiles -Xlinker --gc-sections -Wl,-Map,OV5647_dual_camera_NOUVC_e.map -Wl,-d -Wl,--no-wchar-size-warning -Wl,--entry,CyU3PFirmwareEntry "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/firmware/u3p_firmware/lib/fx3_release/cyu3mipicsi.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/firmware/u3p_firmware/lib/fx3_release/cyu3lpp.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/firmware/u3p_firmware/lib/fx3_release/cyfxapi.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\/firmware/u3p_firmware/lib/fx3_release/cyu3threadx.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib/libc.a" "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/lib/gcc/arm-none-eabi/4.8.1/libgcc.a" -mcpu=arm926ej-s -mthumb-interwork -o "OV5647_dual_camera_NOUVC_e.elf"
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib/libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text+0x20): undefined reference to `_write'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib/libc.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text+0x18): undefined reference to `_close'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib/libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text+0x20): undefined reference to `_lseek'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib/libc.a(lib_a-readr.o): In function `_read_r':
readr.c:(.text+0x20): undefined reference to `_read'
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\/arm-none-eabi/lib/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text+0x18): undefined reference to `_sbrk'
collect2.exe: error: ld returned 1 exit status
cs-make: *** [OV5647_dual_camera_NOUVC_e.elf] Error 1
Any idea what causes these or how to get rid of them?
Thanks,
Scott
Show LessHello,
I am using CYUSB3KIT-003, I try to debug the FX3 but I cannot able to get the Debug messages. I have used the external USB to UART converter also even though I cannot get the Debug Msg.
I programed the Example code videoclassbulk.
I don't know to debug the FX3.
Show Less