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.

TMS320F280025C: How to Increase Data Throughput to GCS v3?

Part Number: TMS320F280025C

I connected my device to GCS and I like to increase the data throughput since I miss data points. I already optimized the protocol and data to reduce the throughput size, but it is still not sufficient for my purpose. My guess is, that the transfer is not the main limiting factor rather than the update rate the data in the structure is pulled at, as I saw some improvement when I increased the log-buffer in the firmware.
But I can not increase the buffer size further due to the limited memory of the target.
Are there any options to improve or configure how data is polled from the target using this setup? 
I described the setup in this other question:
Link to setup description

G
enerally: what method do you suggest to achieve the highest data logging sample rates?

  • Part Number: TMS320F280025C

    I like to display some data from the target device in a GCS graph. I'm using v3 of the GCS_GUI.

    xml-snippet of the graph with two 2data plots

    <gc-widget-plot id="plot" plot-title="Speed from Hall Sensor" x-axis-title="TickTime" y-axis-title="Speed Hz">
       <gc-widget-plot-data-points-2d id="data2d" capacity="1000" mode="markers" line-shape="vh" line-dash="dashdot"></gc-widget-plot-data-points-2d>
       <gc-widget-plot-data-points-2d id="data2d_2" capacity="1000" mode="markers" line-shape="vh" line-dash="dashdot"></gc-widget-plot-data-points-2d>
    </gc-widget-plot>

    I use the binding based on the example and got it working after some trial and error with the following code

        /* Wait for widget and target models to be ready */
        await bindingRegistry.waitForModelReady('widget');
        await bindingRegistry.waitForModelReady('pm');
    
        //binds to global variable log_data in the the firmware
        bindingRegistry.bind('widget.data2d.point', 'pm.log_data' , function(data){
            //extracting new data of 1st channel from the log buffer supplied
            //return value is an array of datapoints e.g. [[0,123],[2,124],[3,132]]
            return getNewLogData(data,0);
            }
        );
        
        bindingRegistry.bind('widget.data2d_2.point', 'pm.log_data' , function(data){
            //extracting new data of 2nd channel from the log buffer supplied
            //return value is an array of datapoints e.g. [[0,123],[2,124],[3,132]]
            return getNewLogData(data,1);
            }
        );
    

    I also connected a dial and a gauge to some value in the firmware using the gui link configuration.

    It all works when I run it in chrome. 
    Exporting it as standalone app the dial and gauge still work, but the graph does not. Debugging showed that the bound function is not called. Seems the binding does not work. 

  • Hello Marco,

    Sorry, it's not clear to me based on your post, what is GCS GUI? Is it related to/using CCS? Is the code you're trying to run executing from your device?