Repository navigation
v3.0.1 — A new battery, and a way to see the screen without flashing
A small release for the radio itself, and a new way of working on it.
On the device
The battery symbol is redrawn in the shape of the one on an iPhone: a rounded
case with the terminal beside it, filling from the left. It takes its two
colours from the volume scale above it — the dim blue for the frame, the
bright one for the charge — and its fill occupies exactly the same rows as the
scale's lit dots, so the top of the screen reads as one band instead of two
unrelated widgets. The low-battery red is gone with it; the scale has no red.
Both tones now live in UI_SCALE_ON and UI_SCALE_GRID, used by the scale and
the icon alike, so they cannot drift apart. And the dB label on the VU scale
had a lowercase b.
That is the whole functional change. Audio, station handling, Wi-Fi and the
memory situation are untouched from v3.0.0.
Off the device
tools/screen_main.py and tools/screen_menu.py render the radio's screens to
a PNG on your computer. Not a mock-up: they read the coordinates out of the
sketch's #define lines, the labels out of the drawString() calls and
Lang.h, the country names out of rbCountries[], and the fonts out of
NokiaFC.h and M5GFX's own glcdfont.h, with the typesetting rules taken from
GFXfont::drawChar. Colours go through RGB565 exactly as the panel does.
So a layout change can be looked at in ten seconds instead of a compile-flash
cycle, and it stays honest — change a #define and the picture follows.
tools/measure.py reports which colour occupies which area, for when the eye
disagrees with the pixels.
The battery symbol above was designed entirely this way and needed no
correction once it reached the device. Every screenshot in the README is
rendered by these tools rather than photographed.
Repository layout
Each release now lives in its own folder — v3.0.1/, v3.0.0/ — complete with
its source, firmware, images and README. Nothing is overwritten when the next
version arrives.
Flashing
| File | Flash to |
|---|---|
Cardputer-WebRadio_v3.0.1.bin |
SD card / M5Launcher — application only |
Cardputer-WebRadio_v3.0.1_merged.bin |
address 0x0 with M5Burner or a web flasher — complete image |
The library patch is unchanged and still required when building from source;
see v3.0.1/library-patch/.
Known limitations
Unchanged from v3.0.0, and all three follow from the Cardputer Adv having no
PSRAM: no https streams, no AAC, and 128 kbit/s or lower is the sweet spot.
The README explains each one with measurements.