Commit Graph

27 Commits

Author SHA1 Message Date
39f687d6f5 pass zoom level to canvas 2025-06-03 22:18:05 +01:00
f8a4788ed6 draw roads fatter and with edging 2025-06-03 22:18:05 +01:00
7c18f4442b async tile fetcher
we use cqueues, which is the async framework that lua-http is built
on. we integrate it into the glib event loop rather hackily by calling
the cqueues event stepper ever 20ms from a glib timeout function

overpass has very low rate limits so we handle a 429 response by
sleeping for a random length of time and retrying. This is, also,
a bit of a hack
2025-06-03 22:18:05 +01:00
dfbf6ac919 clobber map-surface when bounds change 2025-06-03 22:18:05 +01:00
1c065d77e4 draw map once only and copy it to screen in on_draw
This massively reduces cpu usage, however it doesn't yet work
if we've moved far enough that we'd need to fetch new tiles.
2025-06-03 22:18:05 +01:00
455c3f50c6 use register-widget more, fewer arrow widget repaints 2025-06-03 22:18:05 +01:00
0d60cc11cc invalidate map only when app-state changes 2025-06-03 22:18:05 +01:00
8357aab222 invalidate the map display each time we repaint it
really we should only need to do this when the app-state changes
2025-06-03 22:18:05 +01:00
d5e82d3427 replace in-memory cache with a persistent json cache
we just store the raw response from overpass
2025-06-03 22:18:05 +01:00
ab4e4857f3 fetch enough tiles to cover the display 2025-06-03 22:18:01 +01:00
398693bc07 hook the ui up to the overpass data 2025-05-28 18:50:12 +01:00
dc95c2252e convert lat/lon to tile x/y and back 2025-05-27 23:48:32 +01:00
1deaea2948 whitespace 2025-05-27 17:33:58 +01:00
184ba482f9 and decode 2025-05-27 13:34:09 +01:00
26ebbe21b5 hack in rxi-json 2025-05-27 13:31:54 +01:00
a2906f5150 http request to overpass 2025-05-27 13:12:12 +01:00
21471654cb add aroow to show direction of travel 2025-05-18 23:18:15 +00:00
e49173cfdd hook nmea messages up to widgets 2025-05-18 18:23:27 +00:00
36b1284996 nmea: parse degrees and minutes in lat/long 2025-05-18 18:01:56 +00:00
015caf45c6 write an nmea trace to a unix socket for indoor maps testing
while : ; do fennel fake-nmea.fnl foo.nmea ./fake-nmea.sock ; done
2025-05-18 18:00:49 +00:00
97440603f3 maps: accept socket path as command line arg 2025-05-18 18:00:06 +00:00
bf7eac5fac parse nmea from socket 2025-05-17 23:23:32 +00:00
59c7b53022 nmea: add GGA, RMC 2025-05-17 23:22:37 +00:00
a687c946d2 nmea: convert empty fields to nil 2025-05-17 23:20:55 +00:00
4835b24e03 maps: read from gnss unix socket 2025-05-16 21:19:09 +00:00
3aa64e8fac add beginnings of an nmea parser 2025-05-14 18:30:14 +01:00
c3b796ef79 add maps app (doesn't do much yet) 2024-07-22 22:25:25 +01:00