Files
Max Gramser 437b8c55b4 Calendar analog clock with ticks and numerals; tiles without background
Firmware 0.2.16: the analog clock uses index strokes with 12/3/6/9
numerals on large cards and shows a calendar block (weekday, big day,
short month) beside the dial on single tiles; wide cards keep the digital
time and date. New palette key 'none' hides only the card fill and
border: geometry, padding and the pressed flash stay identical. Skeleton
frames and the render self-test honour the transparency.

App 0.2.15: 'Geen' in the background palette with a dashed mockup tile,
min_firmware 0.2.16 for such layouts, demo layout with the bare calendar
clock (--wide for the double-width clock). README and AGENTS note that
every push is a release and bumps the add-on version.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-13 09:52:33 +02:00

2.8 KiB
Raw Permalink Blame History

App 0.2.15 / firmware 0.2.16 — kalenderklok en tegels zonder achtergrond

Wijzigingen

  • Analoge klok: index-streepjes (lv_line, parts 0–11) met de cijfers 12, 3, 6 en 9 als labels op de vier hoofdposities van grote kaarten; de CYD houdt twaalf streepjes. Op een enkele tegel staat naast de wijzerplaat een kalenderblok: weekdag (tegelsubfont), grote dag (clock_digits) met de korte maand (label) op dezelfde basislijn — LVGL's base_line wordt daarvoor gebruikt. De CYD toont "13 sep" in het grote-waardefont. De dubbelbrede kaart houdt de digitale tijd en datum naast de wijzerplaat. Nieuwe extra-modus calendar (enkel) naast analog (dubbelbreed), zodat de parts bij een breedtewissel opnieuw worden opgebouwd.
  • Achtergrond: Geen (background: none): de firmware zet bg_opa en border_opa van de tegel op transparant; padding, maten en positie blijven identiek aan een kaart, zoals de eigenaar vroeg ("niet groter maken zonder achtergrond"). De pressed-flits blijft werken (PRESSED-state). Het skeleton bij een paginawissel toont voor zo'n tegel geen kader. check_tile_geometry controleert nu ook of de opaciteit klopt met de tegeloptie.
  • App: paletsleutel none ("Geen") met een doorgestreept staal; de mockup toont zo'n tegel als stippellijn; min_firmware eist 0.2.16 voor indelingen met deze optie. Demo-indeling (diagnostics/send_layout.py) gebruikt nu de enkele analoge klok zonder achtergrond; --wide geeft de dubbelbrede klok.

Tests

  • 54 Python-tests (met nieuwe paletnaam-test) en negen C++-testprogramma's geslaagd; tools/generate_packages.py --check verifieert beide pakketten.
  • Guition-build geslaagd (RAM 31,0 %, flash 17,4 %); CYD-build geslaagd (RAM 30,0 %, flash 73,0 %). Eerste build faalde op std::max(int, long) rond lv_font_get_line_height; opgelost met expliciete int-casts.
  • Poorten vooraf vastgesteld met esptool chip_id: usbserial-210 = ESP32-S3 (Guition), usbserial-130 = ESP32 (CYD). Beide via USB geflasht; het uploadlog toont firmware.bin uit de juiste buildmap.
  • Guition, demo-indeling: acht page_check=PASS count=9 (kalenderklok zonder achtergrond, forecast, grafieken, zonnebaan), daarna één FAIL op het moment dat de manager de echte indeling terugzette (slot 5 wisselde van zonnebaan naar een gewone tegel binnen dezelfde frame; count ging naar 5). Tweede run op de echte indeling: 10/10 PASS (count=5, heap ~6,46 MB). Snapshot diagnostics/guition-0216-demo-p1.png toont de echte indeling met de kalenderklok (streepjes, cijfers, "zondag 13 sep").
  • CYD, demo-indeling: 10/10 PASS (zes met count=9, daarna count=7 na herstel van de echte indeling; ~40–53 kB vrij heap).
  • De eigenaar bekeek de Guition na de flash: "ziet er top uit". De CYD is nog niet visueel beoordeeld; geen langdurige stabiliteitsproef uitgevoerd.