From 5c325f1c69deed553e2580a5103991328dfe9f62 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/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 ++++++++++++---- 11 files changed, 25 insertions(+), 13 deletions(-) diff --git a/conf/settings/control/rotorcraft_guidance.xml b/conf/settings/control/rotorcraft_guidance.xml index 01833c9405..6d81601183 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 0cf9eb8c83..0bcf5c366b 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 a0f120adb0..0eb6b3b1ce 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 f57868aba3..f3882e344f 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 97865309d7..48665601ac 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 35642975de..c0ea84a2e5 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 68276a7c1e..f68a29dca5 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 2862d618a2..dfffb73ad6 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 669ccd7c5a..701c57c7cf 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 f24d3b3a6b..3a10926980 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 171c293735..2c5e3c9048 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 ->