import type { Hardware } from '@/shared/contracts/hardware.ts'; import { formatBytes } from '@/client/ui/format.ts'; export function HardwareDetails({ hardware, radioStack, analysisStack, }: { hardware?: Hardware | null; radioStack?: number; analysisStack?: number; }) { return (
CPU bars show non-idle task time over one second. Temperature is measured inside the chip.
{hardware ? ( <>| Memory | Free | Minimum | Largest block |
|---|---|---|---|
| {label} | {formatBytes(memory.free)} | {formatBytes(memory.minimumFree)} | {formatBytes(memory.largestBlock)} |
Stack headroom: radio {formatBytes(radioStack)}, analysis {formatBytes(analysisStack)}, sampler {formatBytes(hardware.samplerStackFree)}. These are minima since boot.
Last sampling cost: {(hardware.sampleCostUs / 1000).toFixed(2)} ms.
> ) : null}