Public Archive Forum Discussions
Hello,
I have actually a few problems / questions.
So, initially we were having a problem with data being transferred from the board to the HID Host application.
The firmware developer found that if he repeatedly sent data during down times (master / slave) I would be able to get the data, however if he did not keep the communication line active it would time out and he would not be able to send data anymore.
So, our work around is that every 10 msec he sends me 0xFF, if the databuffer starts with a 0xFF on the Host side it just disregards it and waits for actual data bytes.
This is done on the host side by creating a while loop that loops for 1.5 seconds, with no delay on looping, each loop it does it calls ReadInput() on the HIDDevice. This have triggered a "Fatal Execution Engine Error" numerous times.
Which basically means somewhere in the CyUSB.dll there are issues with garbage collection heap integrity.
So, I am wondering if anyone has any input on either of my two problems:
1.) Does the firmware really need to send out data every 10 milliseconds or the connection goes stale?
2.) Why am I getting a "Fatal Execution Engine Error" when making repeated calls to ReadInput()?
Regards
Show LessHi,
I am using the FX3 behind a USB Hub. The USB hub is controlled and configured by the FX3 as part of the system.
During development, the Hub has incorrect configuration which causes the FX3 Bootloader Device to be unavailable due to power requriement. When powering the system, the hub is configured as bus-powered. 100mA is available per port. Windows warns about "usb hub power exceeded" because the FX3 request 200mA on a 100mA port.
Despite the configuration being bus-powered, my system doesn't use any USB current and is powered externally during development and testing.
- Would there be a way to disable Windows USB current limitation during my development
Is there any registry key that would allow to disable USB Current limitation ? - Would there be a way to have the FX3 Bootloader device request only 100mA ?
Regards,
Stan
Good Morning,
Recently, one of our systems lost communication with the PC. Apparently, there is an issue with the USB driver. The product ID and vendor ID are:
PDI: 3884 and the VID: 3001
Nicolet Biomedical Inc
Looking at the website, there is not any driver related to this product.
Could you help me with the driver or the solution for this problem?
Thank you in advance.
Santiago
Show LessHi guys,
I am upgrading the USB driver from Cyusb.sys for win 7 to Cyusb3.sys to add support for both win 7 and win 10. I need to add the USB driver to the software. The software is generated by Visual Studio Setup project. I use custom action in Visual Studio with dpinst to install the driver after the installation of the software. I have to provide customer software for win 7 and win 10. cyusb3.sys, cyusb3.inf, cyusb3.cat for win 7 and win 10 are seperated in different operating system folders (\Win10, \Win7, etc) thus I assume they are different for different operating system. My question is which driver should I use to support both win 7 and win 10. If I have to use different drivers for different operating system, do I need to create different Setup file for each operating system? Thank you very much.
Best,
Show LessCan the FX3 bootloader be customized? Can we get the bootloader source code?
This video is an overview of the PSoC 6 MCU architecture, and introduces the first device in this family, the PSoC 63 Connectivity line.
PSoC 6 is purpose-built for the IoT, providing the industry’s best ultra-low-power, flexibility, and built-in security for connected devices. PSoC 6 is built on an ultra-low-power, state-of the-art 40-nm process technology, and retains the programmable fabric of the PSoC architecture. It provides a dual-core ARM® Cortex®-M architecture, to optimize for performance and power, software-defined peripherals for best-in-class flexibility, and integrated hardware-based Trusted Execution Environments, enabling groundbreaking designs for the IoT.
Show LessHello,
On BULK IN transfers from the GPIF, why does the transfer rate decreases significantly when I request for a large number of packets per transfer, for example, 2MB, and the stream occasionally has a few short consecutive packets?
If, I reduce the number of packets per transfer on the host to 0.25MB, then the transfer rate is what I expect it to be. If there are no consecutive short packets, the transfer rate is also normal. Something doesn't work right when short packets are consecutive and the host is requesting a large amount of data.
Additional info: FX3 is running with a firmware that is very similar to the slavefifo example. Max packet size is 1024bytes and each burst is 16 packets. There are 6 dma buffer allocated for automatic P2U transfers, each one is as large as a burst, 16384bytes. The GPIF state machine is exactly the one from the example. I should also mention that the short packets are not a multiple of max packet size.
Thanks,
-Eyal
Hi, i am using cypress api with multiple threads.
i have tried those threads one by one.
they can individually work perfectly.
the problem is, i could not run two thread at the same time.
currently, i initial TWO CcyUSBdevice instances. they point to the same one usb device.
for example,
In thread 1, i have:
Ccyusbdevice1->endpoint[0]->xferdata...blablabla
In thread 2. i have:
CCyusbdevice2->endpoint[1]->xferdata...blablabla
both two transfers are delayed.
(actually, if i initial ONE CcyUSBdevice instance, and visit its endpoint[0]and endpoint[1] in two separated threads, would lead the same delay problem.)
my co-worker assure me that these two bulk endpoints have two separate buffers.
and i cam make sure these two threads have no common buffer.
so, is there anything i missed?
__________________________________________another question____________________
can i transfer data with 1000hz? i am using it to transfer IMU data.
i found, in most case the transfer costs 1ms, but sometimes costs 6ms and more.
Thanks~~~~~
Show LessHi,
I am trying to establish a communication and read data from an Inverter device which uses Cypress USB to Serial chip. The 'lsusb' command reports that the device has vendorID 0665, and productID 5161, with description "Cypress Semiconductor USB to Serial". And the device appears on a Linux machine as '/dev/usb/hiddev0'. Unfortunately I am having difficulty with establishing the communication with this device.
I am hoping get some help in figuring out how to communicate with this device:
- Is there any existing device-driver/library that I can use to establish communication with this device?
- Am I supposed to directly use low-level USB messages to communicate with the device? If yes, can I get some references/examples of how this can be done?
So far, I have tried to communicate with this device as usb-serial but it hasn't worked. I have tried following so far:
- I have tried to directly connect to the device using serial communication tools (e.g., picocom) but I get 'Fildes not a tty'.
- I have tried to modify existing kernel driver for usb-serial communication (cp210x.ko) to support 0665:5161 vendor/product-ID, but this lead to 'input/output error' when connecting to the device.
- I have also tried using 'cypress_m8.ko' kernel module from CYPRESS by editing to support 0665:5161 vendor/product-ID, but that lead to kernel-panic!
- I have experimented with 'CyUSBSerialTestUtility' from CyUSBSerial_SDK_Linux from CYPRESS to see if it detects anything, but it does not detect any device.
Any suggestions/tips on to help in establishing communication with this device will be helpful!
Thanks!
Show LessNow you can read part 2 of " Reducing EMI in digital systems using spread spectrum clock generators."
Don't fret if you missed part 1; you can read it here!
Show Less