diff --git a/conf/airframes/microjet6.xml b/conf/airframes/microjet6.xml index afa2c805d0..ae5eb44ba1 100755 --- a/conf/airframes/microjet6.xml +++ b/conf/airframes/microjet6.xml @@ -161,7 +161,7 @@ - +
@@ -261,7 +261,7 @@ ap.srcs += gyro.c ap.CFLAGS += -DUSE_SPI -DSPI_MASTER -DUSE_SPI_SLAVE0 -DUSE_BARO_MS5534A ap.srcs += spi.c $(SRC_ARCH)/spi_hw.c $(SRC_ARCH)/baro_MS5534A.c -ap.srcs += bomb.c +ap.srcs += nav_line.c # Harware In The Loop @@ -272,7 +272,7 @@ ap.srcs += bomb.c # Config for SITL simulation include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile sim.CFLAGS += -DCONFIG=\"tiny.h\" -DAGR_CLIMB -DH_CTL_RATE_LOOP -DLOITER_TRIM -DALT_KALMAN -DIR_360 -DUSE_BARO_MS5534A -sim.srcs += nav_survey_rectangle.c $(SRC_ARCH)/sim_baro.c bomb.c +sim.srcs += nav_survey_rectangle.c $(SRC_ARCH)/sim_baro.c bomb.c nav_line.c diff --git a/conf/flight_plans/basic.xml b/conf/flight_plans/basic.xml index b01ec49cb7..10aaa78b60 100644 --- a/conf/flight_plans/basic.xml +++ b/conf/flight_plans/basic.xml @@ -1,6 +1,6 @@ - +
#include "nav_line.h"
@@ -31,13 +31,13 @@ - + - + @@ -46,12 +46,12 @@ - + - + diff --git a/conf/flight_plans/flight_plan.dtd b/conf/flight_plans/flight_plan.dtd index 1fb70f897a..2c135c8ad2 100644 --- a/conf/flight_plans/flight_plan.dtd +++ b/conf/flight_plans/flight_plan.dtd @@ -82,6 +82,7 @@ file CDATA #REQUIRED> - @@ -50,7 +49,7 @@ - + @@ -116,10 +115,10 @@ - + - + diff --git a/conf/gcs/horizontal.xml b/conf/gcs/horizontal.xml index 5e619645ee..40ae5e3c95 100644 --- a/conf/gcs/horizontal.xml +++ b/conf/gcs/horizontal.xml @@ -6,10 +6,9 @@ - - + diff --git a/conf/settings/basic.xml b/conf/settings/basic.xml index 4a00be85a4..65b598c301 100644 --- a/conf/settings/basic.xml +++ b/conf/settings/basic.xml @@ -12,9 +12,12 @@ - + + + + + - diff --git a/conf/settings/settings.dtd b/conf/settings/settings.dtd index 4741283b3f..b8c11b8bab 100644 --- a/conf/settings/settings.dtd +++ b/conf/settings/settings.dtd @@ -34,6 +34,7 @@ auto CDATA #IMPLIED diff --git a/sw/ground_segment/cockpit/live.ml b/sw/ground_segment/cockpit/live.ml index 6037cb38c0..feccc020c6 100644 --- a/sw/ground_segment/cockpit/live.ml +++ b/sw/ground_segment/cockpit/live.ml @@ -272,10 +272,10 @@ let mark = fun (geomap:G.widget) ac_id track plugin_frame -> (** Light display of attributes in the flight plan. *) let attributes_pretty_printer = fun attribs -> - (* Remove the "no" an "strip_button" attributes *) + (* Remove the "no", "strip_icon" and "strip_button" attributes *) let valid = fun a -> let a = String.lowercase a in - a <> "no" && a <> "strip_button" in + a <> "no" && a <> "strip_icon" && a <> "strip_button" in let attribs = List.filter (fun (a, _) -> valid a) attribs in @@ -386,11 +386,23 @@ let create_ac = fun alert (geomap:G.widget) (acs_notebook:GPack.notebook) (ac_id fp#waypoints; (** Add the short cut buttons in the strip *) - List.iter (fun b -> - try - let label = ExtXml.attrib b "strip_button" - and id = ExtXml.int_attrib b "no" in - let b = GButton.button ~label () in + let tooltips = GData.tooltips () in + List.iter (fun block -> + try (* Is it a strip button ? *) + let label = ExtXml.attrib block "strip_button" + and id = ExtXml.int_attrib block "no" in + let b = + try (* Is it an icon ? *) + let icon = Xml.attrib block "strip_icon" in + let b = GButton.button () in + ignore (GMisc.image ~stock:(`STOCK icon) ~packing:b#add ()); + + (* Associates the label as a tooltip *) + tooltips#set_tip b#coerce ~text:label; + b + with + Xml.No_attribute _ -> (* It's not an icon *) + GButton.button ~label () in strip#add_widget b#coerce; ignore (b#connect#clicked (fun _ -> jump_to_block ac_id id)) with @@ -402,7 +414,7 @@ let create_ac = fun alert (geomap:G.widget) (acs_notebook:GPack.notebook) (ac_id (ac_notebook:GPack.notebook)#append_page ~tab_label:fp_label#coerce fp#window#coerce; let infrared_label = GMisc.label ~text: "Infrared" () in - let infrared_frame = GBin.frame ~shadow_type: `NONE + let infrared_frame = GBin.frame ~show:false ~shadow_type: `NONE ~packing: (ac_notebook#append_page ~tab_label: infrared_label#coerce) () in let ir_page = new Pages.infrared infrared_frame in diff --git a/sw/ground_segment/cockpit/pages.ml b/sw/ground_segment/cockpit/pages.ml index 098deadcf7..7e1f933e94 100644 --- a/sw/ground_segment/cockpit/pages.ml +++ b/sw/ground_segment/cockpit/pages.ml @@ -297,7 +297,18 @@ let one_setting = fun i do_change packing s (tooltips:GData.tooltips) strip -> assert(ExtXml.tag_is x "strip_button"); let label = ExtXml.attrib x "name" and sp_value = ExtXml.float_attrib x "value" in - let b = GButton.button ~label () in + let b = + try (* Is it an icon ? *) + let icon = Xml.attrib x "icon" in + let b = GButton.button () in + ignore (GMisc.image ~stock:(`STOCK icon) ~packing:b#add ()); + + (* Associates the label as a tooltip *) + tooltips#set_tip b#coerce ~text:label; + b + with + Xml.No_attribute _ -> + GButton.button ~label () in (strip b#coerce : unit); ignore (b#connect#clicked (fun _ -> do_change i sp_value))) (Xml.children s);