Пример #1
0
        /// <summary>
        /// Sets the motor speed from linear speed and wheel diameter.
        /// </summary>
        /// <param name="encoderMotor">The motor instance</param>
        /// <param name="speed">The linear speed.</param>
        /// <param name="diameter">The wheel diameter.</param>
        public static void SetSpeed(this EncoderMotor encoderMotor, Speed speed, Length diameter)
        {
            if (encoderMotor == null)
            {
                throw new ArgumentNullException(nameof(encoderMotor));
            }

            if (diameter.Meters <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(diameter), "The wheel diameter must be greater than 0");
            }
            encoderMotor.Rpm = speed.ToRotationalSpeedFromDiameter(diameter);
        }
Пример #2
0
 /// <summary>
 /// Sets the motor speed from linear speed and assuming Standard diameter <see cref="WheelDiameters"/>.
 /// </summary>
 /// <param name="encoderMotor">The motor instance</param>
 /// <param name="speed"></param>
 public static void SetSpeed(this EncoderMotor encoderMotor, Speed speed)
 {
     encoderMotor.SetSpeed(speed, WheelDiameters.Standard);
 }