API Usage#

This section serves to provide basic API usage for the Phoenix Pro API. For full details, please visit the API docs (Java, C++).


While Phoenix Pro and Phoenix 5 devices may exist on the same CAN bus and same robot project, each robot project must use the API tied to the device firmware version. This means Phoenix 5 devices must use the Phoenix 5 API, and Phoenix Pro devices must use the Phoenix Pro API.

There are three major components to the Phoenix Pro API:


Configs represent a persistent configuration for a device. For example, closed-loop gains.

Control Requests

Control Requests represent the output of a device, typically a motor controller.


Signals represent data retrieved from a device. This can be velocity, position, yaw, pitch, roll, temperature, etc.

  • API Overview
    • Details a high level overview of what makes up the Phoenix Pro API.

  • Configuration
    • Describes configuring device configs via code.

  • Control Requests
    • Highlights using control requests to control the open and closed loop functionality of actuators such as the TalonFX.

  • Status Signals
    • Details using status signals to retrieve sensor data from devices.

  • Device Faults
    • Documents how faults are used to indicate device hardware status.

  • Enabling Actuators
    • Information on the FRC Lock safety feature and enabling actuators.

  • Actuator Limits
    • Documents how to retrieve and configure software and hardware actuator limits.

  • Device Specific
    • Describes some device specific functionality, such as the different TalonFX control requests and how they are used.

  • Migration Guide
    • A “cheat sheet” on migrating from Phoenix 5 to Phoenix Pro.