An App in the Launcher that runs the same commands as USB serial and the Debug Console, trusted like the first. It shows what the console prints while it is open, through a second ring of the console's that exists only meanwhile; Ctrl+b keeps only what follows your own commands. Tab completes a command's name from the firmware's help text, Fn with up and down recalls earlier lines, Alt with up and down scrolls back. `rm` asks first in the Shell, `rm -f` doesn't. Nothing is kept once the App is left. `screenshot [seconds]` saves the screen as a PNG in /screenshots on the card, now or after a pause: written a row at a time, indexed colour with RGB332 as the palette, in one stored deflate block. 487 host tests (11 new: the PNG writer, the Shell's log filter, Tab). Checked on the device over the Debug Console: commands, Tab, history, a screenshot fetched and decoded on the PC, rm with and without the question, a delayed screenshot of another screen. 12 KB of flash; 7 KB of heap while open. Decisions Q204 to Q212 in docs/milestones/S1.md. Safe Mode: #77. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
1.8 KiB
+++ title = "System" description = "What the device is doing right now: load, tasks, memory, network traffic, battery and temperature. Live, and read-only." weight = 10 [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. Tab 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). s 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 Fn + h 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"]) }}