TalonSRX CAN Receive Timeout

Hi all,

We’ve recently been trying to implement motion profiling with the Talon SRX’s capabilities. After following the SRX and Motion Profiling manuals, we wrote some code to follow a generated profile, but it failed with a CAN Receive Timeout which threw an exception where we called getMotionProfileStatus on the CANTalon object.

Figuring part of our setup was wrong, we took a few steps back and tried just loading the java Motion Profiling example from CTRE: https://github.com/CrossTheRoadElec/FRC-Examples/tree/master/JAVA_MotionProfileExample

We changed 2 things in Robot.java - the Talon used in the project was declared as 2 since that was the CAN id of our Talon SRX wired to our CIMCoder, and changed the feedback device to quadrature encoder instead of magnetic. We also used our own motion profile.

We loaded it up, and got the same problem in the same place. a CAN Receive Timeout throwing an exception on the line where getMotionProfileStatus is called: https://github.com/CrossTheRoadElec/FRC-Examples/blob/master/JAVA_MotionProfileExample/src/org/usfirst/frc/team3539/robot/MotionProfileExample.java#L142

This leads me to believe that there is something wrong with our wiring (or rather, something other than the loaded robot code), but we can read encoder values fine from the Talon through the roborio web interface - I also wasn’t sure why there wasn’t anywhere to put in the F gain in the example from CTRE, but we did have it in our code so I figured that wasn’t the cause of the error.

We’re going to investigate further tonight, but I was wondering if anyone has seen this before, or has any ideas of things to try.


Aaaand I just thought about firmware. Checking the Motion profiling PDF, it looks like we require firmware 2.0 or above. I am not sure what our firmware version is, so I will check that tonight. :o

If you have seen or experienced this before and it wasn’t a firmware issue, please do feel free to still post :slight_smile: