Public Access
The documentation had kept up feature page by feature page and nowhere else. Now also: - the home page's App cards (notes of any size, pictures, sharing) and its note (the Shell, the VPN, the screenshot key); - the guide: VPN in the Status Bar and in Settings, the three keys that work everywhere, screenshots of the Shell, a picture, sharing, the VPN page and the help panel; - three how-tos: move files with your phone, set up the VPN, take a screenshot; where the files are and what things cost in memory; - the FAQ: screenshots, and what listens on the network; - the README's opening: what the firmware does today; - the glossary: Tunnel, Sharing, Screenshot; - every milestone's status line, with the version each thing shipped in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
81 lines
6.0 KiB
Markdown
81 lines
6.0 KiB
Markdown
+++
|
|
title = "Storage"
|
|
description = "Browse the SD card: copy, move, rename and delete with a clipboard, and open a file by its type."
|
|
weight = 8
|
|
[extra]
|
|
tag = "Storage"
|
|
screens = ["storage.png", "picture.png", "share.png"]
|
|
+++
|
|
|
|
Storage shows what is on the SD card: each folder's entries with their size and date, folders first. <kbd>Enter</kbd> opens a folder, Back goes up, and <kbd>s</kbd> sorts by name, date or size. A folder with more than 256 entries shows the first 256 by name, and says so.
|
|
|
|
## Working on one item
|
|
|
|
| Key | Does |
|
|
|---|---|
|
|
| <kbd>c</kbd> / <kbd>x</kbd> | Copies or cuts the selected file or folder; the footer shows what is waiting to be pasted |
|
|
| <kbd>v</kbd> | Pastes it into the folder shown. A copy next to its original is named `name (2).txt`; anything in the way is asked about first |
|
|
| <kbd>r</kbd> | Renames |
|
|
| <kbd>d</kbd> | Deletes, after saying what is inside: "Delete saved and its 42 files (1.2 MB)?" |
|
|
| <kbd>n</kbd> | Makes a folder |
|
|
| <kbd>i</kbd> | Details: type, exact size, date, and why an item is read-only if it is |
|
|
|
|
A copy runs in the background of the card (about 400 KB a second), in short turns, so logs and captures keep being written. It shows its progress, Back cancels it and takes back what was copied, and each file's size is checked afterwards.
|
|
|
|
## What cannot be changed
|
|
|
|
- the **top-level folders** the firmware keeps its files in (what is inside them can be);
|
|
- `/gemini/cache`;
|
|
- a file being **written right now**: today's IRC log, a Track or a capture being recorded.
|
|
|
|
The App says why when it refuses.
|
|
|
|
## Opening files
|
|
|
|
<kbd>Enter</kbd> on a file opens it by its type, and <kbd>Tab</kbd> switches the same file to a hex dump or to text:
|
|
|
|
- **Text** (`.txt`, `.log`, `.gmi`, `.csv`, and anything that looks like text): only a screenful is read from the card, so a file of any size opens at once, and logs open at the end. Up and down move a line, left and right a page, <kbd>t</kbd> and <kbd>b</kbd> go to the top and the end, and <kbd>e</kbd> edits it, whatever its size (as in [Notes](/guide/notes/)).
|
|
- **Pictures** (`.png`, `.jpg`, `.bmp`, `.gif`): see [Pictures](#pictures) below.
|
|
- **Captures** (`.pcap`): the packets as the [LoRa Scanner](/guide/lora-scanner/) lists them; <kbd>Enter</kbd> shows one with its Meshtastic header and bytes.
|
|
- **Tracks** (`.gpx`): the number of points, the start, the duration and the distance.
|
|
- **Update files** (`.ota`): the version, and whether the file would install: it is checked as an install checks it, signature and contents, without writing anything. <kbd>Enter</kbd> then installs it (see [Updates](/guide/updates/)).
|
|
- **Anything else:** a hex dump.
|
|
|
|
## Pictures
|
|
|
|
<kbd>Enter</kbd> on a PNG, a JPEG, a BMP or a GIF shows it. A picture bigger than the screen is shrunk to fit; <kbd>Enter</kbd> again shows it **at its own size**, and the arrow keys then move around it, half a screen at a time. <kbd>i</kbd> gives its size in pixels, and <kbd>Tab</kbd> the file as hex.
|
|
|
|
- **The screen has 256 colours.** A photograph is dithered to them; a drawing or a screenshot usually has colours the screen shows exactly. The screenshots the [Shell](/guide/shell/) saves are shown pixel for pixel at their own size.
|
|
- **A big photograph takes time**, because every pixel of the file goes through the decoder, shown or not: about 7 seconds for 12 megapixels. The picture appears as it is decoded, and the keys keep working: Back leaves at once.
|
|
- **A GIF shows its first picture only.** It doesn't move.
|
|
- **What can't be shown** opens as hex, with the reason: a progressive JPEG, an interlaced PNG, a BMP that is compressed or has 16 bits a pixel.
|
|
- **A PNG needs 32 KB of memory in one piece** while it is decoded, and a few more (a JPEG needs 4 KB, a GIF 17 KB). With IRC connected there may not be that much: the viewer says so. The firmware's own screenshots need none.
|
|
|
|
## From a phone
|
|
|
|
Press <kbd>w</kbd> in the Storage App to **share the card with a browser** on the same network. The screen shows an address, as a QR code and in letters, and a six-digit code.
|
|
|
|
1. On the phone (or any computer on the same Wi-Fi), scan the QR code, or type the address and then the code.
|
|
2. The page lists the card. Tap a folder to open it and a file to download it. **Upload files** sends files from the phone into the folder you are in; **New folder** and **Delete** do what they say.
|
|
3. Press Back on the device to stop. Sharing also stops when you leave the Storage App.
|
|
|
|
What to know:
|
|
|
|
- **It runs only while that screen is open**, and the code is new each time. Five wrong codes close the door for a minute.
|
|
- **It is not encrypted.** On your own network that is the usual trade; on a network you don't trust, someone listening could read the files and the code. Through the [VPN](/guide/vpn/) it is protected.
|
|
- **One thing at a time:** while a big file is going up or down, the page waits. About 200 KB a second.
|
|
- The same rules as on the device: the folders the firmware keeps for itself can't be deleted, and a folder has to be empty to be deleted from the page.
|
|
- An upload is written under a temporary name and renamed when it is whole, so a transfer that is cut leaves nothing behind.
|
|
|
|
## Maintenance
|
|
|
|
At the top of the card, the last row, **Maintenance** (or <kbd>m</kbd>), shows the card's usage and holds **Storage clean-up** and **Erase SD card**. They delete for good, so they sit behind a warning. Clean-up deletes old logs and captures by category and age, showing the space it would free first. Notes and Saved Pages are never offered.
|
|
|
|
The firmware warns once per start when the card passes **80%** full; past **90%**, logs stop being written so that the rest is kept for captures.
|
|
|
|
## 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=["storage", "storage-details", "storage-name", "storage-busy", "maintenance", "viewer-text", "viewer-hex", "viewer-pcap", "viewer-packet", "viewer-gpx", "viewer-ota", "viewer-image", "storage-share"]) }}
|