mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-15 17:12:59 -04:00
lidar adjustmints
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
|||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||||
<meta name="apple-mobile-web-app-title" content="Multi Roomba Rover" />
|
<meta name="apple-mobile-web-app-title" content="Multi Roomba Rover" />
|
||||||
<title>Multi Roomba Rover</title>
|
<title>Multi Roomba Rover</title>
|
||||||
<script type="module" crossorigin src="/assets/index-CyrLefed.js"></script>
|
<script type="module" crossorigin src="/assets/index-DW9KJfni.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-CGvUXLso.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-CGvUXLso.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const SEGMENT_ROOT = path.join(resolveDataDir(), 'replay-segments');
|
|||||||
const SEGMENT_SECONDS = Math.max(1, Number.parseInt(process.env.REPLAY_SEGMENT_SECONDS || '1', 10));
|
const SEGMENT_SECONDS = Math.max(1, Number.parseInt(process.env.REPLAY_SEGMENT_SECONDS || '1', 10));
|
||||||
const BUFFER_SECONDS = Math.max(20, Number.parseInt(process.env.REPLAY_BUFFER_SECONDS || '45', 10));
|
const BUFFER_SECONDS = Math.max(20, Number.parseInt(process.env.REPLAY_BUFFER_SECONDS || '45', 10));
|
||||||
const CLEANUP_INTERVAL_MS = 10_000;
|
const CLEANUP_INTERVAL_MS = 10_000;
|
||||||
const BUILD_DURATION_MS = Math.max(5000, Number.parseInt(process.env.REPLAY_DURATION_MS || '20000', 10));
|
const BUILD_DURATION_MS = Math.max(5000, Number.parseInt(process.env.REPLAY_DURATION_MS || '35000', 10));
|
||||||
const BUILD_GUARD_MS = Math.max(200, Number.parseInt(process.env.REPLAY_GUARD_MS || '1200', 10));
|
const BUILD_GUARD_MS = Math.max(200, Number.parseInt(process.env.REPLAY_GUARD_MS || '1200', 10));
|
||||||
const TARGET_FPS = Math.max(10, Number.parseInt(process.env.REPLAY_TARGET_FPS || '30', 10));
|
const TARGET_FPS = Math.max(10, Number.parseInt(process.env.REPLAY_TARGET_FPS || '30', 10));
|
||||||
const MAX_WIDTH = Math.max(320, Number.parseInt(process.env.REPLAY_MAX_WIDTH || '1280', 10));
|
const MAX_WIDTH = Math.max(320, Number.parseInt(process.env.REPLAY_MAX_WIDTH || '1280', 10));
|
||||||
|
|||||||
@@ -248,16 +248,18 @@ export default function VipNeatoCard({
|
|||||||
>
|
>
|
||||||
Lidar
|
Lidar
|
||||||
</button>
|
</button>
|
||||||
|
<div className="mt-0.25 text-center text-[0.68rem] text-slate-400">Front of robot</div>
|
||||||
<div className="mt-0.25 aspect-square rounded-md bg-slate-900 p-0.25">
|
<div className="mt-0.25 aspect-square rounded-md bg-slate-900 p-0.25">
|
||||||
{lidarDots ? (
|
{lidarDots ? (
|
||||||
<svg viewBox="0 0 220 220" className="h-full w-full">
|
<svg viewBox="0 0 220 220" className="h-full w-full">
|
||||||
<rect x="0" y="0" width="220" height="220" fill="#020617" />
|
<rect x="0" y="0" width="220" height="220" fill="#0f172a" />
|
||||||
<circle cx="110" cy="110" r="92" fill="none" stroke="#166534" strokeWidth="1" />
|
<circle cx="110" cy="110" r="23" fill="none" stroke="#1e293b" strokeWidth="1" />
|
||||||
<circle cx="110" cy="110" r="61" fill="none" stroke="#15803d" strokeWidth="1" />
|
<circle cx="110" cy="110" r="46" fill="none" stroke="#334155" strokeWidth="1" />
|
||||||
<circle cx="110" cy="110" r="31" fill="none" stroke="#22c55e" strokeWidth="1" />
|
<circle cx="110" cy="110" r="69" fill="none" stroke="#334155" strokeWidth="1" />
|
||||||
<line x1="110" y1="18" x2="110" y2="202" stroke="#166534" strokeWidth="1" />
|
<circle cx="110" cy="110" r="92" fill="none" stroke="#475569" strokeWidth="1" />
|
||||||
<line x1="18" y1="110" x2="202" y2="110" stroke="#166534" strokeWidth="1" />
|
<line x1="110" y1="18" x2="110" y2="202" stroke="#334155" strokeWidth="1" />
|
||||||
<circle cx="110" cy="110" r="4" fill="#4ade80" />
|
<line x1="18" y1="110" x2="202" y2="110" stroke="#334155" strokeWidth="1" />
|
||||||
|
<circle cx="110" cy="110" r="4" fill="#e2e8f0" />
|
||||||
{lidarPoints
|
{lidarPoints
|
||||||
.filter(
|
.filter(
|
||||||
(point) =>
|
(point) =>
|
||||||
@@ -269,11 +271,11 @@ export default function VipNeatoCard({
|
|||||||
const scaledRadius = normalized * 92;
|
const scaledRadius = normalized * 92;
|
||||||
const x = 110 + Math.cos(angleRad) * scaledRadius;
|
const x = 110 + Math.cos(angleRad) * scaledRadius;
|
||||||
const y = 110 + Math.sin(angleRad) * scaledRadius;
|
const y = 110 + Math.sin(angleRad) * scaledRadius;
|
||||||
return <circle key={`${point.angleDeg}-${point.distanceMm}-${point.intensity}`} cx={x} cy={y} r="1.6" fill="#86efac" />;
|
return <circle key={`${point.angleDeg}-${point.distanceMm}-${point.intensity}`} cx={x} cy={y} r="1.6" fill="#38bdf8" />;
|
||||||
})}
|
})}
|
||||||
</svg>
|
</svg>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex h-full items-center justify-center text-center text-xs text-emerald-300">
|
<div className="flex h-full items-center justify-center text-center text-xs text-slate-400">
|
||||||
Waiting for scan
|
Waiting for scan
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user