Files
roro9stack/site/content/guide/system.md
T
twislaandClaude Opus 5.5 34e6714785
CI / build (pull_request) Successful in 7m14s
Site / build (pull_request) Successful in 8s
Keys: one table file for the device's help panel and the website's key tables (#72)
Every screen's keys are constant tables in lib/core/src/app_keys.h (52 of
them, each under an `// id: Title` comment). An App's help() picks the table
of the state it is in. site/tools/gen_dev_docs.py reads the same file and
writes site/data/keys.toml; the `keys` shortcode shows a screen's tables on
its guide page, and /guide/keys/ shows all of them.

The Site job fails when the data file is out of date or a page asks for a
table that doesn't exist, and now also runs when app_keys.h changes. A key
added to an App shows up on the website without anyone editing a page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
2026-10-07 01:42:48 +02:00

27 lines
1.8 KiB
Markdown

+++
title = "System"
description = "What the device is doing right now: load, tasks, memory, network traffic, battery and temperature. Live, and read-only."
weight = 9
[extra]
tag = "System"
screens = ["system.png"]
+++
System changes nothing: it shows. It samples once a second and keeps its history only while it is open. <kbd>Tab</kbd> moves between five views.
- **Overview:** each core's load, free memory, network traffic, battery, uptime and chip temperature, and both cores' load over the last two minutes.
- **Tasks:** every task the system runs, with its core, its share of a core over the last second, and the least stack it ever had left (in the warning colour under 512 bytes). <kbd>s</kbd> sorts by share, stack or name.
- **Memory:** free memory, the lowest since start, and the largest free block, with two minutes of free memory drawn against the three memory floors (55, 40 and 20 KB).
- **Network:** the connection, then for IRC, Gemini, the debug console and firmware updates the bytes read and written since start, and what is moving now. For secure connections these are the bytes the service sees, without the encryption overhead.
- **System:** the firmware version, uptime, the last start reason, memory, Wi-Fi, the battery, the SD card with its write faults, the radio and the GNSS receiver.
## Why it exists
The device has about 107 KB of free memory and no PSRAM, so memory is the resource that decides what can run together: a secure connection takes about 52 KB at its peak. System makes that visible, and is how the project measures its own changes.
## The keys, as the device lists them
What <kbd>Fn</kbd> + <kbd>h</kbd> shows on these screens. These tables are generated from the firmware's own lists, so they are always the current ones.
{{ keys(scopes=["system", "system-tasks", "system-system"]) }}