Commit Graph

93 Commits

Author SHA1 Message Date
f275190538 fetch correct tile from overpass not diagonally adjacent one 2025-06-06 21:39:31 +01:00
0b22a7e538 pass lat/lon/zoom to draw-onto-map-surface
this removes dependency on global state
and will make it simpler to generate map for arbitrary co-ordinates
2025-06-06 21:33:19 +01:00
beca254bf6 rename cairo-the-map -> draw-onto-map-surface
and make it take a surface directly, not a window
2025-06-06 21:31:31 +01:00
4c2bed5ef0 rewrite map-bounds to fetch fewer off-screen tiles 2025-06-06 21:14:19 +01:00
fef52f812a add on-completion callback to tile fetcher, invalidate map-surface 2025-06-05 23:11:37 +01:00
cdd7ea3a94 add fennel-ls to shell derivation
I'm unsure whether it's actually useful or not, haven't tried it yet
2025-06-05 23:03:08 +01:00
63e592d33d first go at varying the line width based on highway classification 2025-06-05 23:02:44 +01:00
e5e1060c3f add colour/translucency to road name background
this is an experiment in making them look less like road when the
placement causes them to run off the end of the actual way
2025-06-04 00:16:58 +01:00
c53120ab2a print fewer upside down road labels 2025-06-04 00:14:43 +01:00
e728052bb6 print each road name once only 2025-06-03 22:18:05 +01:00
7195dbb2d5 make road names bigger and print white behind them 2025-06-03 22:18:05 +01:00
84a80d7c79 upgrade lgi 2025-06-03 22:18:05 +01:00
7934d5ba13 off-white background colour 2025-06-03 22:18:05 +01:00
ccb47e3a3d improve text placement 2025-06-03 22:18:05 +01:00
37767e007a render road names (badly) 2025-06-03 22:18:05 +01:00
76228bc045 parse way name as well as points 2025-06-03 22:18:05 +01:00
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
239f897396 Merge remote-tracking branch 'origin/tninkpad' 2025-05-27 17:32:12 +01:00
ab8ca0d032 update with TODO list 2025-05-27 17:31:35 +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
71fa63eaa7 stolen from liminix 2025-05-27 13:11:48 +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
ae9c4b0b3c fix perms on gnss socket 2025-05-15 18:59:17 +01:00
c6cac8bc4b disable opengl to avoid Satellite app crashes with kernel oops 2025-05-15 18:42:11 +01:00
4deecaa600 disable adbd until we find out why it's broken in nuxos-unstable 2025-05-15 18:38:04 +01:00
58fd046f6c connect qmi-nmea to /var/run/gnss-share.sock
:-)  this works with satellite
:-(  it doesn't start on boot

it needs to be run after the /dev/wwan0qmi0 is created
2025-05-14 23:00:45 +01:00
3aa64e8fac add beginnings of an nmea parser 2025-05-14 18:30:14 +01:00
71012d5038 delete unused function and debugging prints 2025-05-12 00:51:04 +01:00