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 f1814a031..b840e6602 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 @@ import org.photonvision.vision.pipe.CVPipe; 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;