nmea: add GGA, RMC
This commit is contained in:
parent
a687c946d2
commit
59c7b53022
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user