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.

CCS/LAUNCHXL-F28377S: GUI composer 2 not refreshing widgets

Part Number: LAUNCHXL-F28377S

Tool/software: Code Composer Studio

Hi,

I have a GUI built in GUI Composer 2, using the UART-monitor serial communications protocol to the LAUNCH-F28377S board.

The GUI is fairly extensive, with a number of widgets bound to variables in the target code.

The GUI has been working fine and has been slowly developed over the last 3 months, and it worked fine the whole time.

All of the "monitor" widgets updated approximately once/second, and the "control" widgets changed memory/variables in the target as expected.

Suddenly yesterday all of the "monitor" widgets stopped updating.  I was making very minor changes, re-binding a few widgets to different variables, etc., but nothing major.

Now the GUI loads and connects via the serial UART, but none of the widgets update.  If I change a widget (type in data entry or move slider) then the comm with the target works (I can see serial light blink) and the variable in the target is changed as expected.  But none of the display widgets that are supposed to be refreshing and monitoring target variables ever update.  I can see that the serial interface light is not blinking, so the GUI is not even trying to read anything over the interface.

I made a new simple GUI with only two boxes, and it works fine with the same target code-- both TX and RX from GUI to target work, so it isn't something in the target or the hardware or even the basic configuration of the system and GUI composer-- it is something wrong with the particular GUI model.  I've tried restoring to an older version of the GUI through the cloud interface, but I've made minor changes to the target code since that old GUI version, and it gives an error that it can't connect when I try to use the older copy of the GUI.

I saved the GUI as a standalone GUI and ran it that way, and got the exact same behavior as with the cloud interface -- TX to the target works, but the GUI does not request refresh/updates on any of the widgets.

Do you have any ideas on what could "break" the GUI in this way and cause all updates/refreshes to no longer happen?  And how to fix it?

There are a lot of forum posts on changing update/refresh rate in the original GUI composer, but none of them seem to work in GUI Composer 2 -- how does the refresh rate get changed in GUI Composer 2?

Thank you,

Mike

  • Hi Mike,

    Open the browser debugger console and see if there is any errors related to binding. Also, check to see if the bindings in your app is still valid. If you can't resolve this issue on your own, maybe you can export the project in the designer. Send the zp file to me and I can take a look at the project. 

    Regards,
    Patrick

  • How can I send/attach files?

    I have made two GUIs -- one is very simple and it works and updates the widgets as it is supposed to. The other is the one I have been developing for quite some time, and it still *sends* to the target, but does not update the widgets. I have the console logs from both of those to see if there is something different -- they both have a few errors in the logs, but there are some "new" errors in the log of the GUI that isn't functioning properly... seemingly related to ("Time mode requires the flot.time plugin.")

    On the gui that works here are the errors in the log:
    README.md Failed to load resource: the server responded with a status of 404 (Not Found)

    ti-core-backplane.html:1522 ti-core-backplane: project.json does not contain deviceName property.
    ti-widget-readme.html:258 No README.md file found. error=undefined

    bundle.js:8824 starting event backplaneReady
    docs/license.txt Failed to load resource: the server responded with a status of 404 (Not Found)

    ti-core-backplane.html:1160 ti-core-backplane.configureDebugServer: connecting to core 0...
    ti-core-backplane.html:639 OUT OF SEQUENCE updateStateMachine event: onCloudAgentConnected
    ti-core-backplane.html:640 undefined valid event names for state=ready:

    On the GUI that doesn't work here are the errors from the log:

    ti-service-programloader.html:508 ti-service-programloader: backplane event handlers initialized. backplane.currentState.name=disconnected
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    ti-widget-statusbar.html:702 ti-widget-statusbar.updateBranding: about to read project.json

    polymer-micro.html:277 [ti-core-cloudagent-installdialog::_observerEffect]: observer method `statusChangedHdlr` not defined

    README.md Failed to load resource: the server responded with a status of 404 (Not Found)
    ti-core-backplane.html:1522 ti-core-backplane: project.json does not contain deviceName property.
    ti-widget-readme.html:258 No README.md file found. error=undefined
    bundle.js:9684 window.onload() never called.
    (anonymous) @ bundle.js:9684
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    bundle.js:8824 starting event autoconnect
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    ti-core-model-base-behavior.html:192 status for model #LaunchPad changed to connecting

    docs/license.txt Failed to load resource: the server responded with a status of 404 (Not Found)

    ti-core-backplane.html:1160 ti-core-backplane.configureDebugServer: connecting to core 0...
    ti-core-backplane.html:639 OUT OF SEQUENCE updateStateMachine event: onCloudAgentConnected
    ti-core-backplane.html:640 undefined valid event names for state=ready:

    targetaccess.html:901 ti-service-targetaccess: state change from evalReady to symbolsReady
    ti-service-targetaccess.html:1085 ti-service-targetaccess: symbols loaded from target/controller.out
    ti-core-model-base-behavior.html:192 status for model #LaunchPad changed to connected
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
    jquery.flot.js:1715 jquery.flot.js: commented out throw new Error("Time mode requires the flot.time plugin.") - would normally have fired.
  • Another clue: it appears that all the widgets run/update once right when the GUI loads, and then they never change their value again.
    As I mentioned if I change a value in the GUI it transmits correctly to the target, but the GUI widgets never query/refresh/update valued from the target on their own.
    I would think that if a binding was wrong it would throw an error on not being able to find the related symbol...
    Are there any bindings or properties that can be set to change and/or stop the refresh/update rate that could be set wrong?
  • Yet another clue -- if I type in a number box, but then escape out or click elsewhere without entering the number, it appears to force the number box widget to update and it will pull data from the target and update the box correctly -- but only on the trigger of typing in the box and then forcing it to update. Whatever timer event is supposed to be triggering the refreshes seems not to be happening...
  • Hi Michael,

    When you reply to my post, click on the Use rich formatting link at the bottom right corner where you type your message. And select the paper clip icon in the toolbar to attach the file. If you prefer to send your GC app to me privately, you can click on my name and select the connect button. I believe you can than send file privately to me.

    Regards,
    Patrick