- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am working on Cypress FX3 USB3.0.I am using EZ USB FX3 SDK/1.3/Application/cpp/Streamer.In streamer.h code ,there is one function called "Xferloop()".I collected the data of "buffer" stored in "myfile.txt".The throughput of the streamer decreased from 395MBps to 110MBps because of writing data into the myfile.I think if I write data into disk using different thread then speed could increase.How to do this? Please help.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
- The older project had a dependency in the include directory. Please view the Streamer application attached in this interaction. Password: cypress
- What is the sustained throughput that is expected for your application?
Best regards,
Srinath S
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
You can create a new thread using the "Thread" class as it has been implemented in the Streamer example. The data that is received from the device gets stored in the address pointed by "buffers". This data has to be copied onto a global buffer which can then be stored on to the disk using the other thread. Please try this and let me know if you face any difficulties in implementation.
Best regards,
Srinath S
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I created globel_buffers
PUCHAR *globel_buffers = new PUCHAR[QueueSize];
but the following error is coming.
Error 1 error C3845: 'Streams::Form1::globel_buffers': only static data members can be initialized inside a ref class or value type d:\skd\cypress\ez-usb fx3 sdk\1.3\application\cpp\2usb_back_up - copy\Streamer.h 658 Streamer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please find the attached project which has got the implementation of two threads, one for reading the data (XferThread) and one for saving the data onto disk (CollectionThread). Even with two threads, the throughput will not increase significantly because, the XferThread has to wait for the global buffer to empty the data into the disk and then has to copy the newly read data onto the global buffer.
Password for the attachment: cypress
NOTE: This is only a test application and has not been tested exhaustively.
Best regards,
Srinath S
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Srinath,
Thanks for the project.
1)When i try to execute ,it is showing error "CyAPI.h : No such file or directory"
2)Srinath,We are trying to write data into a file the data recieved by USB with get 3GSPS sustained rate.How to achieve that if two saparate threads could not increase the throughput significantly.Please help.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content