Kaj Schittecat
f6192aa6e5
touch+deploy: opt-in OpenTopoMap style + persist map link-lines (open PRs)
...
Implements the three open PRs, with OpenStreetMap kept as the shipping default and
OpenTopoMap added as a user toggle (the deploy PRs flipped the default to topo —
this keeps OSM default and makes topo opt-in).
PR #61 (@Yazutsu) — persist the map 'Show link lines' toggle across reboots:
TouchCfg gains map_show_links (cfg v20, default 1); saved in mapOptLinesCb, loaded
in begin().
PR #52/#53 (@samuelcoustet) — OpenTopoMap tile proxy, adapted:
- deploy: tiles.wadamesh.com.conf keeps the default /{z}/{x}/{y}.jpg on OSM and
adds /opentopo/ (OpenTopoMap) + an explicit /osm/ alias; tile-transcode.py grows
_fetch_tile_png/_tile_response_from_png helpers feeding /osm + /opentopo while the
root route stays OSM.
- firmware: new map_style pref (cfg v21, 0=OSM default, 1=OpenTopoMap) + a
'Topographic map' switch in Map → Options. Topo tiles are namespaced on disk
(/tiles/topo) and fetched via the proxy's /opentopo route, so the OSM and topo
caches never collide and toggling is instant for already-cached tiles. Topo
bypasses the OSM-only microSD packs and always fetches online; the shared
(z,x,y) fetch-dedup ring is cleared on toggle so the new style re-queues.
Legal: OpenTopoMap map tiles are © OpenTopoMap (CC-BY-SA) over © OpenStreetMap
contributors (ODbL) + SRTM. The on-map © attribution and the Options → Info credits
sheet switch to that text when topo is active; the proxy keeps a contactable
User-Agent + 14-day cache per OpenTopoMap's tile-usage policy.
Topo needs the VPS deploy (restart wadamesh-tile-transcode + reload nginx) before
the /opentopo route serves; until then topo tiles 404 (handled as a permanent miss,
no retry hammer). OSM default is unaffected.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-Authored-By: Yazutsu <andrzej@gruziel.pl >
2026-06-26 18:49:41 +02:00
Kaj Schittecat
5efaefbf7f
deploy: add tiles.wadamesh.com PNG->JPEG transcode service
...
The firmware fetches map tiles as .jpg, but the tiles.wadamesh.com proxy was a
plain PNG passthrough (no .jpg handler) -> every Wi-Fi tile fetch 404'd. Add the
transcode service (tile-transcode.py on 127.0.0.1:5005, fetches OSM PNG and
re-encodes JPEG with Pillow) + its systemd unit, and update the nginx vhost to
proxy /{z}/{x}/{y}.jpg and /elev to it while keeping the legacy .png passthrough.
Same design as the meshcomod tile proxy. HTTP-only by design (device can't TLS).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 10:54:45 +02:00