Skip to main content
FW version: Stable

emGUI basics I: Hands-on

This tutorial walks you through some of the very first things-to-do with the emGUI.

info
  • Assume that a successful comlink with the device has already been established (the device is connected, connection options are set, the driver is installed, etc.).
  • Assume that we are working with just a single device.

Search for nodes

Usually, the first step after starting the emGUI is to click the Search button. This will initiate the search operation (discovery, login, tree and value fetch) for all connected devices.

emgui

notice
  • Accessing some items may be restricted. Depending on your firmware, not all items will be always visible/writable.
  • The comlink is designed to be plug-and-play. If the session has been severed (e.g., you unplugged and plugged back the USB cable), the device icon and the Target status will change to indicate this. You may still operate the emGUI but the context might have diverged. You can attempt to regain the session through the device's context menu without losing the context.

Tree's icons:

  • folder - folder,
  • parameter - parameter,
  • state - state variable,
  • dynamic - dynamic variable,
  • permanent - permanent variable,
  • executable - executable.
info
  • If the connection options have been set with a broadcast device address, the emGUI attempts to discover multiple devices and allows to work with them simultaneously.
  • The Search procedure may be configured in the options menu.

Viewing the value of a state variable

tip

The simplest way: you see the value in the contents column. Pressing F1 on a selected variable, in the tree, refreshes its value. State variables are read-only.

Double-clicking a state variable opens this dialog. Another way to invoke it is through the context menu. You can dock the dialog inside the main emGUI window.

emgui

For a one-time refresh, click the GET button. To refresh automatically, check the Autorefresh option. You can also set a refresh period in milliseconds.

To pull all variable values, you can click the Pull values icon:

emgui

To pull a single variable value, select the Get value command from the context menu (keyboard F1). Similarly, from the folder (or entire device) context menu, you can select Pull subtree values to recursively pull values for the subtree.

For automatic bulk value pulling, you can open the relevant folder's (or entire device's) dialog through its context menu:

emgui

and check the Autopull option. You can also set a refresh period in milliseconds:

emgui

info

In all variable viewing dialogs, unsuccessful communication with the device during value exchange is indicated by a background color of the value's string:

  • orange - an arbitration miss. The value exchange was unsuccessful.
  • red - a critical error (e.g., no response from device).

Viewing the values of other variable types

tip

All variables are also accessible through YOS/Shell. Additionally, real-time sampling of any variable(s) can be configured using the plot/scope mechanism.

The general rules for viewing other variables are similar to those described above, with the following remarks:

  • Parameters are read-write accessible and may have include extended metadata (such as minimum/maximum/default/presets, ...) and can be saved to or loaded from internal non-volatile memory.

  • Permanent variables are read-only (like state variables), but most importantly, their values are preserved after a reboot.

    emgui

  • Dynamic variables are read-write accessible and can be added or removed during runtime with YOS scripting or when executing asynchronous tasks (e.g., motor identification). For a running script with function calls, the script's stack memory can also be viewed. To refresh the list of dynamic variables, use Fetch subtree command:

    emgui