Advanced scripting

The current scripting model proved too difficult to maintain. Hence we are looking for new scripting part of RTS2. It shall be fully integrated. It should provide language specification, so we can easily extend language with new features.

The language must provides constructs for:

The idea is that the language will provide variables manipulation routines (including creating customs variables). The variables can be some “strange” astronomical quantities, e.g. error introduced either in degrees, arcminutes or arcseconds - distinguished by d, ', and “ suffix.

Input of the processor is string stream containing script. Its output is a binary sequence of commands, which will be executed by RTS2. There is an example of definition command to execute exposure:

int exposure (camera, length)
{
       waitforSystemState(EXPOSURE_POSSIBLE);  // will wait for system to reach state when exposure is possible
       camera.EXPOSURE = length;               // set camera variable EXPOSURE
       camera.executer("exposure");            // execute command on camera
       system.log ("exposure started on camera " + camera + " with length " + length);  // log command execution
}

and there is a call which include library, and call 10 seconds exposure:

include exposureLibrary;
exposure (C0, 10);