This commit is contained in:
legop3
2026-05-01 18:41:10 -04:00
parent 7180d3352d
commit fa981ef298
9 changed files with 53 additions and 12 deletions
+2
View File
@@ -16,6 +16,7 @@ export default function VipPanel() {
const {
session,
neatoLidar,
neatoLidarLines,
identifySession,
requestVerification,
requestPrivateRoverAccess,
@@ -80,6 +81,7 @@ export default function VipPanel() {
<VipNeatoCard
neato={session?.neato || null}
lidar={neatoLidar}
lidarLines={neatoLidarLines}
onStart={neatoStart}
onSendHome={neatoSendHome}
onLocate={neatoLocate}
+14
View File
@@ -58,6 +58,7 @@ function buildLidarDots(points = []) {
export default function VipNeatoCard({
neato,
lidar,
lidarLines,
onStart,
onSendHome,
onLocate,
@@ -84,6 +85,7 @@ export default function VipNeatoCard({
const robotError = normalizeState(neato?.telemetry?.robotError) || '--';
const robotAlert = normalizeState(neato?.telemetry?.robotAlert) || '--';
const lidarPoints = Array.isArray(lidar?.points) ? lidar.points : [];
const recentLidarLines = Array.isArray(lidarLines) ? lidarLines : [];
const lidarDots = buildLidarDots(lidarPoints);
const lidarStatus = normalizeState(lidar?.status) || '--';
const lidarDebug = lidar?.debug && typeof lidar.debug === 'object' ? lidar.debug : null;
@@ -288,6 +290,18 @@ export default function VipNeatoCard({
<div>Rotation no scan: {lidarStats?.rotationsWithoutScan ?? '--'}</div>
<div>Parseable payloads: {lidarStats?.parseablePayloads ?? '--'}</div>
<div>Point payloads: {lidarStats?.pointPayloads ?? '--'}</div>
<div className="mt-0.5 border-t border-slate-700 pt-0.5 text-slate-400">Raw ESP lines</div>
<div className="mt-0.25 max-h-40 overflow-y-auto rounded bg-black/30 px-0.5 py-0.5 text-[0.62rem] leading-tight text-slate-300">
{recentLidarLines.length ? (
recentLidarLines.map((entry, index) => (
<div key={`${index}-${entry.source || 'line'}`} className="break-all">
<span className="text-slate-500">[{entry.source || 'line'}]</span> {entry.line}
</div>
))
) : (
<div className="text-slate-500">No raw lines yet</div>
)}
</div>
</div>
) : null}
</div>