Category:GUI Composer

From Texas Instruments Wiki
Jump to: navigation, search
Gc sampleApp.png


NEW: Please check out the new Cloud-based version of GUI Composer at http://dev.ti.com
Linux users: GUI Composer v1.0 will not be supported starting with CCS v6.2.0. Use the Cloud-based version above.

Welcome to GUI Composer!

GUI Composer is a tool for creation of custom user interfaces that interact with your target application.

  • An example might be a motor control system that is made up of a board with an MCU, a motor and a sw application running on the MCU to control operation of the motor. A custom user interface running on the host computer (i.e. PC) completes the entire solution by exposing and demonstrating parameters/capabilities of the MCU and target application.
  • Another example might be in a testing scenario where a simplified user interface is provided to a non-expert tester to perform validation tasks.



GUI Composer v1 vs GUI Composer v2

  • Terminology
    • GUI Composer Designer: This is a design stage tool used to create GUI Composer Applications.
    • GUI Composer Runtime: A runtime used to run your application on a desktop computer.
    • Gallery: Applicable only to GUI Composer v2. This is an online repository where GUI Composer created applications can be run from a browser, by logging into dev.ti.com site.
  • GUI Composer v1: GUI Composer Designer is available in CCS Desktop. CCS 5.x included it directly in the product. CCS6.x requires an additional step to install GUI Composer Designer from CCS App Center. GUI Composer v1 supports applications to be run from desktop PC either standalone (with standalone runtime) or within CCS Desktop. GUI Composer Designer v1 includes all necessary Runtime components when installed in CCS. Thus installing GCv1 in CCS through App center provides necessary components to run applications in CCS Desktop without the need for GC Designer, provided you already have a GCv1 application. CCS 7.x only supports ability to run GCv1 created apps. The GC Designer is no longer supported in CCS7.x. To be able to run GCv1 applications in CCS7.x, GCv1 runtime needs to be installed from CCS App Center.
  • GUI Composer v2: GUI Composer Designer is available online at http://dev.ti.com/gc . This is tool to create GCv2 applications which can be exported or published to be consumed by end users in multiple ways. The Designer tool is not available in CCS Desktop. The runtime components are included in CCSv7.x as they are significantly smaller. Similarly as in GCv1, GCv2 created applications can be made available as standalone desktop applications when combined with GCv2 Runtime, integrated into CCS Desktop (v7.x and higher only) or published online at http://dev.ti.com/gallery. Unfortunately to enable ability to run applications online GCv2 uses different set of technologies which made it impractical to support backwards compatibility for GCv1 applications in GCv2 ecosystem.

At this point GCv2 still has some restrictions on supported target devices and supported communications mechanisms. Thus if you need to get started immediately, then please start with GCv1 by installing GC v1 into CCS6.2 (last version that supports GC Designer v1). However, GCv2 provides a more modern widget look and feel. GCv2 will offer more target communication options (various combination of physical transport and protocol).

Getting Started with GUI Composer v2

Please visit Getting Started Guide for GUI Composer v2 available at https://dev.ti.com/gc/designer/help/Tutorials/GettingStarted/index.html



Introduction GUI Composer v1



GUI Composer is made up of two main components:

GUI Composer Designer

GUI Composer Designer is the design tool used for creation of applications. GUI Composer is integrated into Code Composer Studio v5.x and available through CCS App Center in CCS 6.x. GUI Composer apps can be designed and verified using full debug capabilities of Code Composer Studio.

GUI Composer Runtime

GUI Composer Runtime is a standalone component that can be leveraged to deploy applications to environments without dependencies on Code Composer Studio. This is what end users of GUI Composer generated applications require to be installed.

For an introductory video about GUI Composer please click here.

This training module also provides a step by step guide for how to create a simple GUI Composer Application.


What's New in Gui Composer (CCS v6.1.1):
  • Support for MSP432 devices.
  • Update device/driver support to same components as CCS 6.1.1
  • Improved support for applications using serial communication.
  • Bug fixes.




GUI Composer v1 Downloads

