TSC / CCS / MCS

Test - Integrate - Control

Shrink-Wrapping TSC

TSC can now be used as development platform for third party special EGSEs (e.g. SCOE controllers) using the newly integrated shrink-wrapping tools.
Ambitious users can now develop TMTC applications that appear to be custom applications with no immediate evidence that it is based on TSC.
This is achieved by hiding the main TSC user interface, and by developing your own scripted user interface using the graphical TK plugin to TCL. This user interface can then appear to "take over" all interaction with the user. Example applications might be a special EGSE such as a SCOE controller.
This section does not describe the details of TK application development; extensive information is available online or in standard text books (such as the one by Brent Welch). It is assumed that readers of this section are relatively ambitious, and have sufficient TCL expertise to understand the behaviour of their TCL scripts.
We describe some of the issues and relevant commands.
To control the visibility of the main TSC user interface we can use the commands

utope::hide
utope::show

These cause the TSC user interface respectively to disappear or to appear under control of your script.
You may also be aware that TSC is able to run an initial script on startup, namely the one named in the setting

utope::settings(startup/firstRunScript)


If this named script exists (default name is "firstRun.tcl") then it is the first to execute when TSC starts. Obviously this script can perform any desired automated action, including to connect plugins, to create a TK user interface, and to hide the user interface of TSC.
However if this direct approach is taken, TSC will start, and the user interface will briefly appear, even though the first run script hides it. This is because TSC first initialises its user interface, and only afterwards starts any initial script. To avoid that the TSC user interface appears at all, then the application must be started with the "-hidden" command line option. With this option, TSC is informed that it should not display its user interface on startup.
It is also possible to override the application setting mentioned above, and to request a specific startup script on the command line. This can be used in different cases:
- create your own desktop icon, that starts TSC with a specific startup script
- the first instance of TSC can start other shrink-wrapped interfaces.
As an example, the TCL commands to start a new parallel instance of TSC, hidden, and with a specific startup script called "myApp":

exec SynTestConsole -hidden -firstRunScript myApp.tcl &


Obviously the mentioned file must exist. If it does not exist, then an invisible TSC will be running. Also take care that the mentioned script does not itself repeat the above command, or you will see an infinitely recursive cascade of TSC applications, and will probably have no alternative but to restart your computer.