Do SRX Talons have some sort of control loop by default

When trying to tune one of our talons to a velocity setpoint… it seems the current smooths without any configuration to get to that point already.

Otherwise I would expect the current to be bouncing around trying to find the right setpoint.

Is there some sort of pid loop already enabled on the talon? Without users configuring? Basically I am trying to figure out how I can drive it to a certain velocity the fastest

Can you share your code? How are you driving the TalonSRX’s?

I don’t have the code on me now, but litterally just initializing the talon to a port, than setting the velocity control mode to a target velocity.

We have an encoder connected to it… thats all i do

There is no PID loop running that the user didn’t already configure on a Talon, but it sounds like you have previously configured a ramp on the SRX.

Ensure you call FactoryDefault on the talon before configuring them in code, to make sure they’re all at the same base point.
If you’re still having issues, send a screenshot of a self-test snapshot while the Talon isn’t doing what you expect.

If someone has previously configured PID settings… do they live in firmware or something?

All configs are persistent across power cycles and will remain so until they are configured again. This includes PID, open loop ramping, closed loop ramping, etc. An easy way to determine is if the method includes the word “config” in it (configFactoryDefault, configClosedLoopRamp, config_kP).

FactoryDefault will set all these configs to their default values.

1 Like

Tagging on this, it’s good practice to factory reset all controllers in code, and then reload configuration.

… or alternatively just use configAllSettings() which does this for you.

1 Like