Class ScriptAlgorithmExecutor

java.lang.Object
org.yamcs.algorithms.AbstractAlgorithmExecutor
org.yamcs.algorithms.ScriptAlgorithmExecutor
All Implemented Interfaces:
AlgorithmExecutor

public class ScriptAlgorithmExecutor extends AbstractAlgorithmExecutor
Represents the execution context of one algorithm. An AlgorithmExecutor is reused upon each update of one or more of its InputParameters.

This class will create and compile on-the-fly ValueBinding implementations for every unique combination of raw and eng types.

  • Constructor Details

  • Method Details

    • updateInput

      protected void updateInput(int position, InputParameter inputParameter, ParameterValue newValue)
      Description copied from class: AbstractAlgorithmExecutor
      Called when the given inputParameter receives a value. idx is the index of the inputParameter in the algorithm definition input list.

      newValue can be either a ParameterValue or a ArgumentValue

      Can be used by subclasses to perform specific actions;

      Note that all values are also collected in the inputList

      Overrides:
      updateInput in class AbstractAlgorithmExecutor
    • updateInputArgument

      protected void updateInputArgument(int position, InputParameter inputParameter, ArgumentValue newValue)
      Description copied from class: AbstractAlgorithmExecutor
      Called when the given inputParameter which contains a reference to an argument receives an argument value.

      idx is the index of the inputParameter in the algorithm.

      Overrides:
      updateInputArgument in class AbstractAlgorithmExecutor
    • execute

      public AlgorithmExecutionResult execute(long acqTime, long genTime, ProcessingData data)
      Description copied from interface: AlgorithmExecutor
      Runs the associated algorithm with the latest InputParameters.

      Should throw an exception if there is an error within the algorithm.

      The error message and error count will be remembered and available to external clients via the API.

      The processing data parameter is passed if required to calibrate the output values. It shall not be updated by the executor as it is done in the ActiveAlgorithm

      Returns:
      the output parameters, if any
    • toString

      public String toString()
      Overrides:
      toString in class Object