Class PWMMotorController

    • Constructor Detail

      • PWMMotorController

        protected PWMMotorController​(String name,
                                     int channel)
        Constructor.
        Parameters:
        name - Name to use for SendableRegistry
        channel - The PWM channel that the controller is attached to. 0-9 are on-board, 10-19 are on the MXP port
    • Method Detail

      • close

        public void close()
        Free the resource associated with the PWM channel and set the value to 0.
        Specified by:
        close in interface AutoCloseable
      • set

        public void set​(double speed)
        Set the PWM value.

        The PWM value is set using a range of -1.0 to 1.0, appropriately scaling the value for the FPGA.

        Specified by:
        set in interface MotorController
        Specified by:
        set in interface SpeedController
        Parameters:
        speed - The speed value between -1.0 and 1.0 to set.
      • get

        public double get()
        Get the recently set value of the PWM. This value is affected by the inversion property. If you want the value that is sent directly to the MotorController, use PWM.getSpeed() instead.
        Specified by:
        get in interface MotorController
        Specified by:
        get in interface SpeedController
        Returns:
        The most recently set value for the PWM between -1.0 and 1.0.
      • getPwmHandle

        public int getPwmHandle()
        Gets the backing PWM handle.
        Returns:
        The pwm handle.
      • getChannel

        public int getChannel()
        Gets the PWM channel number.
        Returns:
        The channel number.
      • enableDeadbandElimination

        public void enableDeadbandElimination​(boolean eliminateDeadband)
        Optionally eliminate the deadband from a motor controller.
        Parameters:
        eliminateDeadband - If true, set the motor curve for the motor controller to eliminate the deadband in the middle of the range. Otherwise, keep the full range without modifying any values.