ERROR  -3  CTR: CAN frame not received/too-stale.  Talon FX 0 GetSelectedSensorVelocity 

Hey guys, it’s my teams first year trying to implement swerve drive and I’ve run into wall. No matter what I do I can’t seem to be able to figure out what is causing the error:
(ERROR  -3  CTR: CAN frame not received/too-stale.  Talon FX 0 GetSelectedSensorVelocity )
I’m 99% sure that it is not due to anything with wiring. We are trying to do swerve with Falcon 500’s with the TalonFX’s and Pg71 motors for turning.
Any help is appreciated!

Was it ever working?
What changed since the ?
Can you do a self diagnostic of talonfx 0 in Phoenix tuner?

My thoughts:
CanId 0 is normally assigned to your PDP. Conflicting IDs. If so, go to Phoenix tuner and reassign an unused I’d.

We had error -3 last year on our swerve as well. In the end it was a wiring problem with some of our devices. I would validate once again that you are a complete loop with termination correctly on the can bus.

We experienced this issue recently as well. Short list of things to check:

  • CAN ID is not at the default setting of 0. Set it using the Phoenix Tuner
  • Verify your Talon FX has the latest firmware revision - flash with Phoenix Tuner if out of date (this was our problem after replacing a module)
  • If the above items don’t resolve your problem, verify CAN wiring (create small loop and expand)

We’ve never tried doing this before and I will have to check the Can Id’s when I go back in tomorrow.

I did just update to the latest version for the Talons, so I don’t think that is a problem.

So I have ruled out it being a problem of wiring at all, but I’m pretty sure I did find the culprit.

public SwerveModule(int driveMotorChannel, int turningMotorChannel, int aChannel, int bChannel) {

m_driveMotor = new WPI_TalonFX(driveMotorChannel);

m_turningMotor = new CANSparkMax(turningMotorChannel, MotorType.kBrushed);

m_Encoder = new Encoder(aChannel, bChannel); 

m_driveEncoder = new WPI_TalonFX(0);      (I believe it is this line)

When hovering over the “0” in the parenthesis after WPI_TalonFX(0) it gives me"

Constructor for motor controller

  • Parameters:
    • deviceNumber device ID of motor controller

Any ideas from this? Thank you guys again for the help

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.