When our robot is in teleop mode, it will log a loop overrun message (typically 23-30ms instead of the 20ms limit) roughly once every minute or so.
We’re not doing any kind of significant calculations in teleopPeriodic. In fact, the only thing in the method is a call to run the command scheduler.
I’m not aware of any loops or blocking calls anywhere in the code.
- Is it normal to get occasional overruns like this? (Maybe the JVM GC is firing?)
- Is there a facility in the command scheduler that could help narrow down the overrun to a particular command task? (Assuming it’s the same task every time and not random like a GC)