From 970e0b99859daa01661eacf84ceab805c845a40f Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Tue, 25 Nov 2014 16:04:59 +0100 Subject: [PATCH] [gcs] actually use position in DC_SHOT message to place photo marker --- sw/ground_segment/cockpit/live.ml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/sw/ground_segment/cockpit/live.ml b/sw/ground_segment/cockpit/live.ml index df3390a42cf..547403df8c0 100644 --- a/sw/ground_segment/cockpit/live.ml +++ b/sw/ground_segment/cockpit/live.ml @@ -1360,15 +1360,22 @@ let listen_telemetry_status = fun () -> let mark_dcshot = fun (geomap:G.widget) _sender vs -> let ac = find_ac !active_ac in let photonumber = Pprz.string_assoc "photo_nr" vs in - (* let ac = get_ac vs in *) - match ac.track#last with - Some geo -> - begin - let group = geomap#background in - let point = geomap#photoprojection ~group ~fill_color:"yellow" ~number:photonumber geo 3. in - point#raise_to_top () - end - | None -> () + try + let lat = Pprz.int_assoc "latitude" vs + and lon = Pprz.int_assoc "longitude" vs in + let wgs84 = LL.make_geo_deg (float lat /. 1e7) (float lon /. 1e7) in + let group = geomap#background in + let point = geomap#photoprojection ~group ~fill_color:"yellow" ~number:photonumber wgs84 3. in + point#raise_to_top () + with _ -> + match ac.track#last with + Some geo -> + begin + let group = geomap#background in + let point = geomap#photoprojection ~group ~fill_color:"yellow" ~number:photonumber geo 3. in + point#raise_to_top () + end + | None -> () (* mark geomap ac.ac_name track !Plugin.frame *)