Class RobotDriveBase

    • Field Detail

      • m_deadband

        protected double m_deadband
      • m_maxOutput

        protected double m_maxOutput
    • Constructor Detail

      • RobotDriveBase

        public RobotDriveBase()
        RobotDriveBase constructor.
    • Method Detail

      • getName

        public final String getName()
        Description copied from interface: Sendable
        Gets the name of this Sendable object.
        Specified by:
        getName in interface Sendable
        Returns:
        Name
      • setName

        public final void setName​(String name)
        Description copied from interface: Sendable
        Sets the name of this Sendable object.
        Specified by:
        setName in interface Sendable
        Parameters:
        name - name
      • setName

        protected final void setName​(String moduleType,
                                     int channel)
        Sets the name of the sensor with a channel number.
        Parameters:
        moduleType - A string that defines the module name in the label for the value
        channel - The channel number the device is plugged into
      • setName

        protected final void setName​(String moduleType,
                                     int moduleNumber,
                                     int channel)
        Sets the name of the sensor with a module and channel number.
        Parameters:
        moduleType - A string that defines the module name in the label for the value
        moduleNumber - The number of the particular module type
        channel - The channel number the device is plugged into (usually PWM)
      • getSubsystem

        public final String getSubsystem()
        Description copied from interface: Sendable
        Gets the subsystem name of this Sendable object.
        Specified by:
        getSubsystem in interface Sendable
        Returns:
        Subsystem name
      • setSubsystem

        public final void setSubsystem​(String subsystem)
        Description copied from interface: Sendable
        Sets the subsystem name of this Sendable object.
        Specified by:
        setSubsystem in interface Sendable
        Parameters:
        subsystem - subsystem name
      • addChild

        protected final void addChild​(Object child)
        Add a child component.
        Parameters:
        child - child component
      • setDeadband

        public void setDeadband​(double deadband)
        Sets the deadband applied to the drive inputs (e.g., joystick values).

        The default value is 0.02. Inputs smaller than the deadband are set to 0.0 while inputs larger than the deadband are scaled from 0.0 to 1.0. See applyDeadband(double, double).

        Parameters:
        deadband - The deadband to set.
      • setMaxOutput

        public void setMaxOutput​(double maxOutput)
        Configure the scaling factor for using drive methods with motor controllers in a mode other than PercentVbus or to limit the maximum output.

        The default value is 1.0.

        Parameters:
        maxOutput - Multiplied with the output percentage computed by the drive functions.
      • feedWatchdog

        public void feedWatchdog()
        Feed the motor safety object. Resets the timer that will stop the motors if it completes.
        See Also:
        MotorSafety.feed()
      • limit

        protected double limit​(double value)
        Limit motor values to the -1.0 to +1.0 range.
      • applyDeadband

        protected double applyDeadband​(double value,
                                       double deadband)
        Returns 0.0 if the given value is within the specified range around zero. The remaining range between the deadband and 1.0 is scaled from 0.0 to 1.0.
        Parameters:
        value - value to clip
        deadband - range around zero
      • normalize

        protected void normalize​(double[] wheelSpeeds)
        Normalize all wheel speeds if the magnitude of any wheel is greater than 1.0.