public bool ManualDrive(DriveArguments arguments) { if (isrunning) { return(false); } isrunning = true; try { //s_value = 1 (fastest) – 10 (slowest) int speedTick = RovioAPI.SetDouble(arguments.Speed, 10, 1); int?angleTick = null; if (arguments.Angle == null) { angleTick = null; } else { angleTick = (int)Math.Floor(arguments.Angle.Value / 12.0); } //angleTick 务必小于32,否则会溢出导致不断转圈。 rovio.ManualDrive((int)arguments.Action, speedTick, angleTick); } catch (Exception ex) { } finally { isrunning = false; } return(true); }
public override void Save() { if (!this.modified) { return; } MovementController movement = owner.rovio.API.Movement; movement.SaveParameter( new FlashParameterItem(FlashParameters.MovementSpeed, RovioAPI.SetDouble(this.movementSpeed, 1, 10)), new FlashParameterItem(FlashParameters.TurnSpeed, RovioAPI.SetDouble(this.turnSpeed, 1, 10)), new FlashParameterItem(FlashParameters.RotSpeed, RovioAPI.SetDouble(this.rotSpeed, 1, 10))); this.modified = false; }
/// <summary> /// Change the Speaker Volume setting of camera. /// </summary> /// <param name="SpeakerVolume">[0.0, 1.0]</param> /// <returns></returns> public void ChangeSpeakerVolume(double volume) { //Speaker Volume : 0 - 31 (The lower the value is, the lower the speaker volume is) int rawValue = RovioAPI.SetDouble(volume, 0, 31); RovioResponse response = rovio.Request("ChangeSpeakerVolume.cgi?SpeakerVolume=" + rawValue); }