biscuit

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 59c7b53022804fba3c912859e6efecee9d72724c
parent a687c946d28732eb4ba958bcc52c0119cf5e1e88
Author: Daniel <dan@telent.net>
Date:   Sat, 17 May 2025 23:22:37 +0000

nmea: add GGA, RMC

Diffstat:
Mpkgs/maps/nmea.fnl | 50++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+), 0 deletions(-)

diff --git a/pkgs/maps/nmea.fnl b/pkgs/maps/nmea.fnl @@ -58,6 +58,56 @@ (local msg-types { + :GGA + (fn [fields] + (let [[utc lat latsign lon lonsign + fix-quality + total-space-vehicles + hdop + altitude _ + geoidal-separation _ + _ _ ] fields + latf (if (= lat "") + nil + (* (tonumber lat) 0.01 (case latsign :N 1 :S -1))) + lonf (if (= lon "") + nil + (* (tonumber lon) 0.01 (case lonsign :E 1 :W -1)))] + { :lat latf + :lon lonf + : fix-quality + :total-space-vehicles (try-number total-space-vehicles) + :hdop (try-number hdop) + :altitude (try-number altitude) + :geoidal-separation (try-number geoidal-separation) + })) + + :RMC + (fn [[utc valid lat latsign lon lonsign + knots bearing-true date + magn-var magn-var-sign + mode nav-status &as fields]] + (let [latf (if (= lat "") + nil + (* (tonumber lat) 0.01 (case latsign :N 1 :S -1))) + lonf (if (= lon "") + nil + (* (tonumber lon) 0.01 (case lonsign :E 1 :W -1))) + magnetic-variation (if (= magn-var "") + nil + (* (tonumber magn-var) + (case magn-var-sign :E 1 :W -1)))] + { : utc + : valid + :lat latf + :lon lonf + :speed-knots (try-number knots) + :bearing-true (try-number bearing-true) + : date + : magnetic-variation + : mode + })) + :GNS (fn [fields] (let [[utc lat latsign lon lonsign mode total-space-vehicles