Windows

  • GUI Composer Runtime (CCS v6.2.0): Download GUI Composer Runtime with example application. (~380 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v6 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C, MSP430(UART support only) and MSP432.
  • GUI Composer Runtime (CCS v6.1.1): Download GUI Composer Runtime with example application. (~380 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v6 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C, MSP430(UART support only) and MSP432.
  • GUI Composer Runtime (CCS v6.0): Download GUI Composer Runtime with example application. (~310 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v6 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C and MSP430(UART support only).
  • GUI Composer Runtime (CCS v5.5): Download GUI Composer Runtime with example application. A minor update to resolve a write issue during high read/write traffic. (~380 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.5 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C and MSP430(UART support only).
  • GUI Composer Runtime (CCS v5.4): Download GUI Composer Runtime with example application. (~310 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.4 and lower. The runtime includes JTAG support for C2000, Stellaris and TMS570.
  • GUI Composer Runtime (CCS v5.3): Download GUI Composer Runtime with example application. (~250 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.3. The runtime includes JTAG support for C2000, Stellaris and TMS570.



Linux

IMPORTANT! GUI Composer v1.0 will not be supported starting with CCS v6.2.0. Use the GUI Composer v2.0 at https://dev.ti.com instead.
NOTE: In order to run GC Installer on 64bit linux hosts a 32 bit JRE (Java Runtime Environment) is required. In order to run the application you may also need to install additional dependencies. Please consult this wiki for required additional packages.

  • GUI Composer Runtime (CCS v6.1.1): Download GUI Composer Runtime with example application. (~360 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.5 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C, MSP430 (UART only) and MSP432.
  • GUI Composer Runtime (CCS v6.0): Download GUI Composer Runtime with example application. (~310 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.5 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C and MSP430 (UART only).
  • GUI Composer Runtime (CCS v5.5): Download GUI Composer Runtime with example application. A minor update to resolve a write issue during high read/write traffic. (~310 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.5 and lower. The runtime includes JTAG support for C2000, Stellaris, TMS570, Tiva C and MSP430 (UART only).
  • GUI Composer Runtime (CCS v5.4): Download GUI Composer Runtime with example application. (~275 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.4 and lower. The runtime includes JTAG support for C2000, Stellaris and TMS570.
  • GUI Composer Runtime (CCS v5.3): Download GUI Composer Runtime with example application. (~250 MB) : This download package allows you to execute example application. It is compatible with GUI Composer applications created with CCS v5.3. The runtime includes JTAG support for C2000, Stellaris and TMS570.


Important Note: Depending on your system configuration you may experience GUI Composer not starting. If this is the case please ensure that NO_PROXY environment variable is configured with localhost. e.g. in bash shell you would enter "export NO_PROXY=localhost,$NO_PROXY"



Getting Started

This GUI Composer Training Module provides step by step guide for creating a simple GUI Composer Application

Example Application:

Example application uses a CortexM3 (LE) simulator as the target and it uses modem tutorial as the target application. Target application is a simple program that performs signal processing operations on data buffers. The main data structure is called g_ModemData. All example applications controls (widgets) control variables within this struct. g_ModemData is a global variable.

  • To run example application navigate with windows explorer to GCRuntimeInstallRoot\guicomposer\webapps\modem_m3 directory and double click on modem_m3_gc_app.exe. (or modem_m3_gc_app on linux) You can adjust carrierFreq by turning the main dial, the changes in carrierFreq are reflected in the top graph. All files that make up a particular application are located in GCRuntimeInstallRoot\guicomposer\webapps\modem_m3 directory. Please see Example Application Explained for explanation of files that make up a web application.

Create Application:

Creation of new applications requires installation of Code Composer Studio from link above. GUI Composer application designer is bundled with Code Composer Studio. You may start GUI Composer from View menu. You will need to enter project name when GUI Composer first starts. You can then start creating your application by selecting appropriate widgets and dropping them onto a blank page. Please see this video for example of an application being created.
The basic flow of creating an application is to:

  1. Select a widget from left hand pane and place it on GUI Composer design page, then position it as desired.
  2. Adjust its size and properties through Properties view on the right hand side. Size and properties of the widget are available under Widget Specific properties category.
  3. Bind this widget to a global variable in your target application by modifying value field in Widget Binding category in Properties view. The simplest way of avoiding mistakes is to have CCS project open in CCS, open the source file and highlight the appropriate variable copy it (CTRL-C) and then click on value field in GUI Composer in Properties view and paste the variable name (CTRL-V).

Preview Application:

GUI Composer provides a feature that allows you to preview(test) your application directly within Code Composer Studio. Click on preview GUI Composer button to start this mode. Runtime that is built into Code Composer Studio will automatically initiate widget variable binding to currently active debug session or will initiate binding process when program is loaded if a debug session is started after Preview mode is started. Before GUI Composer preview application starts to function you will need to have a debug session started and program needs to be loaded. In Preview mode you can interact with widgets as a end user would. We suggest opening CCS Expression view and adding variables that are bound to widgets to verify that variables are modified as expected when user interacts with widgets.

Export Application:

Once you complete development of your application you may export it for use with GUI Composer Runtime. Click on Deploy button, you will be asked to select location for .zip file, default connection(emulator), device and program (.out) file that is to be automatically loaded when this application is started. Please refer to Deploy Application topic for information on how to install your application into a GUI Composer Runtime installation on your system.

Application Export Important Notes

GUI Composer export automatically generates a DSS script that performs system initialization tasks. The default script starts a debugger, connects, loads a program and runs the target. In addition to performing these steps the debugger mode is enabled to halt the CPU before making a target access. This allows for greatest compatibility across various devices. However, if your application requires non-intrusive target access and your HW (device/emulator) supports it then please modify "appInitScript.js" and comment out or remove this line:

session.options.setBoolean("UseLegacyStopMode", true);

Furthermore, some targets may require a special mode to be enabled to allow non-intrusive access. e.g. C2000 family of devices requires following lines to be added to "appInitScript.js" between load program and run program steps.

print("Enabling Realtime\n");
session.expression.evaluate("ST1.DBGM = 0");
session.expression.evaluate("GEL_EnableRealtime()");



Training

See the GUI Composer Training Module for Tiva C

Feedback/Issues

For feedback please use Code Composer Studio forum and use "GUIComposer" tag when posting. (Click on New Post and just above "Post" there is an edit box, please enter GUIComposer). Responses may be delayed if this tag is not used. 

Code Composer Studio Forum


Known Issues

CCS Graphs (Tools menu) may become disabled if GUI Composer is the active tab when CCS is started. The workaround is to activate a .c file by clicking on its tab and restarting CCS.



Subcategories

This category has only the following subcategory.