Class OpenLoopRampsConfigs

java.lang.Object
com.ctre.phoenix6.configs.OpenLoopRampsConfigs
All Implemented Interfaces:
ParentConfiguration, ISerializable

public class OpenLoopRampsConfigs extends Object implements ParentConfiguration
Configs that affect the open-loop control of this motor controller.

Open-loop ramp rates for the various control types.

  • Field Details

    • DutyCycleOpenLoopRampPeriod

      If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
    • VoltageOpenLoopRampPeriod

      If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
    • TorqueOpenLoopRampPeriod

      public double TorqueOpenLoopRampPeriod
      If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode.

      Since TorqueCurrent is directly proportional to acceleration, this ramp limits jerk instead of acceleration.

      • Minimum Value: 0
      • Maximum Value: 10
      • Default Value: 0
      • Units: seconds
  • Constructor Details

  • Method Details

    • withDutyCycleOpenLoopRampPeriod

      public OpenLoopRampsConfigs withDutyCycleOpenLoopRampPeriod(double newDutyCycleOpenLoopRampPeriod)
      Modifies this configuration's DutyCycleOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.

      If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
      Parameters:
      newDutyCycleOpenLoopRampPeriod - Parameter to modify
      Returns:
      Itself
    • withDutyCycleOpenLoopRampPeriod

      public OpenLoopRampsConfigs withDutyCycleOpenLoopRampPeriod(Time newDutyCycleOpenLoopRampPeriod)
      Modifies this configuration's DutyCycleOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.

      If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
      Parameters:
      newDutyCycleOpenLoopRampPeriod - Parameter to modify
      Returns:
      Itself
    • getDutyCycleOpenLoopRampPeriodMeasure

      Helper method to get this configuration's DutyCycleOpenLoopRampPeriod parameter converted to a unit type. If not using the Java units library, DutyCycleOpenLoopRampPeriod can be accessed directly instead.

      If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
      Returns:
      DutyCycleOpenLoopRampPeriod
    • withVoltageOpenLoopRampPeriod

      public OpenLoopRampsConfigs withVoltageOpenLoopRampPeriod(double newVoltageOpenLoopRampPeriod)
      Modifies this configuration's VoltageOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.

      If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
      Parameters:
      newVoltageOpenLoopRampPeriod - Parameter to modify
      Returns:
      Itself
    • withVoltageOpenLoopRampPeriod

      public OpenLoopRampsConfigs withVoltageOpenLoopRampPeriod(Time newVoltageOpenLoopRampPeriod)
      Modifies this configuration's VoltageOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.

      If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
      Parameters:
      newVoltageOpenLoopRampPeriod - Parameter to modify
      Returns:
      Itself
    • getVoltageOpenLoopRampPeriodMeasure

      Helper method to get this configuration's VoltageOpenLoopRampPeriod parameter converted to a unit type. If not using the Java units library, VoltageOpenLoopRampPeriod can be accessed directly instead.

      If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode.

      This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.

      • Minimum Value: 0
      • Maximum Value: 1
      • Default Value: 0
      • Units: seconds
      Returns:
      VoltageOpenLoopRampPeriod
    • withTorqueOpenLoopRampPeriod

      public OpenLoopRampsConfigs withTorqueOpenLoopRampPeriod(double newTorqueOpenLoopRampPeriod)
      Modifies this configuration's TorqueOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.

      If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode.

      Since TorqueCurrent is directly proportional to acceleration, this ramp limits jerk instead of acceleration.

      • Minimum Value: 0
      • Maximum Value: 10
      • Default Value: 0
      • Units: seconds
      Parameters:
      newTorqueOpenLoopRampPeriod - Parameter to modify
      Returns:
      Itself
    • withTorqueOpenLoopRampPeriod

      public OpenLoopRampsConfigs withTorqueOpenLoopRampPeriod(Time newTorqueOpenLoopRampPeriod)
      Modifies this configuration's TorqueOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.

      If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode.

      Since TorqueCurrent is directly proportional to acceleration, this ramp limits jerk instead of acceleration.

      • Minimum Value: 0
      • Maximum Value: 10
      • Default Value: 0
      • Units: seconds
      Parameters:
      newTorqueOpenLoopRampPeriod - Parameter to modify
      Returns:
      Itself
    • getTorqueOpenLoopRampPeriodMeasure

      Helper method to get this configuration's TorqueOpenLoopRampPeriod parameter converted to a unit type. If not using the Java units library, TorqueOpenLoopRampPeriod can be accessed directly instead.

      If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode.

      Since TorqueCurrent is directly proportional to acceleration, this ramp limits jerk instead of acceleration.

      • Minimum Value: 0
      • Maximum Value: 10
      • Default Value: 0
      • Units: seconds
      Returns:
      TorqueOpenLoopRampPeriod
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • deserialize

      public StatusCode deserialize(String to_deserialize)
      Specified by:
      deserialize in interface ParentConfiguration
    • serialize

      public String serialize()
      Specified by:
      serialize in interface ISerializable