From a4295275ed5479c164276076d5fc51a69dd3fc49 Mon Sep 17 00:00:00 2001 From: Gold856 <117957790+Gold856@users.noreply.github.com> Date: Sun, 13 Apr 2025 18:08:00 -0400 Subject: [PATCH] Use Timer object to calculate FPS --- .../vision/pipe/impl/CalculateFPSPipe.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) 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 b840e6602..f1814a031 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,19 +24,12 @@ import org.photonvision.vision.pipe.CVPipe; public class CalculateFPSPipe extends CVPipe { private final LinearFilter fpsFilter = LinearFilter.movingAverage(20); - - // roll my own Timer, since this is so trivial - double lastTime = -1; + private final Timer timer = new Timer(); @Override protected Integer process(Void in) { - if (lastTime < 0) { - lastTime = Timer.getFPGATimestamp(); - } - - var now = Timer.getFPGATimestamp(); - var dtSeconds = now - lastTime; - lastTime = now; + var dtSeconds = timer.get(); + timer.reset(); // If < 1 uS between ticks, something is probably wrong int fps;