public static StepperMotor CreateStepperMotorControlWithAbsolutePositionSensing ( AnalogSignal goToPositionSignal, AnalogSignal absolutePositionSensingSignal, Range minPositionRange, Range maxPositionRange, int numStepsInTravelRange, AnalogSignal outputLine ) { var stepper = new StepperMotor { GoToPositionSignal = goToPositionSignal, NumStepsInRangeOfTravel = numStepsInTravelRange }; var minPositionReachedRE = new RangeEvaluator { Range = minPositionRange, In = goToPositionSignal }; stepper.MinPositionReachedSignal = minPositionReachedRE.Out; var maxPositionReachedRE = new RangeEvaluator { In = goToPositionSignal }; stepper.MaxPositionReachedSignal = maxPositionReachedRE.Out; stepper.PhysicalOutput = outputLine; return(stepper); }
public static PositionableMotorWithFeedback CreateServoMechanism ( AnalogSignal goToPositionSignal, AnalogSignal absolutePositionSensingSignal, Range minPositionRange, Range maxPositionRange, AnalogSignal outputLine ) { var motor = new PositionableMotorWithFeedback { GoToPositionSignal = goToPositionSignal }; var minPositionReachedRE = new RangeEvaluator { Range = minPositionRange, In = goToPositionSignal }; motor.MinPositionReachedSignal = minPositionReachedRE.Out; var maxPositionReachedRE = new RangeEvaluator { In = goToPositionSignal }; motor.MaxPositionReachedSignal = maxPositionReachedRE.Out; motor.PhysicalOutput = outputLine; return(motor); }