- Display Builder
- Display Runner
- Processed Variables
Yamcs Studio Release Notes
Source Code Documentation
Widgets have many properties and methods that can be modified dynamically. Rules are one way to do that. For more advanced manipulations and control logic, scripts are the right tool.
Scripts can be attached to any widget (or the display itself) and execute only when one of their declared trigger PVs gets updated.
Yamcs Studio supports scripts in two different languages:
Supports ECMAScript 5.1, and a limited set of ECMAScript 6 features.
Supports Python 2.7.
The Java implementation that executes Python scripts is called Jython. For more on Jython, refer to https://www.jython.org.
Note that Yamcs Studio does not make use of the Python distribution available to your system.
Within both scripting languages you have bridged access to the same Java API that allows interacting with its widget, other widgets, PVs or Yamcs Studio itself. Only the syntax looks different.
Each script runs with separate scope. It is therefore not possible to access variables from within another script. If you want to share data between scripts, it is possible to do so by creating a local PV and using that as a means for communication.
On the other hand, consecutive executions do make use of the same scope, so it is possible to memorize state by using global variables.