mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-15 17:12:59 -04:00
guh
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user