Streamer Application

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
saku_4625426
Level 3
Level 3

Hello,

I am using streamer application to transfer data from P-Port to S0-Port.But problem is that all the data transfers are failing even though I am getting PROD events.

Capture.PNG

Regards,

Sai Kumar.

0 Likes
1 Solution

Hi Sai Kumar,

Your buffer size is set to 4096 and there's only 1 buffer available but you are requesting for 8 packets of 512 bytes each in packets per Xfer and 8 of such Xfers in Xfers per queue.

Since the device doesn't have more than 4KB, you are seeing the error code 997 in control centre.


Please change the Xfers per Queue in Streamer App and set it to 1 and keep the Packets per Xfer as 8.
Using this streamer settings, please follow the steps that I mentioned in my previous response.

Regards,

Yashwant

View solution in original post

0 Likes
11 Replies
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

EDITED:

Hello Sai Kumar,

Firstly, please update the FX3 SDK version and use the new streamer application that comes with SDK 1.3.4 from the link: https://www.cypress.com/file/424276/download

Also, is your firmware the same as in the link: GPIF​ , can you please confirm that this is your firmware?
If not, please share your firmware

Also, are you seeing CY_U3P_SIB_EVENT_XFER_CPLT this event in your firmware?

I don't see a channel between P-Port to U-Port or between S-Port to U-Port. Without a DMA channel and the mechanism to commit the buffers to the UIB sockets, you can't get any data onto streamer.


So, please create a new DMA channel between either the PIB to UIB or SIB to UIB and copy and commit the same data as you are committing to the SIB port in-order to see data transfers on the USB side.

Regards,
Yashwant

0 Likes
lock attach
Attachments are accessible only for community members.

Hello,

Also, is your firmware the same as in the link: GPIF , can you please confirm that this is your firmware?

          Yes,I am using the same firmware in GPIF thread.

In the attached firmware,there exists a channel between S0 port to U-Port to see data transfers on the USB

Also, are you seeing CY_U3P_SIB_EVENT_XFER_CPLT this event in your firmware?

      Yes,I am getting both PROD Events and  XFER_CMPLT.

    

Regards,

Sai Kumar.

0 Likes

Hello,

I updated the FX3 SDK and didnt find streamer application in it.Please let me know the path to install latest C++ Streamer.

Regards,

Sai Kumar.

0 Likes

Hi Sai Kumar,


Please refer to the path: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\bin\Streamer.exe

Please try with the new streamer and then see if you see any difference.

Can you please explain the steps that you are doing?

How are you sending the vendor commands and when are you sending the vendor commands?

Please give an elaborate reply to understand the steps.


Regards,
Yashwant

0 Likes

Hello,

How are you sending the vendor commands and when are you sending the vendor commands?

  1. Programming FX3
  2. Opening Streamer and selecting Endpoints.
  3. Sending vendor commands

Please guide me if i am going wrong.

regards,

Sai kumar.

0 Likes

Hi Sai Kumar,

Are you getting any successes after sending the vendor command in the streamer app, firstly to write the data into SD card, then sending vendor command to read the data into USB channel?


The streamer app continuously requests for data from the FX3 and if it doesn't receive any data from the device, it will count the transaction as failures and if it gets the data over USB before the timeout happens, it will take the transaction as success.

Please do the following to firstly check the PIB to SIB channel, because if the data is not being written into the SD card, the read request will fail, as follows:

1.) Send vendor command and write the data into the SD card.

2.) Read the data from SD card using another vendor command and see if data is actually written into the SD card.

3.) In the CyFxMscApplnSibCB() function, when the evt == CY_U3P_SIB_EVENT_XFER_CPLT is set, ensure that if (status!=CY_U3P_SUCCESS) condition is not executed by setting a flag and printing a debug print in UART based on the flag value.

Make sure that the else condition is executed when CY_U3P_SIB_EVENT_XFER_CPLT flag is set because only then the transfer is success and data is written to the SD card, or else there's no data written to the SD card.

Once these are done and you have confirmed that everything is working correctly and data is being written into the SD card correctly, then you will have to evaluate the SIB to PIB channel.

Please do the following and revert back to me with the results.


Regards,
Yashwant

0 Likes
lock attach
Attachments are accessible only for community members.

Hello,

As you said in the previous response,it is already working (data is writing into SD Card after passing vendor commands) in Control Center.But what I am asking you is in Streamer Application all the data transfers are failing even though data is written into SD Card and PROD Events,Xfer_Cmplt events are coming as attached.Please do refer the below attached images for reference.

Regards,

Sai kumar.

0 Likes

Hello Sai Kumar,

So, once you complete writing data to SD card, you will again have to send 0x98 to commit the data to USB block and send to host.

The streamer application should be running in the background before calling 0x98.

Once you start streamer, you will see failures initially until you send 0x98 vendor command and once you send 0x98, you should see some successes in the streamer since the data from SIB is written to USB as well.


Please confirm if you can see this behaviour or not.


Regards,

Yashwant

0 Likes

Hello,

So, once you complete writing data to SD card, you will again have to send 0x98 to commit the data to USB block and send to host.

     Yes,First I will pass 0x11 to write sampled data into SD Card and then 0x98 to read that sampled data.

  1. If I start streamer application before sending vendor command(0x98) ,it will throw 997 error in Control Center.
  2. If I start streamer application after sending vendor command(0x98),the data is writing into SD Card and i am able to see that in Control center.

Note: In both the cases stated above,all the data transfers are failing in streamer application.

Once you start streamer, you will see failures initially until you send 0x98 vendor command and once you send 0x98, you should see some successes in the streamer since the data from SIB is written to USB as well.

     No,This is not happening.

Regards,

Sai Kumar.

0 Likes

Hi Sai Kumar,

Your buffer size is set to 4096 and there's only 1 buffer available but you are requesting for 8 packets of 512 bytes each in packets per Xfer and 8 of such Xfers in Xfers per queue.

Since the device doesn't have more than 4KB, you are seeing the error code 997 in control centre.


Please change the Xfers per Queue in Streamer App and set it to 1 and keep the Packets per Xfer as 8.
Using this streamer settings, please follow the steps that I mentioned in my previous response.

Regards,

Yashwant

0 Likes

Hello,

And also I have one doubt here...

I am sending some data from FPGA to FX3 S0-Port(SD Card),the thing is the data in SD Card is not overwriting when I am sending other data which is different from already present data in SD Card.What should be done for this?

Regards,

Sai Kumar.

0 Likes