Phoenix Pro is the next evolution in software and firmware for supported CTR Electronics. This software solution provides major improvements and feature additions compared to the older Phoenix 5 Framework.
This software update includes
- Canonical units (Volts, Amperes, rotations, RPS, Hertz, gains) for all routines and graphical interfaces - no more talon units
- Verbosely named control request in API means discovering all of the control options much easier
- Elimination of the numerous overloads for set() routines – this allows for clean proliferation of control methods for motor control.
- All get-API calls return a comprehensive object with value, units, latency, timestamp, error condition.
- API provides system-level and CANivore-level timestamps and latencies
- Automatic time synchronization across supported CAN devices (when using CANivore)
- Co-developed with Tuner X: Allowing for improved self-tests, auto-download firmware CRFs, batch-flashing devices, etc.
- Kalman based algorithms for velocity smoothing (TalonFX and CANcoder)
- No more configured initialization strategy, sensors are absolute by default (TalonFX and CANcoder).
- Supports multiple motor control output types: duty-cycle, voltage, current-amps
- Supports several motor control modes: Open-Loop, Position, Velocity, Motion-Magic
- Motor control includes Torque-Current control, which uses Field Oriented Control (FOC). Increases peak power ~15%
- Voltage and Duty-Cycle control includes enable/disable FOC (also increases peak power when enabled).
- Motion-Magic now includes configuration for Jerk (rotations/s^3) increasing the resolution for S-Curves.
- Automatic prevention of integral windup in firmware closed looping (IZone no longer needed)
- Changelog and API documentation generation has been streamlined with new internal processes that make documenting new features much more expedient.
- Tighter integration with WPILIB when using FRC distributions (no more seperate WPI_ classes)
- Latest high-fidelity simulation features for desktop-debugging
- CANFD-centric frame changes which improve time determinism for fetched signals (when used with CANivore).
- Improved namespaces for quickly finding relevent classes - improving IntelliSense experience
- API is modernized for supported languages: C++/Java.
Supported Phoenix Pro Devices
Phoenix PRO devices require hardware licensing to use the modern Phoenix Pro API and firmware.
Check out the details in the Phoenix Pro Documentation.
Using Phoenix PRO Simulation does not require licensing.
Note that the free-to-use Phoenix 5 API and firmware is still available.
A single device license can be purchased and downloaded to each device. Each purchase licenses exactly one CAN Phoenix Pro CAN bus device. This may be prefered for systems with a small number of Phoenix Pro devices, or when used in a benchtop application.
This license enables Pro features when used on the roboRIO CAN bus or the CTRE CANivore CAN bus.
After purchasing, you will receive an email notification when your licenses are ready to use.
After your licenses are ready, use Phoenix Tuner X to activate and install a license onto each of your devices.
Whole Bus (CANivore):
This license is downloaded into the CANivore, and enables Phoenix Pro features on all of the CAN-connected devices. This means that every compatible device that is attached to a licensed CANivore via CAN bus will be licensed to use the Phoenix Pro API. This license type is advantageous if there are a large number of devices. Additionally this elimnates the need to license additional devices in the event of a replacement.
Each purchase provides two CANivore licenses.
To license your CANivores, use Phoenix Tuner X.
After purchasing, you will receive an email notification when your licenses are ready to use. After your licenses are ready, use Phoenix Tuner X to activate the CANivore and install its license. The supported CAN devices that are connected to the CANivore's CAN bus will be Phoenix Pro enabled so long as they stay connected to the CANivore.
Phoenix Pro specific documentation can be found below:
Phoenix Pro Documentation: https://pro.docs.ctr-electronics.com/