New to Phoenix#

Phoenix 6 currently offers the following features and will further expand.

Phoenix 6#

The following features are available for free in the Phoenix 6 API.

Comprehensive API#

  • Device signal getters return a StatusSignal object, expanding the functionality of status signals.

  • Control devices with an extensive list of flexible, strongly-typed control request objects.

Canonical Units#

  • Uses the popular Units library for C++ and standardizes on SI units.

  • Signals are documented with the unit type and the minimum and maximum values.

Improved Device Control#

  • New and improved control output types and closed-loop configuration.

  • Improved Motion Magic® with jerk control and support for modifying the profile on the fly.

  • Kalman-based algorithms to reduce latency while maintaining smooth data.

Enhanced Support for CAN FD#

  • Improved CAN FD framing further reduces any CAN bus utilization issues.

  • Larger CAN frames allow for the addition of more advanced features.

New Tuner X Self Tests#

  • Detailed and resolute self tests to improve debugging.

Free High-Fidelity Simulation#

  • Simulation closely follows the behavior of real hardware.

  • Write unit-tests for your robot code, and make sure the robot works before deploying.

Continuous Wrap Mode#

  • Takes the shortest path for continuous mechanisms.

  • Ideal for mechanisms such as Swerve Drive Steer.

Phoenix Pro#

Certain Phoenix 6 features require the device or CANivore to be Pro licensed. The list of features that require licensing is available below.

Field Oriented Control (FOC)#

  • ~15% increase in peak power.

  • Increased torque output; faster acceleration and higher speeds under load.

  • Greater efficiency; the motor draws less current for the same output power, increasing battery life.

  • Support for direct torque control.

Time Base Synchronization#

  • Using CANivore Timesync, signals from all devices are sampled and published to the CAN bus at the same time.

  • API can synchronously wait for data from multiple devices on a CANivore to arrive.

Fused CANcoder#

  • Fuse a CANcoder with the motor’s internal rotor, getting absolute data all the time while using the fast internal sensor for closed looping.

Feature Breakdown#

A full comparison of features between the free Phoenix 6 API and Phoenix Pro is shown below.

Feature

Phoenix 6

Phoenix Pro

Canonical Units

x

x

Improved Bus Utilization

x

x

CANcoder Always Absolutely

x

x

Kalman-based Velocity

x

x

Synchronous Wait for Data

x

x

System + CANivore Timestamps

x

x

Explicit Control Requests

x

x

Continuous Wrap Mode

x

x

Improved Self-Test Snapshot

x

x

Tuner X Improved Plotting

x

x

Time-Synced Signal Publishing

x

Field Oriented Control (FOC)

x

CAN Device Timestamps

x

Fused CANcoder + TalonFX

x