TalonFX

Getting Started

The TalonFX is the motor controller used to control Kraken X60's and Falcon 500's

If you are using Falcon 500 v2 (which are effectively discontinued) make sure that you apply the loctite fix described here! https://content.vexrobotics.com/vexpro/Falcon/217-6515-753-Falcon500-V2-Upgrade.pdf

They are commonly used as drive motors since they can be more powerful and efficient than REV NEO's.

import com.ctre.phoenix6.hardware.TalonFX;
import com.ctre.phoenix6.controls.DutyCycleOut;

TalonFX motor = new TalonFX(10);
motor.setControl(new DutyCycleOut(1.0)); // 100% full speed positive.

Documentation

This device can be upgraded via CTRE Tuner X.

Pay close attention to the LED status code to help you debug this at any time. Remember that any settings changed in Tuner X for the Talon FX are overwritten on startup of YAGSL.

YAGSL Checklist

Module example configuration

The following example is one for a module configuration file, e.g. frontleft.json, frontright.json, backleft.json, and backright.json.

{
  "drive": {
    "type": ,
    "id": ,
    "canbus": 
  },
  "angle": {
    "type": ,
    "id": ,
    "canbus": 
  },
  "encoder": {
    "type": "cancoder",
    "id": 11,
    "canbus": null
  },
  "inverted": {
    "drive": ,
    "angle": 
  },
  "absoluteEncoderOffset": -18.281,
  "location": {
    "front": -12,
    "left": -12
  }
}

Example pidfproperties.json

{
  "drive": {
    "p": ,
    "i": ,
    "d": ,
    "f": ,
    "iz": 0
  },
  "angle": {
    "p": ,
    "i": ,
    "d": ,
    "f": ,
    "iz": 0
  }
}

Example physicalproperties.json

{
  "conversionFactor": {
    "drive": ,
    "angle": 
  },
  "currentLimit": {
    "drive": ,
    "angle": 
  },
  "rampRate": {
    "drive": ,
    "angle": 
  },
  "wheelGripCoefficientOfFriction": 1.19,
  "optimalVoltage": 12
}

Last updated