API Structure¶
Phoenix 6 uses a separate, simpler set of namespaces and packages from Phoenix 5.
Note
For more information about the structure of Phoenix 6, see API Overview.
v5 |
// Phoenix 5 is in the com.ctre.phoenix.* packages
import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX;
import com.ctre.phoenix.motorcontrol.TalonFXConfiguration;
import com.ctre.phoenix.motorcontrol.TalonFXControlMode;
import com.ctre.phoenix.motorcontrol.TalonFXInvertType;
import com.ctre.phoenix.motorcontrol.TalonFXSimCollection;
import com.ctre.phoenix.sensors.CANCoderConfiguration;
import com.ctre.phoenix.sensors.WPI_CANCoder;
// WPI_* for WPILib integration
final WPI_TalonFX m_talonFX = new WPI_TalonFX(0);
final WPI_CANCoder m_cancoder = new WPI_CANCoder(0);
final TalonFXSimCollection m_talonFXSim = m_talonFX.getSimCollection();
final TalonFXConfiguration m_talonConfig = new TalonFXConfiguration();
final CANCoderConfiguration m_cancoderConfig = new CANCoderConfiguration();
TalonFXInvertType m_talonFXInverted = TalonFXInvertType.CounterClockwise;
m_talonFX.set(TalonFXControlMode.PercentOutput, 0);
// Phoenix 5 is in the ctre/phoenix headers
#include "ctre/phoenix/motorcontrol/can/WPI_TalonFX.h"
#include "ctre/phoenix/sensors/WPI_CANCoder.h"
// Phoenix 5 uses the ctre::phoenix namespace
using namespace ctre::phoenix;
// WPI_* for WPILib integration
motorcontrol::can::WPI_TalonFX m_talonFX{0};
sensors::WPI_CANCoder m_cancoder{0};
motorcontrol::TalonFXSimCollection& m_talonFXSim{m_talonFX.GetSimCollection()};
motorcontrol::TalonFXConfiguration m_talonConfig{};
sensors::CANCoderConfiguration m_cancoderConfig{};
motorcontrol::TalonFXInvertType m_talonFXInverted{motorcontrol::TalonFXInvertType::CounterClockwise};
m_talonFX.Set(motorcontrol::TalonFXControlMode::PercentOutput, 0);
|
v6 |
// Phoenix 6 is in the com.ctre.phoenix6.* packages
import com.ctre.phoenix6.configs.CANcoderConfiguration;
import com.ctre.phoenix6.configs.TalonFXConfiguration;
import com.ctre.phoenix6.controls.DutyCycleOut;
import com.ctre.phoenix6.hardware.CANcoder;
import com.ctre.phoenix6.hardware.TalonFX;
import com.ctre.phoenix6.signals.InvertedValue;
import com.ctre.phoenix6.sim.TalonFXSimState;
// All hardware classes already have WPILib integration
final TalonFX m_talonFX = new TalonFX(0);
final CANcoder m_cancoder = new CANcoder(0);
final TalonFXSimState m_talonFXSim = m_talonFX.getSimState();
final DutyCycleOut m_talonFXOut = new DutyCycleOut(0);
final TalonFXConfiguration m_talonFXConfig = new TalonFXConfiguration();
final CANcoderConfiguration m_cancoderConfig = new CANcoderConfiguration();
InvertedValue m_talonFXInverted = InvertedValue.CounterClockwise_Positive;
m_talonFX.setControl(m_talonFXOut);
// Phoenix 6 is in the ctre/phoenix6 headers
#include "ctre/phoenix6/CANcoder.hpp"
#include "ctre/phoenix6/TalonFX.hpp"
// Phoenix 6 uses the ctre::phoenix6 namespace
using namespace ctre::phoenix6;
// now types are organized cleanly by namespace
// All hardware classes already have WPILib integration
hardware::TalonFX m_talonFX{0};
hardware::CANcoder m_cancoder{0};
sim::TalonFXSimState& m_talonFXSim{m_talonFX.GetSimState()};
controls::DutyCycleOut m_talonFXOut{0};
configs::TalonFXConfiguration m_talonFXConfig{};
configs::CANcoderConfiguration m_cancoderConfig{};
signals::InvertedValue m_talonFXInverted{signals::InvertedValue::CounterClockwise_Positive};
m_talonFX.SetControl(m_talonFXOut);
|