This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

GUI Composer reading data conflicts with DSP writing of data

Within GUI Composer, are there any means of synchronizing the update of widgets (i.e. ScatterPlot) depending on the execution of the DSP program?

In other words, the array of data for the ScatterPlot should not be read by GUI Composer while the DSP is writting to that same array of data.

I have an example of an X-Y plot where I can see that  GUI Composer sometimes reads the two coordinates of an X-Y point after the DSP has updated the X-coordinate but not yet the corresponding Y-coordinate of that same point. So the integrity of points in the ScatterPlot is lost from time to time.

My platform is the C5510.

Many thanks for helping,

Roland

  • Hi Roland,

    So you want some time wherein both the data can be displayed together instead of the above random behavior, right? Using the same code, it won't be possible but a small modification in your code can help you implement the same. Use flags for the updated data and then pass them to the GUI.

    Regards,

    Gautam

  • Thanks Gautam

    I understand that the use of mutex flags is the way to go. But I have no idea how this can be programmatically done in GUI Composer. It is clear to me how this is done inside the DSP code but I do not know how to access the flags within GUI Composer.

    Updating of the ScatterPlot by GUI Composer should be prevented if a mutex flag is set by the DSP. On the other hand, while GUI Composer is reading the data for its ScatterPlot a mutex flag should be set in the DSP which will prevent the DSP from updating the data at the same time.

    There is not enough information for me on how to implement this functionality under the link

    http://processors.wiki.ti.com/index.php/GUI_Composer/Bind_Expressions

    Can you provide some example please?

    Thanks a lot,

    Roland

  • There is an example attached to this thread that may do the trick.

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/355376/1253187.aspx#1253187

    John

  • Many thanks John,

    Learning on how to deal with GUI Vars did the trick.

    I also had to learn that a target buffer declared with a typedef to be of type C15 (complex interleaved) can not be bound to a GUI Var. It has to be a scalar buffer of type INT16. A good comprehensive documentation of GUI Composer is surely lacking. All the information has to be collected piece by piece from a variety of sources. Very frustrating and time consuming.

    Do you know if there is a way to reduce the physical dot size of the ScatterPlot? It is rather big for a constellation display with lots of points.

    Thanks again,

    Roland