Arm PID SysID issue

We’re running an arm off of a PG71 w/ PG188 hall effect encoder on the end. The encoder we have plugged into the rio.

We’re trying to get feed forward values using the WPILIB SysID tool, but we can’t get the identification to run. When we run our own code we’re able to run the arm no problem…

When we’ve tried running the sysid with a sparkmax encoder in brushed mode we get a can error of “…timed out while waiting for Periodic Status 0”.

We also tried running it using a victor, and getting
“Warning at Main: Warning: Watchdog not fed withing 0.0050000s
ERROR -111 Error: Loop time of 0.005000s overrun PrintLoopOverrunMessage”

Any ideas on what’s going on or tips/tricks for tuning an arm using this setup?


To provide an update to our situation, we were working on our arm yesterday, we determined that our encoder wasnt working (although, at the end of the meeting, we found the magnet was half off so that could be why.)

Anyways, we are now using a AMT103 Encoder (prr 512, cpr 2048) on the end of our motor shaft, which plugged into our spark max which is still brushed mode since we are still using it with our PG71 775 motor. Our gear ratio is 366.36: 1, our We have verified everything electrically works via continuity and the rev hardware client.

However, when we try to run sysid with it, we find we can’t connect to network tables with it. We’ve restarted our computer, changed our NT ports to default for NT3 and NT4, usb connected to robot, connected via radio, changed samples per average to 8, upgraded from wpilib 2023.4.1 to 2023.4.2, changed the ip, and even downloaded MVSC 2022 community edition to try to compile it ourselves.

When we deploy the sysid code, the sysid console says we deployed successfully. HOWEVER, when we look at the rio log, it said the project failed because the encoder time measurement window is too low, it must between 1 - 100. (I don’t have screenshots at the moment) But there is no setting for encoder time measurement in generate for spark max brushed.

Other than that, we have no idea why network tables does not work. Sysid have worked for us in the past for getting pid values for our falcon 500 mk4 swerve drive running 2023.2.3. It also does show in sysid it connects when we deploy our own code, but not when we deploy sysid code with the same ip that we set for our own code. This is causing our programmer lead to short circuit so please help.

I have a screenshot of our setup. I can get a screenshot of the rio log monday.

As you can see, there is no encoder time measurement for the Spark Max Brushed.

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