commit 21471654cbe9e91089e2fd214ad66bf08ecff373
parent e49173cfdda723db283da0ad3cdab6c508d43821
Author: Daniel <dan@telent.net>
Date: Sun, 18 May 2025 23:18:15 +0000
add aroow to show direction of travel
Diffstat:
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/pkgs/maps/main.fnl b/pkgs/maps/main.fnl
@@ -129,6 +129,28 @@ label.readout {
(: :add (readout :elapsed-time ""))
(: :add (readout :speed "0"))))
+(fn arrow []
+ (let [height 40
+ w (Gtk.Label {
+ :halign Gtk.Align.CENTER
+ :valign Gtk.Align.CENTER
+ :width height :height height
+ :on_draw
+ (fn [self g]
+ (g:set_source_rgb 0.4 0.0 0.1)
+ (g:translate (// height 2) (// height 2))
+ (g:rotate (/ (* -2 app-state.course math.pi) 360) )
+ (g:translate (// height -2) (// height -2))
+ (g:set_line_width 4)
+ (g:move_to 10 height)
+ (g:line_to (// height 2) 0)
+ (g:line_to (- height 10) height)
+ (g:fill)
+ true)
+ })]
+ w))
+
+
(local socket-path (or (. arg 1) "/var/run/gnss-share.sock"))
(local gnss-socket
@@ -153,7 +175,10 @@ label.readout {
}
)
{ : speed-knots }
- (update-app-state { :speed (* speed-knots knot-in-m-s) })))))
+ (update-app-state { :speed (* speed-knots knot-in-m-s) }))
+ (if message.bearing-true
+ (update-app-state { :course message.bearing-true }))
+ )))
true)
(let [sock (gnss-socket:get_socket)
@@ -168,6 +193,7 @@ label.readout {
(doto (Gtk.Overlay {})
(: :add (osm-widget))
(: :add_overlay (readouts))
+ (: :add_overlay (arrow))
))
(window:show_all)
diff --git a/pkgs/maps/nmea.fnl b/pkgs/maps/nmea.fnl
@@ -58,7 +58,6 @@
(if (= value "")
nil
(let [(deg min) (string.match value "(..)(.+)")]
- (print :deg value deg :min min)
(*
(+ (tonumber deg)
(/ (tonumber min) 60))