Table of Contents

Class Diff_MotionMagicTorqueCurrentFOC_Position

Namespace
CTRE.Phoenix6.Controls.Compound
Assembly
Phoenix6.Hardware.dll

Requires Phoenix Pro and CANivore; Differential control with Motion MagicĀ® average target and position difference target using torque current control.

public sealed class Diff_MotionMagicTorqueCurrentFOC_Position : ControlRequest, ICloneable
Inheritance
Diff_MotionMagicTorqueCurrentFOC_Position
Implements
Inherited Members

Constructors

Diff_MotionMagicTorqueCurrentFOC_Position(MotionMagicTorqueCurrentFOC, PositionTorqueCurrentFOC)

Requires Phoenix Pro and CANivore; Differential control with Motion MagicĀ® average target and position difference target using torque current control.

Average MotionMagicTorqueCurrentFOC request of the mechanism. Differential PositionTorqueCurrentFOC request of the mechanism.
public Diff_MotionMagicTorqueCurrentFOC_Position(MotionMagicTorqueCurrentFOC AverageRequest, PositionTorqueCurrentFOC DifferentialRequest)

Parameters

AverageRequest MotionMagicTorqueCurrentFOC
DifferentialRequest PositionTorqueCurrentFOC

Fields

AverageRequest

Average MotionMagicTorqueCurrentFOC request of the mechanism.

public MotionMagicTorqueCurrentFOC AverageRequest

Field Value

MotionMagicTorqueCurrentFOC

DifferentialRequest

Differential PositionTorqueCurrentFOC request of the mechanism.

public PositionTorqueCurrentFOC DifferentialRequest

Field Value

PositionTorqueCurrentFOC

UpdateFreqHz

The frequency at which this control will update. This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency.

If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.
public double UpdateFreqHz

Field Value

double

Properties

Name

Name of this control request.

public string Name { get; }

Property Value

string

Methods

Clone()

Creates a copy of this control request.

public Diff_MotionMagicTorqueCurrentFOC_Position Clone()

Returns

Diff_MotionMagicTorqueCurrentFOC_Position

GetControlInfo()

Gets information about this control request.

public Dictionary<string, string> GetControlInfo()

Returns

Dictionary<string, string>

Dictionary of control parameter names and corresponding applied values

SendRequest(string, uint)

Sends this request out over CAN bus to the device for the device to apply.

public StatusCode SendRequest(string network, uint deviceHash)

Parameters

network string

Network to send request over

deviceHash uint

Device to send request to

Returns

StatusCode

Status of the send operation

ToString()

Provides the string representation of this object.

public override string ToString()

Returns

string

WithAverageRequest(MotionMagicTorqueCurrentFOC)

Modifies this Control Request's AverageRequest parameter and returns itself for method-chaining and easier to use request API.

Average MotionMagicTorqueCurrentFOC request of the mechanism.
public Diff_MotionMagicTorqueCurrentFOC_Position WithAverageRequest(MotionMagicTorqueCurrentFOC newAverageRequest)

Parameters

newAverageRequest MotionMagicTorqueCurrentFOC

Parameter to modify

Returns

Diff_MotionMagicTorqueCurrentFOC_Position

Itself

WithDifferentialRequest(PositionTorqueCurrentFOC)

Modifies this Control Request's DifferentialRequest parameter and returns itself for method-chaining and easier to use request API.

Differential PositionTorqueCurrentFOC request of the mechanism.
public Diff_MotionMagicTorqueCurrentFOC_Position WithDifferentialRequest(PositionTorqueCurrentFOC newDifferentialRequest)

Parameters

newDifferentialRequest PositionTorqueCurrentFOC

Parameter to modify

Returns

Diff_MotionMagicTorqueCurrentFOC_Position

Itself

WithUpdateFreqHz(double)

Sets the frequency at which this control will update. This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency.

If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.
public Diff_MotionMagicTorqueCurrentFOC_Position WithUpdateFreqHz(double newUpdateFreqHz)

Parameters

newUpdateFreqHz double

Parameter to modify

Returns

Diff_MotionMagicTorqueCurrentFOC_Position

Itself