Table of Contents

Class ClosedLoopRampsConfigs

Namespace
CTRE.Phoenix6.Configs
Assembly
Phoenix6.Hardware.dll

Configs that affect the closed-loop control of this motor controller.

Closed-loop ramp rates for the various control types.
public class ClosedLoopRampsConfigs : IParentConfiguration, ISerializable, ICloneable
Inheritance
ClosedLoopRampsConfigs
Implements
Inherited Members

Fields

DutyCycleClosedLoopRampPeriod

If non-zero, this determines how much time to ramp from 0% output to 100% during the closed-loop DutyCycle control modes.

If the goal is to limit acceleration, it is more useful to ramp the closed-loop setpoint instead of the output. This can be achieved using Motion Magic® controls.

The acceleration and current draw of the motor can also be better restricted using current limits instead of a ramp rate.
  • Minimum Value0
  • Maximum Value1
  • Default Value0
  • Unitsseconds
public double DutyCycleClosedLoopRampPeriod

Field Value

double

TorqueClosedLoopRampPeriod

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

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

If the goal is to limit acceleration or jerk, it is more useful to ramp the closed-loop setpoint instead of the output. This can be achieved using Motion Magic® controls.

The acceleration and current draw of the motor can also be better restricted using current limits instead of a ramp rate.
  • Minimum Value0
  • Maximum Value10
  • Default Value0
  • Unitsseconds
public double TorqueClosedLoopRampPeriod

Field Value

double

VoltageClosedLoopRampPeriod

If non-zero, this determines how much time to ramp from 0V output to 12V during the closed-loop Voltage control modes.

If the goal is to limit acceleration, it is more useful to ramp the closed-loop setpoint instead of the output. This can be achieved using Motion Magic® controls.

The acceleration and current draw of the motor can also be better restricted using current limits instead of a ramp rate.
  • Minimum Value0
  • Maximum Value1
  • Default Value0
  • Unitsseconds
public double VoltageClosedLoopRampPeriod

Field Value

double

Methods

Clone()

Creates a copy of this config group.

public ClosedLoopRampsConfigs Clone()

Returns

ClosedLoopRampsConfigs

Deserialize(string)

Deserialize string and put values into this object

public StatusCode Deserialize(string to_deserialize)

Parameters

to_deserialize string

String to deserialize

Returns

StatusCode

OK if deserialization is OK

Serialize()

Serialize this object into a string

public string Serialize()

Returns

string

This object's data serialized into a string

ToString()

Provides the string representation of this object

public override string ToString()

Returns

string

WithDutyCycleClosedLoopRampPeriod(double)

Modifies this configuration's DutyCycleClosedLoopRampPeriod 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 closed-loop DutyCycle control modes.

If the goal is to limit acceleration, it is more useful to ramp the closed-loop setpoint instead of the output. This can be achieved using Motion Magic® controls.

The acceleration and current draw of the motor can also be better restricted using current limits instead of a ramp rate.
  • Minimum Value0
  • Maximum Value1
  • Default Value0
  • Unitsseconds
public ClosedLoopRampsConfigs WithDutyCycleClosedLoopRampPeriod(double newDutyCycleClosedLoopRampPeriod)

Parameters

newDutyCycleClosedLoopRampPeriod double

Parameter to modify

Returns

ClosedLoopRampsConfigs

Itself

WithTorqueClosedLoopRampPeriod(double)

Modifies this configuration's TorqueClosedLoopRampPeriod 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 closed-loop TorqueCurrent control modes.

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

If the goal is to limit acceleration or jerk, it is more useful to ramp the closed-loop setpoint instead of the output. This can be achieved using Motion Magic® controls.

The acceleration and current draw of the motor can also be better restricted using current limits instead of a ramp rate.
  • Minimum Value0
  • Maximum Value10
  • Default Value0
  • Unitsseconds
public ClosedLoopRampsConfigs WithTorqueClosedLoopRampPeriod(double newTorqueClosedLoopRampPeriod)

Parameters

newTorqueClosedLoopRampPeriod double

Parameter to modify

Returns

ClosedLoopRampsConfigs

Itself

WithVoltageClosedLoopRampPeriod(double)

Modifies this configuration's VoltageClosedLoopRampPeriod 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 closed-loop Voltage control modes.

If the goal is to limit acceleration, it is more useful to ramp the closed-loop setpoint instead of the output. This can be achieved using Motion Magic® controls.

The acceleration and current draw of the motor can also be better restricted using current limits instead of a ramp rate.
  • Minimum Value0
  • Maximum Value1
  • Default Value0
  • Unitsseconds
public ClosedLoopRampsConfigs WithVoltageClosedLoopRampPeriod(double newVoltageClosedLoopRampPeriod)

Parameters

newVoltageClosedLoopRampPeriod double

Parameter to modify

Returns

ClosedLoopRampsConfigs

Itself