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 App install and general issues

Hello,

I'm trying to build some sample applications with GUI composer to interface with MSP430. I created a simple dashboard with a Meter component, then run the File->Export->As Stand-Alone App. The GUI Composer Runtime is already installed. Most of the times I only get the Export dialog box (see below) that takes forever without any result (this is the general issue).

Before clicking OK, please ensure that the GUI Composer Runtime is installed :
  • Windows GUI Composer Runtime Installer: Download
  • Linux GUI Composer Runtime Installer: Download
  • OSX GUI Composer Runtime Installer: Download

After clicking OK, unzip the downloaded app and copy the app folder into the GUI Composer Runtime folder. 
(For detailed instructions, please click the Help icon in the upper right corner)

Processing...

Few times I got the zip file, installed it in the guicomposer runtime folder and run the win32_start.bat. It fails calling the win32_splash.bat file, since there is no file with this name in the splash folder.

Thanks for any suggestion

Fabio

  • Fabio,

    I have forwarded this issue to the GUI Composer expert and we will get back to you as soon as possible.
  • Hello, I'm back with an update.

    I asked the help of a local TI FAE. On his computer (Windows 10) everything works fine. The app zip contains two .bat files (win32_debug.bat and win32_splash.bat) that are missing in the zip I get downloading with my pc. I updated to the same Java Runtime SE (I had a slightly older version than the FAE's one, now it is Version 8 update 131 build 1.8.0_131-b11) but it didn't help.

    I also checked the Chrome debug console messages and I found that something happens when I try to export the app zip:

    ------------

    ti-guicomposer-quickstart-openProjectHdlr called.
    ti-guicomposer-projectupdatewizard.html:279 ti-guicomposer-projectupdatewizared: designer project.json has version = 1.0.6, project has version 1.0.6
    (index):500 projectFolder changed to /workspaceserver/gc/default/prova
    designer-element.html:1124 switching to theme ... ti-theme
    designer-element.html:1169 Project in process of being opened...
    WidgetBindingManager.js:407 GET dev.ti.com/.../index.json 404 (Not Found)
    (anonymous) @ gcFileCache.js:109
    promise @ q.js:642
    loadFile @ gcFileCache.js:79
    gc.fileCache.readJsonFile @ gcFileCache.js:119
    gc.databind.WidgetBindingManager.loadBindingsFromFile @ WidgetBindingManager.js:407
    (anonymous) @ designer-element.html:3221
    _fulfilled @ q.js:794
    self.promiseDispatch.done @ q.js:823
    Promise.promise.promiseDispatch @ q.js:756
    (anonymous) @ q.js:516
    flush @ q.js:110
    ti-core-backplane.html:1434 ti-core-backplane ready function called
    ti-core-model-base-behavior.html:192 status for model #undefined changed to disconnected
    ti-service-serialio.html:1092 ti-service-serialio.attached: added to gc.services!
    ti-service-serialio.html:491 ti-service-serialio: backplane event handlers initialized. backplane.currentState.name=disconnected
    ti-service-programloader.html:508 ti-service-programloader: backplane event handlers initialized. backplane.currentState.name=disconnected
    design-canvas.html:471 design-canvas: Firing design-change event
    designer-element.html:3943 designer-element.getContent(false): selectedPage = design
    ti-core-backplane.html:1525 ti-core-backplane.domReady: Could not find ti-widget-statusbar! Please add this component to your design.
    ti-core-backplane.html:1512 ti-core-backplane: project.json does not contain deviceName property.
    designer-element.html:3943 designer-element.getContent(false): selectedPage = design
    designer-element.html:3371 Saved:/workspaceserver/gc/default/prova/app/index.gui
    designer-element.html:3943 designer-element.getContent(false): selectedPage = design
    designer-element.html:3943 designer-element.getContent(false): selectedPage = design
    ti-guicomposer-projectexport.html:318 GET dev.ti.com/.../package.json 404 (Not Found)
    (anonymous) @ gcFileCache.js:109
    promise @ q.js:642
    loadFile @ gcFileCache.js:79
    gc.fileCache.readJsonFile @ gcFileCache.js:119
    exportApp @ ti-guicomposer-projectexport.html:318
    exportAppHdr @ ti-guicomposer-projectexport.html:276
    handler @ polymer.html:569

    -----------

    at this stage the Export Standalone App dialog box is stuck forever. As said before, sometimes I was able to get an incomplete zip file. If I manually add the missing files taken from the complete app zip downloaded by FAE's pc, the app works on my pc as well. Anyway, usually I don't get anything from the export command.

    Thanks

    Fabio

  • Hi Fabio,

    Is this issue project specify? Is it possible to get a copy of your project? You can export it as a project (Not standalone), and this should probably work for you. If exporting is not feasible, I can retrieve your project form the database.

    Regards,

    Patrick

  • Hi Patrick,

    no, the issue is not project specific, it happens with any project I try to create. I'm new to GUI composer, just exploring the tool, so the projects I have done are not important by themselves.

    I tryied to export the project (File->Export->Project) but nothing seems to happen.

    Please find attached a project (denova_led_termo.zip) exported as standalone app zip (without the missing splash batch files).

    Another project (provagc.zip) started as Dashboard is complete and works, but it was the only time it worked for me in the latest weeks of tests done from time to time, and exporting it again I couldn't even get the zip.

    Thanks

    Fabio

    denova_led_termo.zip

    provagc.zip

  • What browser are you using? When exporting as a Project, the file is downloaded without any prompt. Just like when you click on a link to download a file from the internet.

    I am not able to reproduce this issue, can we have a webex session to demonstrate the issue that you have?
    In the mean time, can you open the debugger tools in chrome and enter this expression in the console? document.cookie="gclog.all=true", refresh the page and export your project again. You should be able to see log in your console related to project export. Please add [project] in the console filter text box to show just the project export logging.

    Patrick
  • Hi, my browser is Chrome Version 58.0.3029.110 (64-bit)

    I could export a project but it resulted in a zip file with splash folder batch files missing.

    I typed the document.cookie... expression and refreshed the page.
    If can help, this is the console log during refresh:

    ------------
    iron-shadow-flex-layout.html:12 This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead
    (anonymous) @ iron-shadow-flex-layout.html:12
    iron-flex-layout.html:14 This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead
    (anonymous) @ iron-flex-layout.html:14
    gcDesignerMenuActions.js:543 switching to theme ... ti-theme
    ti-widget-propertygrid.html:394 ti-widget-propertygrid: change property column title to Property
    iron-dropdown.html:281 [Deprecation] /deep/ combinator is deprecated. See www.chromestatus.com/.../6750456638341120 for more details.
    _saveScrollPosition @ iron-dropdown.html:281
    _openedChanged @ iron-dropdown.html:214
    _observerEffect @ polymer.html:1668
    _effectEffects @ polymer.html:1513
    _propertySetter @ polymer.html:1497
    __setProperty @ polymer.html:1506
    _applyConfig @ polymer.html:2128
    _afterClientsReady @ polymer.html:2122
    _ready @ polymer-mini.html:74
    _readyClients @ polymer-mini.html:82
    _ready @ polymer-mini.html:70
    _readyClients @ polymer-mini.html:82
    _ready @ polymer-mini.html:70
    _readyClients @ polymer-mini.html:82
    _ready @ polymer-mini.html:70
    _tryReady @ polymer-mini.html:60
    _initFeatures @ polymer.html:4146
    createdCallback @ polymer-micro.html:202
    ti-core-splitter.html:232 targetChanged: target=modelSelectionPanel[minWidth]=undefined
    ti-core-splitter.html:221 update: dimension=width, horiz=false
    ti-core-splitter.html:232 targetChanged: target=modelSelectionPanel[minWidth]=100px
    ti-core-splitter.html:221 update: dimension=width, horiz=false
    ti-core-backplane.html:1434 ti-core-backplane ready function called
    2ti-widget-propertygrid.html:394 ti-widget-propertygrid: change property column title to Property
    ti-core-splitter.html:232 targetChanged: target=splitterContainerBottomPane[minHeight]=undefined
    ti-core-splitter.html:221 update: dimension=height, horiz=true
    ti-core-splitter.html:232 targetChanged: target=splitterContainerBottomPane[minHeight]=
    ti-core-splitter.html:221 update: dimension=height, horiz=true
    design-palette.html:406 design-palette: number of categories = 0
    polymer-micro.html:277 [designer-element::_observerEffect]: observer method `maximizedChanged` not defined
    _logger @ polymer-micro.html:277
    _warn @ polymer-micro.html:287
    _observerEffect @ polymer.html:1670
    _effectEffects @ polymer.html:1513
    _propertySetter @ polymer.html:1497
    setter @ polymer.html:1576
    isTileTitleInDesignChanged @ designer-element.html:2780
    _observerEffect @ polymer.html:1668
    _effectEffects @ polymer.html:1513
    _propertySetter @ polymer.html:1497
    __setProperty @ polymer.html:1506
    _applyConfig @ polymer.html:2128
    _afterClientsReady @ polymer.html:2122
    _ready @ polymer-mini.html:74
    _tryReady @ polymer-mini.html:60
    _initFeatures @ polymer.html:4146
    createdCallback @ polymer-micro.html:202
    designer-element.html:3835 designer-element.loadHtml: html or designer is undefined
    designer-element.html:1413 ----selectedPageChange: selected page = design
    designer-element.html:2795 designer-element: getCanvas call failed! Check binding, this.designer.$
    designer-element.html:754 browserMode=true
    18property-inspector.html:198 property-inspector: property-editor editor created!
    2color-editor.html:106 this.value =
    5property-inspector.html:198 property-inspector: property-editor editor created!
    UAC.png:1 GET dev.ti.com/.../UAC.png 404 (Not Found)
    designer-element.html:758 designWindowLoaded
    ti-widget-propertygrid.html:829 ti-widget-propertygrid.configureGrid: using default values...
    ti-widget-statusbar.html:683 ti-widget-statusbar.updateBranding: about to read project.json
    gcDesigner.js:54 GET dev.ti.com/.../templates 404 (Not Found)
    doHttpRequest @ gcDesigner.js:54
    get @ gcDesigner.js:58
    (anonymous) @ gcDesigner.js:190
    promise @ q.js:642
    _readDirectoryImpl @ gcDesigner.js:185
    readDirectory @ gcDesigner.js:208
    _getListOfTemplates @ ti-guicomposer-newprojectwizard-page-general.html:328
    _updateProjectProperties @ ti-guicomposer-newprojectwizard-page-general.html:269
    attached @ ti-guicomposer-newprojectwizard-page-general.html:86
    _invokeBehavior @ polymer-micro.html:455
    _doBehavior @ polymer-micro.html:445
    (anonymous) @ polymer-micro.html:227
    _makeReady @ polymer-micro.html:115
    (anonymous) @ polymer-micro.html:121
    (anonymous) @ timeline.js:21
    design-palette.html:341 design-palette: received metadata_categories_changed event. num categories =0
    ti-core-backplane.html:1512 ti-core-backplane: project.json does not contain deviceName property.
    ti-widget-statusbar.html:693 ti-widget-statusbar.updateBranding: _showTiLogo = true
    ti-guicomposer-projectexport.html:570 ti-guicomposer-projectexport: gcRuntimeVersion = 4.0.0
    iron-shadow-flex-layout.html:12 This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead
    (anonymous) @ iron-shadow-flex-layout.html:12
    iron-flex-layout.html:14 This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead
    (anonymous) @ iron-flex-layout.html:14
    design-palette.html:406 design-palette: number of categories = 0
    ti-guicomposer-quickstart.html:226 ti-guicomposer-quickstart-openProjectHdlr called.
    ti-guicomposer-projectupdatewizard.html:279 ti-guicomposer-projectupdatewizared: designer project.json has version = 1.0.6, project has version 1.0.6
    (index):500 projectFolder changed to /workspaceserver/gc/default/denova_led_termo
    gcDesignerMenuActions.js:543 switching to theme ... ti-theme
    designer-element.html:1169 Project in process of being opened...
    gcFileCache.js:109 GET dev.ti.com/.../index.json 404 (Not Found)
    (anonymous) @ gcFileCache.js:109
    promise @ q.js:642
    loadFile @ gcFileCache.js:79
    gc.fileCache.readJsonFile @ gcFileCache.js:119
    gc.databind.WidgetBindingManager.loadBindingsFromFile @ WidgetBindingManager.js:407
    (anonymous) @ designer-element.html:3221
    _fulfilled @ q.js:794
    self.promiseDispatch.done @ q.js:823
    Promise.promise.promiseDispatch @ q.js:756
    (anonymous) @ q.js:516
    flush @ q.js:110
    ti-core-backplane.html:1434 ti-core-backplane ready function called
    ti-core-model-base-behavior.html:192 status for model #undefined changed to disconnected
    ti-service-serialio.html:1092 ti-service-serialio.attached: added to gc.services!
    ti-service-serialio.html:491 ti-service-serialio: backplane event handlers initialized. backplane.currentState.name=disconnected
    ti-service-programloader.html:508 ti-service-programloader: backplane event handlers initialized. backplane.currentState.name=disconnected
    design-canvas.html:471 design-canvas: Firing design-change event
    designer-element.html:3943 designer-element.getContent(false): selectedPage = design
    ti-core-backplane.html:1525 ti-core-backplane.domReady: Could not find ti-widget-statusbar! Please add this component to your design.
    ti-core-backplane.html:1512 ti-core-backplane: project.json does not contain deviceName property.
    design-palette.html:341 design-palette: received metadata_categories_changed event. num categories =15
    --------------------

    The log related to the export is the following:

    ---------------
    ti-core-assets.html:76 [project] Begin exporting project
    ti-core-assets.html:77 [project - callstack
    _trace @ ti-core-assets.html:77
    info @ ti-core-assets.html:85
    exportApp @ ti-guicomposer-projectexport.html:314
    exportAppHdr @ ti-guicomposer-projectexport.html:276
    export @ ti-guicomposer-projectexport.html:266
    (anonymous) @ designer-element.html:2666
    (anonymous) @ designer-element.html:2757
    _fulfilled @ q.js:794
    self.promiseDispatch.done @ q.js:823
    Promise.promise.promiseDispatch @ q.js:756
    (anonymous) @ q.js:564
    flush @ q.js:110
    ti-core-assets.html:76 [project] Finished exporting project
    ti-core-assets.html:77 [project - callstack
    _trace @ ti-core-assets.html:77
    info @ ti-core-assets.html:85
    (anonymous) @ ti-guicomposer-projectexport.html:336
    apply @ q.js:1107
    Promise.promise.promiseDispatch @ q.js:748
    (anonymous) @ q.js:1333
    flush @ q.js:110
  • Hi Fabio,

    If it is just the splash/*.bat files are missing, than this is not an export project issue. The batch files are generated when you create the project. May I ask what user id you use to login to dev.ti.com? You can send your user id privately to my email pchuong@ti.com or send it privately through E2E, I than can query your project to see whether the batch files are there in the first place or not. Can you also create a new project and let me know the name of the project? I will see if this new project has the batch files in the splash folder or not.

    Thanks,
    Patrick
  • Hi Patrick,

    there are two different issues:

    1. When I try to export a project as standalone app, most of the times I don't even get the zip file. Just nothin happens after having pressed OK in the Export Standalone App dialog box (File->Export->As stand alone App).
    2. If I (sometimes) get the zip, the splash/*.bat files are missing.

    As stated in the dev.ti.com/.../readme.txt file:

    You can alternatively start an application by running the win32_start.bat batch file that is located
    in the application's project folder.  This is typically located in the guicomposer folder that is in your Users folder.
    e.g:
    
    	c:\Users\<myUserName>\guicomposer\runtime\gcruntime.v4\<project name>\win32_start.bat
    
    If I get the zip I unzip it in the relevant folder of gcruntime then I try to run the win32_start.bat file, but it fails because splash bat files called by its code are missing.
    Just once I got a zip file with the splash files and the app actually starts.
    The exported app zip file created by the TI FAE and copied to my gcruntime folder has the splash bat files and works.

    What do you mean with "the batch are generated when you create the project" ? is not the way I run the application the intended one ?

    Using my account I created several small projects called:

    "MSP430_Temperature_demo" (taken from TI website)
    "app"
    "dash"
    "denova_led_termo"
    "prova"
    "provagc" -> this project's zip file had the splash files when I downloaded it.

    I just created a new project called "gcnew" but I couldn't get the zip so far.
    I sent my TI user id to your @ti.com email.

    Thanks
    Fabio



  • HI Fabio,

    Thanks for your help and I got your userid through email! I was able to reproduce the issue and I have patched GUI Composer. Can you try to create a new project and export it again? The old projects that you have created doesn't include all the required files (i.e bat/json files) and it cause the export step to fail. Please let me know whether a new project can be export or not.

    If you need me to help you fix any broken project that can't be export, please let me know.

    Thanks,
    Patrick

  • Hi Patrick,

    I created three different projects and all of them could be correctly exported and run as standalone application, so the patch should have resolved the issue. About old projects I don't care very much, they were just experiments and I have no particular interest in recovering them.

    Thank you very much for support. I will continue to work with gc, if needed I will open new posts.

    I just have a general question about gui composer.
    I would be interested to create something like that: suppose I have a device (e.g. an MSP430 launchpad with some stuff connected to it) and I create a GUI with a gauge, a thermometer and so on. The GUI shows data read through serial port/usb from the MSP (e.g. temperature sensor). I want to allow a remote user to view the GUI. The remote user should see the GUI on his/her browser, while the GUI controls are updated by the device in my lab. Is it possible to do that with GUI Composer ?

    Thanks
    Fabio
  • Hi Fabio,

    It is possible, there are two ways that I can think of and they both required an IoT broker.

    1. If you have a device with wifi module, you can publish the data directly from the device to the IoT broker. Than have your GUI app to read the data from the IoT broker.
    2. If you have a device without wifi module, than you need to create two GC apps. One server app that reads the data from the device and uses your PC's wifi connection to publish data to the IoT broker. And a client app to retrieve data from the IoT broker. I have an example for the MSP432G2 device that demonstrate this use case. See https://dev.ti.com/gallery/4199/. This approach is a little bit more involve, it required to write some JavaScript. 

    There are some tutorials in the Getting Started page that talk about different models (transport), USB/SERIAL, MQTT/IoT, etc... This might help you to understand varies model and how it works.

    Regards,
    Patrick

  • Hi Fabio,

    Thanks for your interest in GUI Composer.
    As to the question about allowing a remote user to use your App in the way you described, do you plan to open it to specific users/customers, or do yo want to open it for everyone in public?

    The reason I asked is I want to understand your requirements.

    Regards,
    Winnie

  • Hi Winnie,

    right now I'm just exploring GUI Composer to use it for my development needs, for example to create a dashboard showing debug/monitoring data from devices I'm designing instead of writing special purpose PC programs in some language (C, C#, Java), which is always a complex and time consuming task. Besides using it locally in my lab with my computer, could be useful to monitor a device installed on a remote location, or to show another designer who works in a different place data read from a prototype in my lab.

    So the first need would be to open data only to specific users, but of course in the future I might also be interested to open for everyone.

    Regarding last Patrick's reply, I gave a look but I need to learn GC more in deep. As far as I could understand, the "IoT broker" (whatever it is...) should be related with MQTT. Is it correct ? can you point me to some documentation about deveolping applications like the client/server gallery Temperature demo ?

    Thanks
    Fabio
  • Hi Fabio,

    Take a look at the tutorial section about MQTT/IOT here for option #1.
    dev.ti.com/.../index.html

    Option #2 is some what custom, it bascially combines two models in the server app. Using USB model and MQTT model. USB model reads the data from the device and publish the data using MQTT. So, instead of publishing the data directly to the MQTT broker as of option #1, it uses the GC app with your PC host internet to publish MQTT data to the broker.

    The client for both options are more or less the same. Read data from the MQTT broker.

    You can import the dashboards from the gallery link that I provided in the previous post to your workspace in the GC designer and take a look at the custom javascript code that bind the USB data to MQTT in the server app.

    Also, click on the "Help | User Guild..." menu in the GC designer for help and tutorials.

    Regards,
    Patrick