diff --git a/photon-core/src/main/java/org/photonvision/vision/pipe/impl/CalculateFPSPipe.java b/photon-core/src/main/java/org/photonvision/vision/pipe/impl/CalculateFPSPipe.java index f1814a0316..b840e66028 100644 --- a/photon-core/src/main/java/org/photonvision/vision/pipe/impl/CalculateFPSPipe.java +++ b/photon-core/src/main/java/org/photonvision/vision/pipe/impl/CalculateFPSPipe.java @@ -24,12 +24,19 @@ public class CalculateFPSPipe extends CVPipe { private final LinearFilter fpsFilter = LinearFilter.movingAverage(20); - private final Timer timer = new Timer(); + + // roll my own Timer, since this is so trivial + double lastTime = -1; @Override protected Integer process(Void in) { - var dtSeconds = timer.get(); - timer.reset(); + if (lastTime < 0) { + lastTime = Timer.getFPGATimestamp(); + } + + var now = Timer.getFPGATimestamp(); + var dtSeconds = now - lastTime; + lastTime = now; // If < 1 uS between ticks, something is probably wrong int fps;