CompositeController

Represents two recursively linked SystemController instances.

Author

Lucas Bubner, 2024

Since

6.0.0

See also

Constructors

Link copied to clipboard
constructor(@NonNull first: SystemController, @NonNull second: SystemController, @NonNull combiner: DoubleBinaryOperator)
Create a new composite controller that combines two controllers.

Properties

Link copied to clipboard
The first controller in the composite.
Link copied to clipboard
The second controller in the composite.

Inherited properties

Link copied to clipboard
A null controller that does nothing.

Functions

Link copied to clipboard
open fun calculate(process: Double, setpoint: Double): Double
Calculate the next output of this control algorithm.
Link copied to clipboard
Gets the coefficients of both controllers in this composite controller, concatenated as if they were one controller with a length equal to the sum of the lengths of the two coefficient arrays.
Link copied to clipboard
Gets the PIDF controller attached to this composite controller, if one exists.
Link copied to clipboard
open fun reset()
Resets both controllers in this composite controller.
Link copied to clipboard
open fun setCoefficients(@NonNull coeffs: Array<Double>)
Sets the coefficients of both controllers in this composite controller.

Inherited functions

Link copied to clipboard
Composes this controller with another controller, returning a new controller that is the composition of the two.
Link copied to clipboard
open fun setCoefficients(@NonNull coeffs: Array<Double>)
Sets the coefficients for this controller.