Using Phoenix outside of FRC#
Users in FRC can skip this article.
Installation instructions can be found in Installing Phoenix 6. The instructions on this site can be utilized for both FRC and non-FRC.
Device firmware upgrading is handled by the Phoenix Tuner X configuration client.
When utilizing the TalonFX motor controller, the user must continuously feed an enable signal to the device. The device will disable if the enable signal has not been fed within the specified timeout period.
It’s recommended for
feedEnable() to be called synchronously with your motor update loop. The timeout should be larger than than the update loop rate.
// enable the motor controller for the next 100ms Unmanaged.feedEnable(100);
// enable the motor controller for the next 100ms ctre::phoenix::unmanaged::FeedEnable(100);
from phoenix6 import unmanaged // enable the motor controller for the next 100ms unmanaged.feed_enable(100)
// enable the motor controller for the next 100ms UnmanagedNative.FeedEnable(0.100);
The same Phoenix 6 examples can be used as a reference outside of FRC. The function calls are identical, although the framework that is used to call them may be different and specialized for FRC.
Non FRC Projects#
We recommend that users use the standard language projects to use our library outside of FRC. For example, a typical Python project will have a
main.py that utilizes the
phoenix6 library that’s installed with
A typical C# project is a Visual Studio project that includes our libraries via nuget.
For C++, an example utilizing CMake is provided here.