
Phoenix Documentation CTRE Sep 08, 2021 CONTENTS 1 Blog Entries 3 2 Follow these instructions in order!5 2.1 FRC Blogs................................................5 2.2 Phoenix Software Reference Manual.................................. 27 2.3 Primer: CTRE CAN Devices...................................... 27 2.4 Primer: What is Phoenix Software.................................... 28 2.5 Do I need to install any of this?..................................... 31 2.6 Prepare your workstation computer................................... 32 2.7 FRC: VS Code C++/Java......................................... 43 2.8 FRC: Prepare NI roboRIO........................................ 58 2.9 Prepare Linux Robot Controller..................................... 69 2.10 Initial Hardware Testing......................................... 79 2.11 Bring Up: CAN Bus........................................... 80 2.12 Bring Up: PCM............................................. 91 2.13 Bring Up: PDP.............................................. 94 2.14 Bring Up: Pigeon IMU.......................................... 96 2.15 Bring Up: CANifier........................................... 102 2.16 Bring Up: CANCoder.......................................... 104 2.17 Bring Up: Talon FX/SRX and Victor SPX................................ 108 2.18 Bring Up: Talon FX/SRX Sensors.................................... 132 2.19 Bring Up: Remote Sensors........................................ 156 2.20 Bring Up: Differential Sensors...................................... 160 2.21 WPI/NI Software Integration....................................... 162 2.22 Motor Controller Closed Loop...................................... 164 2.23 Faults................................................... 188 2.24 Common Device API........................................... 190 2.25 Support.................................................. 194 2.26 Troubleshooting and Frequently Asked Questions............................ 195 2.27 Errata................................................... 201 2.28 Software Release Notes......................................... 205 2.29 Additional Resources........................................... 206 i ii Phoenix Documentation Below is the latest documentation for CTR-Electronics Phoenix software framework. This includes. • Class library for Talon SRX, Talon FX, Victor SPX, CANCoder, CANifier and Pigeon-IMU (C++/Java/LabVIEW for FRC, C# for HERO) • Phoenix Tuner Graphical Interface - provides configuration options, diagnostics, control and plotting. • Phoenix Diagnostic Server - install on to roboRIO for Tuner, and to perform HTTP API requests for diagnostic information. CONTENTS 1 Phoenix Documentation 2 CONTENTS CHAPTER ONE BLOG ENTRIES 3 Phoenix Documentation 4 Chapter 1. Blog Entries CHAPTER TWO FOLLOW THESE INSTRUCTIONS IN ORDER! 2.1 FRC Blogs 2.1.1 BLOG: FRC 2021 Kickoff Hello FRC Community! We’ve just released our 2021 kickoff release of Phoenix Framework (5.19.4.1). The Phoenix Windows installer and zips for macOS and Linux are now available. You can find the latest firmware CRFs at each product page (the installer also installs them). The new features included in this season’s release are listed below. Simulation Support We’ve spent our offseason investing in a new suite of simulation features designed to allow effective development without requiring access to hardware. This includes: • Simulation of device-level features, such as Motion Magic • Full feature support of Phoenix Tuner (including Plotter, Self Test Snapshot, Control, and Configs) • Support for simulated device-to-device features, such as follower mode and remote sensors/limit-switches • Integration with WPILib’s simulation GUI when using WPI_* classes • Supported Devices: Talon SRX, Victor SPX (future releases will include more devices) • Supported Operating Systems: Windows, Linux, macOS • Supported Languages: Java, C++ If you encounter any limitations with Talon SRX or Victor SPX simulation, please contact support@ctr- electronics.com or file an issue tracker here. 5 Phoenix Documentation Phoenix Simulation Examples For teams that want to start leveraging simulation features right now, the basic steps are: 1. Check out one of our examples that supports simulation (such as the Motion Magic example). 2. Open the example in Visual Studio Code and run in simulation. 3. Open Phoenix Tuner and set the Diagnostic Server Address to localhost. Simulated devices will appear in Phoenix Tuner in a few seconds. 4. Develop as normal. Tip: We invite teams to leverage their preferred physics simulators by utilizing the SimCollection functions in Talon SRX and Victor SPX as seen here. Note: Simulating non-FRC applications (not using WPI_* classes) will require calling Unmanaged. feedEnable(100); to enable simulated actuators. Additional documentation for simulation will be available in the future. Online API Documentation The online API documentation has been updated for 2021. C++ documentation can be found here. Java documentation can be found here. Java teams should note that the documentation jar is installed locally after running our installer. LabVIEW No new functionality has been added to Phoenix for LabVIEW users this season. Release Testing Observations During our release testing process, we observed the following limitations: roboRIO 2021 v3.1 Image We observed that we could not reliably image our roboRIOs with the 2021 v3.1 image. As a result, all of our testing has been done using the 2021 v3.0 image. 6 Chapter 2. Follow these instructions in order! Phoenix Documentation LabVIEW Deploy Limitation We have noticed an intermittent issue that corrupts the Phoenix library files during LabVIEW deploy. This is reproduced by the following procedure: 1. Soft deploy your application (clicking the white arrow in Main.vi or <Ctrl>+R) 2. Hard deploy your application (right-click “FRC Robot Boot-up Deployment”, Run As Startup) This dialog pops up when the issue occurs: To solve this issue, hard deploy your application again. Back-breaking API changes In anticipation of future releases that support custom unit scaling, several of the Java and C++ routines have been updated to use doubles instead of ints. We have also removed routines that have been deprecated for multiple seasons. Removed motor controller routines: • set(ControlMode, double, double) • enableHeadingHold(bool) • selectDemandType(bool) • getActiveTrajectoryHeading() Removed PigeonIMU routine: • configTemperatureCompensationEnable(bool, int) 2.1. FRC Blogs 7 Phoenix Documentation Firmware There are some new firmware files for this season. However, they are not required for general functionality. A maintenance release (v21.0) for Falcon 500 (Talon FX), Talon SRX, and Victor SPX is available at each product page (the installer also installs them). Good luck, and stay safe! - The CTRE Engineering Team 2.1.2 BLOG: Falcon 500 / Talon FX Critical Update Hello FRC Community! We’ve just released Phoenix API 5.18.2.1 to address a reported issue with Falcon 500 (Talon FX). This release requires the new Talon FX firmware (20.3.0.2). The Phoenix installer and non-Windows binary kit is now available. You can also find the latest firmware CRFs at each product page (the installer also installs them). New Talon FX Firmware 20.3.0.2 We received a small number of Falcon RMAs with a unique failure mode. After failure analysis, we found a circumstance where the tank capacitors inside the Talon FX can be damaged if certain conditions are met. The conditions require the following (for several seconds): 1. Disconnecting Falcon from battery (open breaker event or disconnect power harness from battery) 2. Back-driving the Falcon’s rotor above 3500 RPM (which will power up the electronics within the Falcon) 3. At least one of the following. A. Commanding Falcon to drive motor while continuing to back drive Falcon above 3500 RPM. B. Commanding neutral-brake while continuing to back drive Falcon above 3500 RPM. These conditions can also be harmful with brushed motor controllers (3a in particular), but what makes Falcon unique is that: • it is a far more efficient generator than previous generation FRC controllers • condition 3.B. is unique to Falcon since it conditionally modulates neutral-brake during high-current events, which can exacerbate the issue. The firmware update referenced above addresses this by detecting when these failure conditions occur). Motor output/brake will be disabled in this state, until the Falcon is properly powered again (breaker closes or supply brought back in circuit). When this occurs, Talon FX will blink a fault pattern (similar to thermal limit but green instead of orange). Tip: You can still back-drive your robots when they are powered off (pushing an unpowered robot from one location to another is common). Manually back-driving does not reproduce this failure as this does not create enough energy, nor does it allow robot to be enabled for motor drive. There will be two new faults to detect this condition: • Supply Unstable Voltage - reflects the motor controller’s inability to stabilize voltage due to the battery not being in circuit. • Supply Overvoltage - reflects the motor controller’s inability to prevent voltage from escalating well above the rated max voltage due to regenerative braking while battery is not in circuit. 8 Chapter 2. Follow these instructions in order! Phoenix Documentation Both are accessible via the fault API and Tuner Self-test Snapshot. Note: Faults do not need to be cleared to resume normal functionality (faults are
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages211 Page
-
File Size-