nmea: convert empty fields to nil
This commit is contained in:
parent
4835b24e03
commit
a687c946d2
@ -50,7 +50,10 @@
|
||||
}
|
||||
)
|
||||
|
||||
(local latlon-signs { :N 1 :S -1 :W -1 :E 1 } )
|
||||
(fn try-number [s]
|
||||
(if (= s "")
|
||||
nil
|
||||
(tonumber s)))
|
||||
|
||||
(local
|
||||
msg-types
|
||||
@ -58,24 +61,31 @@
|
||||
:GNS
|
||||
(fn [fields]
|
||||
(let [[utc lat latsign lon lonsign mode total-space-vehicles
|
||||
hdop altitude geoidal-separation _ _ nav-status] fields]
|
||||
{ :lat (* (/ (tonumber lat) 100) (. latlon-signs latsign))
|
||||
:lon (* (/ (tonumber lon) 100) (. latlon-signs lonsign))
|
||||
hdop altitude geoidal-separation _ _ nav-status] 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
|
||||
: mode
|
||||
:total-space-vehicles (tonumber total-space-vehicles)
|
||||
:hdop (tonumber hdop)
|
||||
:altitude (tonumber altitude)
|
||||
:geoidal-separation (tonumber geoidal-separation)
|
||||
:total-space-vehicles (try-number total-space-vehicles)
|
||||
:hdop (try-number hdop)
|
||||
:altitude (try-number altitude)
|
||||
:geoidal-separation (try-number geoidal-separation)
|
||||
: nav-status
|
||||
}
|
||||
))
|
||||
|
||||
:VTG
|
||||
(fn [[bearing-true _ bearing-mag _ knots _ kmh _ mode]]
|
||||
{
|
||||
:bearing-true (tonumber bearing-true)
|
||||
:bearing-magnetic (tonumber bearing-mag)
|
||||
:speed-knots (tonumber knots)
|
||||
:speed-kmh (tonumber kmh)
|
||||
:bearing-true (try-number bearing-true)
|
||||
:bearing-magnetic (try-number bearing-mag)
|
||||
:speed-knots (try-number knots)
|
||||
:speed-kmh (try-number kmh)
|
||||
: mode
|
||||
}
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user