|
|
@@ -1641,6 +1641,8 @@ async function initBallTracking() {
|
|
|
const ballTrackingMode = document.getElementById('ballTrackingMode');
|
|
|
const ballTrackingSpread = document.getElementById('ballTrackingSpread');
|
|
|
const ballTrackingSpreadValue = document.getElementById('ballTrackingSpreadValue');
|
|
|
+ const ballTrackingLookback = document.getElementById('ballTrackingLookback');
|
|
|
+ const ballTrackingLookbackValue = document.getElementById('ballTrackingLookbackValue');
|
|
|
const ballTrackingBrightness = document.getElementById('ballTrackingBrightness');
|
|
|
const ballTrackingBrightnessValue = document.getElementById('ballTrackingBrightnessValue');
|
|
|
const ballTrackingColor = document.getElementById('ballTrackingColor');
|
|
|
@@ -1656,6 +1658,8 @@ async function initBallTracking() {
|
|
|
ballTrackingMode.value = data.mode;
|
|
|
ballTrackingSpread.value = data.config.spread;
|
|
|
ballTrackingSpreadValue.textContent = `${data.config.spread} LED${data.config.spread > 1 ? 's' : ''}`;
|
|
|
+ ballTrackingLookback.value = data.config.lookback || 0;
|
|
|
+ ballTrackingLookbackValue.textContent = `${data.config.lookback || 0} coords`;
|
|
|
ballTrackingBrightness.value = data.config.brightness;
|
|
|
ballTrackingBrightnessValue.textContent = `${data.config.brightness}%`;
|
|
|
ballTrackingColor.value = data.config.color;
|
|
|
@@ -1684,6 +1688,11 @@ async function initBallTracking() {
|
|
|
ballTrackingSpreadValue.textContent = `${value} LED${value > 1 ? 's' : ''}`;
|
|
|
});
|
|
|
|
|
|
+ ballTrackingLookback.addEventListener('input', () => {
|
|
|
+ const value = parseInt(ballTrackingLookback.value);
|
|
|
+ ballTrackingLookbackValue.textContent = `${value} coords`;
|
|
|
+ });
|
|
|
+
|
|
|
ballTrackingBrightness.addEventListener('input', () => {
|
|
|
const value = parseInt(ballTrackingBrightness.value);
|
|
|
ballTrackingBrightnessValue.textContent = `${value}%`;
|
|
|
@@ -1700,7 +1709,7 @@ async function initBallTracking() {
|
|
|
enabled: ballTrackingEnabled.checked,
|
|
|
mode: ballTrackingMode.value,
|
|
|
spread: parseInt(ballTrackingSpread.value),
|
|
|
- lookback: 0, // Lookback disabled - always use instant tracking
|
|
|
+ lookback: parseInt(ballTrackingLookback.value),
|
|
|
brightness: parseInt(ballTrackingBrightness.value),
|
|
|
color: ballTrackingColor.value
|
|
|
};
|