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; }