This commit is contained in:
legop3
2025-11-16 15:33:51 -05:00
parent ce8222bf76
commit 5c061d5103
4 changed files with 32 additions and 22 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -5,8 +5,8 @@
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>webui</title>
<script type="module" crossorigin src="/assets/index-Be8zA8wd.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DkNFeqA8.css">
<script type="module" crossorigin src="/assets/index-CnYC7U8a.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CGtldhIa.css">
</head>
<body>
<div id="root"></div>
+25 -15
View File
@@ -50,22 +50,32 @@ export default function TelemetryPanel() {
) : !frame ? (
<p className="mt-1 text-[0.75rem] text-slate-400">Waiting for sensor frames</p>
) : (
<div className="flex gap-0.5 flex-wrap">
<Metric label="Charge" value={formatMetric(charge != null && capacity != null ? `${charge}/${capacity}` : null)} />
<Metric label="Charging" value={formatMetric(sensors.chargingState?.label)} />
<Metric label="OI mode" value={formatMetric(sensors.oiMode?.label)} />
<Metric label="Voltage" value={formatMetric(voltage)} />
<Metric label="Current" value={formatMetric(current)} />
</div>
<>
<div className="flex gap-0.5 flex-wrap">
<Metric label="Charge" value={formatMetric(charge != null && capacity != null ? `${charge}/${capacity}` : null)} />
<Metric label="Charging" value={formatMetric(sensors.chargingState?.label)} />
<Metric label="OI mode" value={formatMetric(sensors.oiMode?.label)} />
<Metric label="Voltage" value={formatMetric(voltage)} />
<Metric label="Current" value={formatMetric(current)} />
<Metric label="Left Encoder" value={formatMetric(sensors.encoderCountsLeft)}/>
<Metric label="Right Encoder" value={formatMetric(sensors.encoderCountsRight)}/>
</div>
<div className="flex gap-0.5 mt-1">
<CliffBar value={sensors.cliffLeftSignal} />
<CliffBar value={sensors.cliffFrontLeftSignal} />
<CliffBar value={sensors.cliffFrontRightSignal} />
<CliffBar value={sensors.cliffRightSignal} />
</div>
</>
)}
<div className="flex gap-0.5 mt-1">
<CliffBar value={sensors.cliffLeftSignal} />
<CliffBar value={sensors.cliffFrontLeftSignal} />
<CliffBar value={sensors.cliffFrontRightSignal} />
<CliffBar value={sensors.cliffRightSignal} />
</div>
{rawSnippet && (
<pre className="mt-1 overflow-scroll p-1 text-xs text-lime-300">
<pre className="mt-1 text-wrap p-1 text-xs text-lime-300">
{rawSnippet}
</pre>
)}
@@ -111,7 +121,7 @@ function CliffBar({ value }) {
const pct = value == null ? 0 : Math.max(0, Math.min(100, (value / 4095) * 100));
const height = `${pct}%`;
return (
<div className="w-1/4 h-6 bg-gray-800 rounded-sm overflow-hidden">
<div className="w-1/4 h-6 bg-gray-700 rounded-sm overflow-hidden">
<div className="w-full bg-lime-400" style={{ height }} />
</div>
);