From 9215be7803c161c7505355cdcdef47ad1573a264 Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Thu, 2 Apr 2015 14:02:58 +0200 Subject: [PATCH] [settings] add optional target attribute to settings --- conf/conf_example.xml | 6 +++--- conf/conf_tests.xml | 8 ++++---- conf/settings/control/rotorcraft_guidance.xml | 2 +- .../control/stabilization_att_float_euler.xml | 2 +- .../control/stabilization_att_float_quat.xml | 2 +- conf/settings/control/stabilization_att_int.xml | 2 +- .../control/stabilization_att_int_quat.xml | 2 +- conf/settings/control/stabilization_rate.xml | 2 +- conf/settings/nps.xml | 2 +- conf/settings/rotorcraft_basic.xml | 2 +- conf/settings/settings.dtd | 4 ++++ conf/settings/test_settings.xml | 2 +- sw/tools/generators/gen_settings.ml | 16 ++++++++++++---- 13 files changed, 32 insertions(+), 20 deletions(-) diff --git a/conf/conf_example.xml b/conf/conf_example.xml index 83e9cce29b2..e62e6b7edde 100644 --- a/conf/conf_example.xml +++ b/conf/conf_example.xml @@ -105,7 +105,7 @@ radio="radios/spektrum.xml" telemetry="telemetry/default_rotorcraft.xml" flight_plan="flight_plans/rotorcraft_basic.xml" - settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_float_mlkf.xml" + settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_float_mlkf.xml settings/nps.xml" settings_modules="modules/gps_ubx_ucenter.xml modules/air_data.xml" gui_color="blue" /> @@ -116,7 +116,7 @@ radio="radios/cockpitSX.xml" telemetry="telemetry/default_rotorcraft.xml" flight_plan="flight_plans/rotorcraft_basic.xml" - settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/control/stabilization_rate.xml settings/estimation/ahrs_int_cmpl_quat.xml" + settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/control/stabilization_rate.xml settings/estimation/ahrs_int_cmpl_quat.xml settings/nps.xml" settings_modules="" gui_color="white" /> @@ -226,7 +226,7 @@ radio="radios/cockpitSX.xml" telemetry="telemetry/default_rotorcraft.xml" flight_plan="flight_plans/rotorcraft_basic.xml" - settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_secondary.xml settings/estimation/ahrs_float_mlkf.xml settings/estimation/ahrs_int_cmpl_quat.xml" + settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_secondary.xml settings/estimation/ahrs_float_mlkf.xml settings/estimation/ahrs_int_cmpl_quat.xml settings/nps.xml" settings_modules="modules/air_data.xml modules/video_rtp_stream.xml" gui_color="red" /> diff --git a/conf/conf_tests.xml b/conf/conf_tests.xml index dfe12baae93..3279ab4dd81 100644 --- a/conf/conf_tests.xml +++ b/conf/conf_tests.xml @@ -215,9 +215,9 @@ radio="radios/spektrum.xml" telemetry="telemetry/default_rotorcraft.xml" flight_plan="flight_plans/rotorcraft_basic.xml" - settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_float_mlkf.xml" - settings_modules="modules/gps_ubx_ucenter.xml modules/air_data.xml" + settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_float_mlkf.xml settings/nps.xml" gui_color="blue" + settings_modules="modules/gps_ubx_ucenter.xml modules/air_data.xml" /> @@ -358,7 +358,7 @@ radio="radios/cockpitSX.xml" telemetry="telemetry/default_rotorcraft.xml" flight_plan="flight_plans/rotorcraft_basic.xml" - settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_secondary.xml settings/estimation/ahrs_float_mlkf.xml settings/estimation/ahrs_int_cmpl_quat.xml" + settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/control/stabilization_att_int.xml settings/estimation/ahrs_secondary.xml settings/estimation/ahrs_float_mlkf.xml settings/estimation/ahrs_int_cmpl_quat.xml settings/nps.xml" settings_modules="modules/air_data.xml modules/video_rtp_stream.xml" gui_color="red" /> diff --git a/conf/settings/control/rotorcraft_guidance.xml b/conf/settings/control/rotorcraft_guidance.xml index 01833c94051..6d816011835 100644 --- a/conf/settings/control/rotorcraft_guidance.xml +++ b/conf/settings/control/rotorcraft_guidance.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/control/stabilization_att_float_euler.xml b/conf/settings/control/stabilization_att_float_euler.xml index 0cf9eb8c833..0bcf5c366b3 100644 --- a/conf/settings/control/stabilization_att_float_euler.xml +++ b/conf/settings/control/stabilization_att_float_euler.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/control/stabilization_att_float_quat.xml b/conf/settings/control/stabilization_att_float_quat.xml index a0f120adb01..0eb6b3b1ce9 100644 --- a/conf/settings/control/stabilization_att_float_quat.xml +++ b/conf/settings/control/stabilization_att_float_quat.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/control/stabilization_att_int.xml b/conf/settings/control/stabilization_att_int.xml index f57868aba31..f3882e344fc 100644 --- a/conf/settings/control/stabilization_att_int.xml +++ b/conf/settings/control/stabilization_att_int.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/control/stabilization_att_int_quat.xml b/conf/settings/control/stabilization_att_int_quat.xml index 97865309d7a..48665601ac8 100644 --- a/conf/settings/control/stabilization_att_int_quat.xml +++ b/conf/settings/control/stabilization_att_int_quat.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/control/stabilization_rate.xml b/conf/settings/control/stabilization_rate.xml index 35642975de5..c0ea84a2e5d 100644 --- a/conf/settings/control/stabilization_rate.xml +++ b/conf/settings/control/stabilization_rate.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/nps.xml b/conf/settings/nps.xml index fbd42226eac..0abadca2d14 100644 --- a/conf/settings/nps.xml +++ b/conf/settings/nps.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/rotorcraft_basic.xml b/conf/settings/rotorcraft_basic.xml index 3650fc9d4bb..4117da34036 100644 --- a/conf/settings/rotorcraft_basic.xml +++ b/conf/settings/rotorcraft_basic.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/settings/settings.dtd b/conf/settings/settings.dtd index 669ccd7c5ab..701c57c7cf8 100644 --- a/conf/settings/settings.dtd +++ b/conf/settings/settings.dtd @@ -18,6 +18,10 @@ + + diff --git a/conf/settings/test_settings.xml b/conf/settings/test_settings.xml index f24d3b3a6b3..3a109269802 100644 --- a/conf/settings/test_settings.xml +++ b/conf/settings/test_settings.xml @@ -1,6 +1,6 @@ - + diff --git a/sw/tools/generators/gen_settings.ml b/sw/tools/generators/gen_settings.ml index 171c2937355..2c5e3c90487 100644 --- a/sw/tools/generators/gen_settings.ml +++ b/sw/tools/generators/gen_settings.ml @@ -144,7 +144,7 @@ let print_dl_settings = fun settings -> lprintf "static inline float settings_get_value(uint8_t i) {\n"; right (); let idx = ref 0 in - lprintf "switch (i) { \\\n"; + lprintf "switch (i) {\n"; right (); List.iter (fun s -> @@ -152,10 +152,10 @@ let print_dl_settings = fun settings -> lprintf "case %d: return %s;\n" !idx v; incr idx) settings; lprintf "default: return 0.;\n"; - lprintf "}\n"; left (); lprintf "}\n"; - left() + left (); + lprintf "}\n" let inttype = function @@ -309,7 +309,15 @@ let join_xml_files = fun xml_files -> then List.filter (fun t -> Xml.tag t = "settings") (Xml.children xml) else [] end - else [xml] + else begin + (* if the top node has a target attribute, + only add if matches current target *) + let t = ExtXml.attrib_or_default xml "target" "" in + if t = "" || Str.string_match (Str.regexp (".*"^target^".*")) t 0 then + [xml] + else + [] + end in (* include settings if name is matching *) List.fold_left (fun l x ->