USB superspeed peripherals Forum Discussions
Hi, I saw there is a link for this discussionResolutions with multiple Frame rates in CX3 UVC-CDC ,
I try the suggested solution, and update the value " the length of Class-specific Video Streaming Input Header Descriptor and the total length of CyCx3USBSSConfigDscr"(
I assume the new length is original length+4 for both values in this solution setting). After apply this setting, in the device manager, system report the device cannot start with error code 10. Could someone give me a simple project files to check what I am missing for the multiple framerate setting?
Show LessHello:
I am developing with the denebola RDK now.I read the linux ov5640 driver code, and found out the sensor's frame rate can be changed by register 0x3035, 0x3036, 0x3037 precisely.Actually I just decrease the 0x3036 PLL multiple register by quarter to reduce the frame rate from 60fps to 15ps, and change the CyU3PMipicsiCfg_t parameter by Cx3 configuration tool.But unfortunately I don't see any data output at the DMA transaction, instead Just:DMA RESET, from serial output.
what's the problem with it?
And also, when the denebola is connected to a PC and capturing pictures. I don't see any signal on the PCLK, Hsync, Vsync PINS, which are connected to CX3 Hsync_test..., So how to make this PINs output refrence signal?
Show LessHi,
I am working on SD card, we want to write data to SD card which is coming from FPGA. Creating the DMA channel i.e GPIF II to SD card to write the data.
P to S0 channel for write function.
S0 to U channel for read function.
In control center its not giving any data, obtaining 997 error.
Please verify the below attachment file.
Regards,
Dhanuja
Show LessI'm trying to implement a CDC to UART bridge similar to the cyusbuart example working but without hardware handshake (no CTS/RTS). The cyusbuart example depends on CTS/RTS handshake to disable data into the UART when transferring partial messages that do not fill the entire DMA buffer to the USB (see code from example below). How to do get this same functionality without the CTS/RTS handshake?
Thanks,
Iztok
/* Entry function for the USBUARTAppThread */
void
USBUARTAppThread_Entry (
uint32_t input)
{
uint32_t regValueEn = 0, regValueDs = 0;
/* Initialize the USBUART Example Application */
CyFxUSBUARTAppInit();
/* UART Config Value for Enabling Rx Block */
regValueEn = UART->lpp_uart_config;
/* UART Config Value for Disabling the Rx Block */
regValueDs = UART->lpp_uart_config & (~(CY_U3P_LPP_UART_RTS | CY_U3P_LPP_UART_RX_ENABLE));
for (;;)
{
if (glIsApplnActive)
{
/* While the application is active, check for data sent during the last 50 ms. If no data
has been sent to the host, use the channel wrap-up feature to send any partial buffer to
the USB host.
*/
if (glPktsPending == 0)
{
/* Disable UART Receiver Block */
UART->lpp_uart_config = regValueDs;
CyU3PDmaChannelSetWrapUp (&glChHandleUarttoUsb);
/* Enable UART Receiver Block */
UART->lpp_uart_config = regValueEn;
}
glPktsPending = 0;
}
CyU3PThreadSleep (50);
}
}
Show LessHi Everyone,
I have been trying to program the Slavefifo image file to FX3 RAM and Boot from USB in my Custom Cypress Device Board.
Initially it detects as Cypress Boot Loader and After i have programmed the Slavefifo_loopback image file by using USB Control Center, It shows that Programming Succeed.
After that it never enumerates and shows none of the USB device. Even in Hardware device Manager it never detects any new USB device?.
I have properly Configured the PMODE to Z11 as it for USB Boot.
Same thing i have tried with Cypress DVK Board, in its working perfectly. Its able to remunerate as loopback device.
I guess i have some issues in the Hardware, but couldn't get any hint what it is. Because i have designed the Board based on the Schematics of Cypress DVK.
Could somebody suggest what could be the cause for this issues?
Thanks in advance.
Rgds,
Muthu
Show LessCan I connect two FX3 back to back through the FIFO interface, then connect two PCs to each of them, then communicate at very high speed between the PCs (e.g. USB NIC or USB CDC)?
If so, can I do this with two CYUSB3KIT-003 (with a custom designed base board) ?
Show LessHi,
The SDK code is not working while copying from one system to another system and breaking point is not hitting in SDK code.
We check the windows version, its same in both the PCs.
Regards,
Dhanuja
Show LessI have a problem in using the CCyIsocEndPoint->XferData for a low-latency loopback application.
Basically I want to measure the loop latency in a FX3 device with the USBIsochLoopAuto firmware.
#include "CyAPI.h"
int main() {
CCyUSBDevice *USBDevice = new CCyUSBDevice();
CCyIsocEndPoint *IsoIn = USBDevice->IsocInEndPt;
CCyIsocEndPoint *IsoOut = USBDevice->IsocOutEndPt;
if (!IsoIn) { std::cout << "Failed to get IsocInEndPt\n"; return 1; }
if (!IsoOut) { std::cout << "Failed to get IsocOutEndPt\n"; return 1; }
const int bufSize = 8;
LONG outbufLen;
UCHAR outbuf[bufSize];
LONG inbufLen;
UCHAR inbuf[bufSize];
CCyIsoPktInfo *isoOutPktInfos;
CCyIsoPktInfo *isoInPktInfos;
int pkts;
isoOutPktInfos = IsoOut->CreatePktInfos(bufSize, pkts);
isoInPktInfos = IsoIn->CreatePktInfos(bufSize, pkts);
std::cout << "IsoOut->MaxPktSize: " << IsoOut->MaxPktSize << "\n";
std::cout << "Allocated packets: " << pkts << "\n";
// THIS WORKS:
strcpy_s((char*)outbuf, bufSize, "hello");
outbufLen = bufSize;
inbufLen = bufSize;
IsoOut->XferData(outbuf, outbufLen, isoOutPktInfos);
IsoIn->XferData(inbuf, inbufLen, isoInPktInfos);
std::cout << "Transferred out: " << outbufLen << ", in: " << inbufLen << "\n"; // Always bufSize
std::cout << "isoOutPktInfos.Status: " << isoOutPktInfos->Status << "\n"; // Always 0
std::cout << "isoOutPktInfos.Length: " << isoOutPktInfos->Length << "\n"; // Always bufSize
std::cout << outbuf << " -> " << inbuf << "\n"; // Everything ok
// THIS DOES NOT WORK:
strcpy_s((char*)outbuf, bufSize, "world");
outbufLen = bufSize;
inbufLen = bufSize;
IsoOut->XferData(outbuf, outbufLen, isoOutPktInfos);
IsoIn->XferData(inbuf, inbufLen, isoInPktInfos);
std::cout << "Transferred out: " << outbufLen << ", in: " << inbufLen << "\n"; // Often 0, sometimes strange values
std::cout << "isoOutPktInfos.Status: " << isoOutPktInfos->Status << "\n"; // Often 0, Sometimes 67, 4390979, ...
std::cout << "isoOutPktInfos.Length: " << isoOutPktInfos->Length << "\n"; // Often bufSize, Sometimes 67, 4390973, ...
std::cout << outbuf << " -> " << inbuf << "\n"; // inbuf unchanged!
}
Show LessHi sir,
By using Cypress EZ USB Suite building a CX3 based firmware, i am looking for on how to create a confidential.A file, originally from a confidential.c file.. after successfully build. the confidential.c file would be removed.
The goal is the publish a project source, but without exposing a specific confidential.c file..
the released candidates still are able to modify other .c file except the specific confidential.a file
thanks sir.
Show LessHow does the monochrome raw data map into yuv? If its 8bit or 10bit. In the attachment is the 10bit raw data mapping into yuv, the y can only store 8 bit the remaining 2 bit will store at where?
Show Less