USB low-full-high speed peripherals Forum Discussions
Hi,
I've writen an data acquisition software based on CyAPI wich communicate with an FX2 chip. It use asynchronous bulk communication ( packet size: 512 byte, 16 MByte/sec ). The implementation follow the recommendations of Cypress which can be found in the example programs: overlaped I/O, BeginDataXfer, WaitForXfer, FinishDataXfer.
It works correctly on my previous computer (desktop PC, Windows 7, USB 2.0, i5) but on my new one (Laptop, Windows 10, USB 3.0, 8th gen. i5 ) the transfer always breaks after few seconds.
Could you give me any advice?
Viktor
Show LessHi,
I am using the Streamer example with the Cy7C68013 with the isochronous transfer (3*1024 bytes or 1*1024 bytes and 8 or 16 packages per xfer).
With every transfer there are some bytes lost, namely 102 bytes with 8 PPX and 166 bytes with 16 PPX. This makes 38 bytes loss plus 8 bytes per PPX.
I modified the data that is preloaded into the buffers by the Streamer example so that the data is just increasing with every transferred byte and I can see where the loss happens.
The loss always happens at the end of the transfer.
The rLen value that is returned by the
if (EndPt->FinishDataXfer(buffers, rLen, &inOvLap, contexts, isoPktInfos))
is just the mentioned amount smaller than the len value used with the
EndPt->BeginDataXfer(buffers, len, &inOvLap);
command.
I checked if maybe just the returned data length value is smaller but the data actually in the buffer, but that is not the case (last 102 or 166 buffer bytes are zero).
Can anyone give my any hint of a clue?
Show Lessi have simple board with a CY7C65213-28PVXI chip on it
driver / chip vid & pid changed from the defaults, driver re-signed properly
board plugged into new PC via motherboard USB2 native port - device detected, driver installed when pointed at new files and the 2 devices ( MFG also ) appear as expected and all is happy.
unplug the cable and plug it into a different port on the same machine and only the first end point enumerates but then sits there with a code 10 error message from the driver. possibly correlating to being in a USB 3 port now
this appears to happen on at least 2 different PCs
any thoughts anyone?
thanks
Andy
Show LessHello,
We confirmed inquiries on this matter in September 2017.
https://community.cypress.com/message/142234#142234
Please tell us about current development situation and future schedule.
Best Regards,
Show LessWe started iris design using Cypress controller, we need hardware and firmware support.The schematic has been attached in community forum,please alot one Engineer for schematic review
Show LessHello,
Could you please tell me whether CY7C65213 driver supports Windows 10.
In the data sheet, Window 10 is supported. However, when I check the driver at the following site, it seems that it does not correspond yet.
http://www.cypress.com/documentation/other-resources/usb-serial-drivers
Best Regards,
Show LessI'd like to report to folks that I have successfully migrated a design that was based on SuiteUSB to the Microsoft USB stack and WinUSBNet. I will never use cypress software again if I can help it. If you move to the MS USB stack, you get a simple driver install, a USB stack that will grow with OS releases, and WinUSBNet that was developed by people that understand and love c#. SuiteUSB was not IMO.
Before the investigation, I started having problems with weird exceptions, x32/x64/any, countless updates to SuiteUSB, CyUsb, etc. It seems every release from MSFT required EVERYTHING from Cypress to be touched.
If you are starting a new project, look very, very closely at using WinUSB. I've also built some first prototypes that are running LibUSB, which is a platform independent USB library. That library uses WinUSB on the lower edge when running on Windows. And it is working under Mono. I have another project using FTD600 USB part, and I see a path to have a common library for FTDI and Cypress parts, that runs on Windows and under Mono. The holy grail would be to get running under dotnet core, because then the mono dependency goes away. But currently there's a hitch in LibUSB that seems to require Winforms. But someone will iron that out.
In short, if you are thinking about directions for a new product, the days of custom vendor software should be coming to a close. I hope. It cannot come soon enough. This update to Win10 version 1803 was very painful from a cypress USB perspective.
Show LessI have to read data from Barcode Scanner (USB type) to PIC Microcontroller. MAX3421E used as a Host. I can enable to communicate with the Barcode Scanner and Enumerated successfully. But after that, I could not able to receive data from the barcode scanner when reading the barcode label. The barcode sends good-read beep when reading barcode label. In the MAX3421E datasheet, it says it will wake the MCU when it receives data from USB Peripheral thru' RWUIRQ (Remote Wake Up) interrupt. But interrupt not fired when reading barcode label. All interrupts work fine except RWUIRQ (i.e RSMREQIRQ).
Barcode Scanner works fine with PC. But we have to open notepad or similar text editor in order to receive the Barcode Value.
What could be the problem?
I have used USB HOST SHIELD FOR ARDUINO MODULE. Because it has MAX3421E on the board.
PIC MCU VCC = +5V
MAX3421E VCC = +3.3V
BARCODE SCANNER = +5V (100mA, BUS Powered), Powered from Seperate +5V Adapter.
Your help would be highly appreciated.
thank you.
Show LessMy driver works fine in Windows XP, but fails in Win7. Window shows "This device cannot start.(code 10)".
I use CY7C68013-128AC. My computer has 2 system XP and Win7 ( 32-bit ).
Driver outputs the below result. After the driver sends SET CONFIGURATION, return from IoCallDriver
USBD is wrong (c0000001).
............
Entire Configuration Descriptor is at 86127e28, bytes txferred: 25
enter XUsb_SelectInterfaces
0000 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010 28 7E 12 86 00 00 00 00 60 00 00 00 00 00 00 00
0020 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00
0030 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00
0040 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00
0050 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 FF FF FF FF 00 00 00 00
enter CallUSBD
Calling USB Driver Stack
XUsb_IoIncrement::3
return from IoCallDriver USBD: 0xc0000001
URB status = c0004000, status = 0, irp status = c0000001
XUsb_IoDecrement::2
exit CallUSBD (c0000001)
0000 78 00 00 00 00 40 00 C0 A8 70 D3 84 00 00 00 00
0010 28 7E 12 86 00 00 00 00 10 00 00 00 00 00 00 00
0020 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00
0030 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00
0040 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00
0050 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 FF FF FF FF 00 00 00 00
exit XUsb_SelectInterfaces (c0000001)
exit XUsb_ConfigureDevice (c0000001)
Firmware is very simple.
{ ...............;
case usb_SET_CONFIGURATION:
Configuration = Xbyte[aSETUPDAT+2];
break;
EP0CS |= bm7
}
I would really appreciate some hints about this issue. Thanks!
Steven
Show Less