private void InitState() { LogInfo("TrackRoamerDriveService:: InitState() _state=" + _state); if (_state == null) { LogInfo("TrackRoamerDriveService:: InitState() (null)"); _state = new TrackRoamerDriveState(); _state.DistanceBetweenWheels = 0.5715; _state.LeftWheel = new motor.WheeledMotorState(); _state.LeftWheel.Radius = 0.1805; _state.LeftWheel.GearRatio = 0.136; _state.LeftWheel.MotorState = new motor.MotorState(); _state.LeftWheel.MotorState.HardwareIdentifier = 1; _state.LeftWheel.MotorState.Name = "Left Motor"; _state.LeftWheel.MotorState.PowerScalingFactor = 30; _state.LeftWheel.MotorState.ReversePolarity = false; _state.RightWheel = new motor.WheeledMotorState(); _state.RightWheel.Radius = 0.1805; _state.RightWheel.GearRatio = 0.136; _state.RightWheel.MotorState = new motor.MotorState(); _state.RightWheel.MotorState.HardwareIdentifier = 2; _state.RightWheel.MotorState.Name = "Right Motor"; _state.RightWheel.MotorState.PowerScalingFactor = 30; _state.RightWheel.MotorState.ReversePolarity = false; _state.LeftWheel.EncoderState = new encoder.EncoderState(); _state.LeftWheel.EncoderState.HardwareIdentifier = 1; _state.LeftWheel.EncoderState.TicksPerRevolution = 2993; _state.RightWheel.EncoderState = new encoder.EncoderState(); _state.RightWheel.EncoderState.HardwareIdentifier = 2; _state.RightWheel.EncoderState.TicksPerRevolution = 2993; _state.IsEnabled = true; _state.TimeStamp = DateTime.Now; LogInfo("TrackRoamerDriveService:: InitState(): saving state"); SaveState(_state); } else { LogInfo("TrackRoamerDriveService:: InitState() (not null) _state.DistanceBetweenWheels=" + _state.DistanceBetweenWheels); } _state.InternalPendingDriveOperation = drive.DriveRequestOperation.NotSpecified; _state.TimeStamp = DateTime.Now; }
public IEnumerator<ITask> UpdateHandler(Update update) { _state = update.Body; _state.TimeStamp = DateTime.Now; update.ResponsePort.Post(new DefaultUpdateResponseType()); yield break; }