Java Simulation: WPI_TalonSRX/WPI_VictorSPX Null Pointer Exception¶
When running simulation, the following error can occur:
Error at com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX$OnPeriodicCallback.run(WPI_TalonSRX.java:208): Unhandled exception: java.lang.NullPointerException at com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX$OnPeriodicCallback.run(WPI_TalonSRX.java:208) at edu.wpi.first.hal.HAL.simPeriodicBefore(HAL.java:41) at edu.wpi.first.wpilibj.IterativeRobotBase.loopFunc(IterativeRobotBase.java:281) at edu.wpi.first.wpilibj.TimedRobot.startCompetition(TimedRobot.java:117) at edu.wpi.first.wpilibj.RobotBase.runRobot(RobotBase.java:335) at edu.wpi.first.wpilibj.RobotBase.lambda$startRobot$0(RobotBase.java:387) at java.base/java.lang.Thread.run(Thread.java:834)
This occurs when multiple WPI_TalonSRX objects have been created with the same device ID or multiple WPI_VictorSPX objects have been created with the same device ID. Find and remove the extra objects from your java code.
HERO firmware compatibility with firmware 4.X¶
The HERO robot controller still requires v11.X firmware in the motor controllers to function correctly. This will addressed in a future release (which updates HERO).
THe HERO robot controller also still requires v0.41 firmware for Pigeon IMU. This will addressed in a future release (which updates HERO).
No S-Curve VI in LabVIEW¶
Pass ‘412’ as the parameter, and the desired S-Curve strength [0,8] as the value.
A value of 0 represents no S-Curving (trapezoidal profiling).
To set the S-Curve strength in LabVIEW, the following LV snippet can be used.
Drag and drop the bottom image into your LabVIEW Block Diagram.
Stator Current Limit Threshold Configs¶
The trigger threshold current and time are not honored in 20.0.0 firmware. Stator current limit will trigger when the measured current exceeds the limit (within 1ms).
CANCoder not a remote sensor source¶
CANCoder is not available as a remote sensor source for Talon FX/SRX and Victor SPX. This will be addressed in a future update.
This was added in Phoenix v5.17.6. Motor Controller must be updated to 20.1 or newer.
Remote Sensors Not Working with Talon FX¶
The remote sensor feature does not work with Talon FX.
This is fixed in firmware version 20.1
Kickoff Temporary Diagnostic Server may not work¶
The kickoff version of Tuner and temporary diagnostic server has a known issue where CAN bus devices may not show up. This has been fixed in version 188.8.131.52 of Tuner. This can be quickly checked by looking at the robot controller install tab of Tuner. If there is no purple “Restart LabVIEW Robot Code” button, Tuner is not up to date and may have this issue. Your version of Tuner should look like the following:
LabVIEW 2020 Deploys failing¶
During our system level validation, we observed a circumstance where LabVIEW permanent deploys would fail (“Connection disconnected by peer”). We are currently investigating this, but we will tentatively report the following suggestions until we complete our assessment.
When deploying LabVIEW, we recommend disconnecting Phoenix Tuner to ensure it doesn’t influence LabVIEW’s deploy process.
If deploys are consistently failing, the running LabVIEW application can be cleared via SSH with
/usr/local/frc/bin/frcKillRobot.sh -t -ror press the UnDeploy LabVIEW/Diag Server button in Tuner - Robot Controller Install. This should bring the roboRIO into an empty state whereby deploy can be re-attempted.
Alternatively roboRIO could also be reset using DriverStation “Reboot roboRIO” button. This is effective if roboRIO is running a temporary deployed LV application or temporary diagnostic server.
This has been resolved in Phoenix v5.17.4.
TalonFX Current Reporting Status Frame Not Available¶
The Status Frame that TalonFX uses when reporting its supply and stator current is not available under the StatusFrame or StatusFrameEnhanced enum. The enum will be modified to include this frame in a future update. Currently, the following can be done to modify the Current Measurement Status Frame period:
_fx.setStatusFramePeriod(0x1240, periodMs); //0x1240 is used to identify the Current Status Frame
This has been resolved in Phoenix v5.17.6.
Talon FX Thermal Limits Low when using PWM Out-of-the-Box¶
Talon FX’s ship firmware has lower thermal limits that current firmware. If using the Talon FX with PWM control, users may still want to update firmware over CAN to take advantage of the higher thermal limits.
Talon FX does not support Sensor Coefficient¶
Configuring a sensor coefficient on Talon FX does not do anything.
This has been resolved in firmware version 184.108.40.206
Talon FX Continuous-Deadbands all the time¶
Talon FX will always follow a continuous deadband regardless of the mode it’s in. This results in double-deadbanding for a follower, which is seen by the applied output of the follower being slightly different than the master. Read more about Continuous Deadbanding inside Bring Up: Talon FX/SRX and Victor SPX.
This has been resolved in firmware version 220.127.116.11