Files
twislaandClaude Opus 5.5 3863d28593
CI / build (pull_request) Successful in 1m48s
Site / build (pull_request) Successful in 9s
Shell: the console's commands on the device's own screen and keyboard (#67)
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
2026-10-07 10:53:31 +02:00

3.2 KiB

+++ title = "Settings" description = "The device's names, region, screen, sound, GNSS and Wi-Fi, and where firmware updates are found." weight = 11 [extra] tag = "Settings" +++

Move with the arrows. On a toggle, a choice or a slider, left and right change the value; Enter opens a text field or a list of choices, or a page marked >. Back leaves.

Setting What it is
Long name, Short name The names you gave in the first-start Setup (up to 39 bytes, and up to 4 characters)
Region The regulatory region; EU868
Timezone For the clock and the dates in file names
Brightness A slider
Dim after, Screen off after Screen timeouts. Dimming must come before the screen turns off
Sound & LED The beep and the flash on a Toast
GNSS Switches the receiver on and off (see GNSS)
Pause GNSS for LoRa Puts the receiver on standby while the radio listens (see LoRa Scanner)
Coordinates Decimal degrees, or degrees, minutes and seconds
Wi-Fi The page below
Check for updates Once a day, see Updates
Firmware The page described in Updates
Debug Console Off unless you switch it on. It lets a PC on the same network read the device's console and drive it, with a token shown on this page: see the developer docs. Leave it off if that means nothing to you
About The firmware version, the node number, battery, memory, uptime, clock and licence

Wi-Fi

Wi-Fi on its own page switches the radio on and off. The page also has:

  • Status: whether it is searching, joining, or connected, and to what.
  • Add a network: scans, lets you pick one, and asks for the password (leave it empty for an open network). Add a hidden network asks for the name first.
  • DNS and NTP: see below.
  • Your saved networks. The device joins one on its own whenever it is in range, the strongest first. Enter on a network opens its page.

An address by hand

A network normally gives the device its address by itself (DHCP, Automatic). On a network without DHCP, open its page and set IP address to Fixed: then it takes an address, a prefix (24 is 255.255.255.0) and an optional gateway. Switching to Fixed starts from what the network is giving the device at that moment, and the setting is checked and applied when you leave the page. IPv4 only. Forget this network is on the same page.

DNS and NTP

Two DNS servers (9.9.9.9 and 1.1.1.1 by default), used on Fixed networks, or on every network if Always use my DNS is on; and two NTP servers (pool.ntp.org and time.cloudflare.com), used after any that the network's DHCP offers. Enter on Status shows what is in use and where each value came from.

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=["settings", "settings-choice", "wifi", "wifi-servers", "wifi-network", "wifi-status", "wifi-scan", "wifi-name", "debug-console"]) }}