Esempio n. 1
0
        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;
            }
Esempio n. 3
0
 /// <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);
 }