Beispiel #1
0
 public IEnumerator<ITask> AllStopHandler(AllStop allStop)
 {
     SetDrivePower zeroPower = new SetDrivePower();
     zeroPower.Body = new SetDrivePowerRequest(0.0, 0.0);
     zeroPower.ResponsePort = allStop.ResponsePort;
     _mainPort.Post(zeroPower);
     yield break;
 }
        public virtual IEnumerator<ITask> AllStopHandler(AllStop stop)
        {
            if (!ValidateConnection(_state, stop.ResponsePort))
                yield break;

            SetMotorRotation setMotorRotation = new SetMotorRotation(new SetMotorRotationRequest(0.0));
            setMotorRotation.Body.StopState = stop.Body.StopState;
            _internalMotorRotationPort.Post(setMotorRotation);

            yield return Arbiter.Choice(setMotorRotation.ResponsePort,
                delegate(DefaultUpdateResponseType response)
                {
                    stop.ResponsePort.Post(response);
                },
                delegate(Fault fault)
                {
                    stop.ResponsePort.Post(fault);
                });

            yield break;
        }