summaryrefslogtreecommitdiff
path: root/web-timeplot/src/plot/plot-buffer.js
diff options
context:
space:
mode:
authorThomas Grothe <grothe.tr@gmail.com>2026-04-30 00:53:13 -0400
committerThomas Grothe <grothe.tr@gmail.com>2026-04-30 00:53:13 -0400
commit73d75835e18a33c7f6c1b09bbcef93b16a7a9bfa (patch)
treee079c6c45416333e29cf900831c07619a87d5c39 /web-timeplot/src/plot/plot-buffer.js
parenta1c95e72bea26f554eb05916d6fc584927367159 (diff)
redo timeplot web
Diffstat (limited to 'web-timeplot/src/plot/plot-buffer.js')
-rw-r--r--web-timeplot/src/plot/plot-buffer.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/web-timeplot/src/plot/plot-buffer.js b/web-timeplot/src/plot/plot-buffer.js
new file mode 100644
index 0000000..b13cdd8
--- /dev/null
+++ b/web-timeplot/src/plot/plot-buffer.js
@@ -0,0 +1,22 @@
+export class PlotBuffer {
+ constructor(maxPoints = 1600) {
+ this.maxPoints = maxPoints;
+ this.points = [];
+ }
+
+ addPoint(point) {
+ this.points.push(point);
+ if (this.points.length > this.maxPoints) {
+ this.points.splice(0, this.points.length - this.maxPoints);
+ }
+ }
+
+ clear() {
+ this.points = [];
+ }
+
+ getVisiblePoints(currentPlotTimeMs, windowDurationMs) {
+ const minTime = currentPlotTimeMs - windowDurationMs;
+ return this.points.filter((point) => point.timeMs >= minTime && point.timeMs <= currentPlotTimeMs);
+ }
+}