diff --git a/conf/airframes/CDW/debug_i2c_lpc.xml b/conf/airframes/CDW/debug_i2c_lpc.xml index ba83581105..a93292c82a 100644 --- a/conf/airframes/CDW/debug_i2c_lpc.xml +++ b/conf/airframes/CDW/debug_i2c_lpc.xml @@ -42,21 +42,12 @@ - - - - + + diff --git a/conf/airframes/CDW/yapa_xsens.xml b/conf/airframes/CDW/yapa_xsens.xml index 45e715c90d..6e0db7d71a 100644 --- a/conf/airframes/CDW/yapa_xsens.xml +++ b/conf/airframes/CDW/yapa_xsens.xml @@ -47,17 +47,12 @@ - - - - + + diff --git a/conf/airframes/airframe.dtd b/conf/airframes/airframe.dtd index d1a225ab55..9a1e5c36b6 100644 --- a/conf/airframes/airframe.dtd +++ b/conf/airframes/airframe.dtd @@ -11,11 +11,12 @@ - + + @@ -93,6 +94,12 @@ command CDATA #REQUIRED> var CDATA #REQUIRED value CDATA #REQUIRED> + + + @@ -23,21 +24,29 @@ +
+ + + + +
+ + - + - - + +
diff --git a/sw/tools/gen_airframe.ml b/sw/tools/gen_airframe.ml index aa58e5ad54..458f607354 100644 --- a/sw/tools/gen_airframe.ml +++ b/sw/tools/gen_airframe.ml @@ -171,6 +171,13 @@ let parse_command_laws = fun command -> and value = a "value" in let v = preprocess_value value "values" "COMMAND" in printf " int16_t _var_%s = %s;\\\n" var v + | "ratelimit" -> + let var = a "var" + and value = a "value" + and rate_min = a "rate_min" + and rate_max = a "rate_max" in + let v = preprocess_value value "values" "COMMAND" in + printf " static int16_t _var_%s = 0; _var_%s = Chop((%s) - (_var_%s), (%s), (%s));\\\n" var var v var rate_min rate_max | "define" -> parse_element "" command | _ -> xml_error "set|let"