diff --git a/conf/modules/gps_ubx_i2c.xml b/conf/modules/gps_ubx_i2c.xml
index ab1e733f3c..2bcd3093ca 100644
--- a/conf/modules/gps_ubx_i2c.xml
+++ b/conf/modules/gps_ubx_i2c.xml
@@ -4,6 +4,12 @@
U-blox GPS (I2C)
+ This module provides an I2C interface that can then be used in the gps_ublox module:
+@verbatim
+
+
+
+@endverbatim
diff --git a/conf/modules/module.dtd b/conf/modules/module.dtd
index 7b009dcc76..3141ce2830 100644
--- a/conf/modules/module.dtd
+++ b/conf/modules/module.dtd
@@ -14,7 +14,7 @@
-
+
diff --git a/conf/modules/nav_survey_polygon.xml b/conf/modules/nav_survey_polygon.xml
index 10bc399186..8ce5fc9a51 100644
--- a/conf/modules/nav_survey_polygon.xml
+++ b/conf/modules/nav_survey_polygon.xml
@@ -15,7 +15,7 @@ In the flight plan, the survey blocks call init and run functions:
- min_rad minimal radius when navigating
- altitude the altitude that must be reached before the flyover starts
2. Run the survey with nav_survey_polygon_run()
-
diff --git a/conf/modules/nav_survey_rectangle_rotorcraft.xml b/conf/modules/nav_survey_rectangle_rotorcraft.xml
index b52bf90ebb..ce83b8572f 100644
--- a/conf/modules/nav_survey_rectangle_rotorcraft.xml
+++ b/conf/modules/nav_survey_rectangle_rotorcraft.xml
@@ -13,7 +13,7 @@ In the flight plan, the survey blocks call init and run functions:
- sweep_width distance between the sweeps
- angle NS or WE orientation
2. Run the survey with nav_survey_rectangle_rotorcraft_run(WP1,WP2)
-
-
-
+
+
diff --git a/sw/tools/doxygen_gen/gen_modules_doc.py b/sw/tools/doxygen_gen/gen_modules_doc.py
index 78e9772a8f..6b3594c75f 100755
--- a/sw/tools/doxygen_gen/gen_modules_doc.py
+++ b/sw/tools/doxygen_gen/gen_modules_doc.py
@@ -171,14 +171,28 @@ def module_configuration(module, mname):
def get_module_name(module):
return module.get('name')
+def remove_prefix(text, prefix):
+ if text.startswith(prefix):
+ return text[len(prefix):]
+ return text
+
+def remove_postfix(text, postfix):
+ if text.endswith(postfix):
+ return text[:-len(postfix)]
+ return text
+
def get_module_description(module):
desc = module.find("./doc/description")
details = "No detailed description...\n"
if desc is None or desc.text is None:
brief = module.get('name').replace('_', ' ').title()
else:
+ # use tostring instead of desc.text to allow xml stuff in description
+ text = ET.tostring(desc, method="xml").strip()
+ text = remove_prefix(text, "")
+ text = remove_postfix(text, "")
# treat first line until dot as brief
- d = re.split(r'\.|\n', desc.text.strip(), 1)
+ d = re.split(r'\.|\n', text.strip(), 1)
brief = d[0].strip()
if len(d) > 1:
details = d[1].strip()+"\n"