diff --git a/Tools/autotest/param_metadata/ednemit.py b/Tools/autotest/param_metadata/ednemit.py
index d024e13a5d..2989381c83 100644
--- a/Tools/autotest/param_metadata/ednemit.py
+++ b/Tools/autotest/param_metadata/ednemit.py
@@ -49,6 +49,9 @@ class EDNEmit(Emit):
# remove any keys we don't really care to share
for key in self.remove_keys:
output_dict.pop(key, None)
+ for key in list(output_dict.keys()):
+ if not self.should_emit_field(param, key):
+ output_dict.pop(key, None)
# rearrange bitmasks to be a vector with nil's if the bit doesn't have meaning
if "bitmask" in output_dict:
diff --git a/Tools/autotest/param_metadata/emit.py b/Tools/autotest/param_metadata/emit.py
index 6bffd455d4..daad4bbfc5 100644
--- a/Tools/autotest/param_metadata/emit.py
+++ b/Tools/autotest/param_metadata/emit.py
@@ -19,3 +19,6 @@ class Emit:
def emit(self, g):
pass
+
+ def should_emit_field(self, param, field):
+ return field not in ['Legacy']
diff --git a/Tools/autotest/param_metadata/htmlemit.py b/Tools/autotest/param_metadata/htmlemit.py
index 201a13ef9a..1f3a26bb29 100644
--- a/Tools/autotest/param_metadata/htmlemit.py
+++ b/Tools/autotest/param_metadata/htmlemit.py
@@ -65,6 +65,8 @@ DO NOT EDIT
t += "
\n"
for field in param.__dict__.keys():
+ if not self.should_emit_field(param, field):
+ continue
if field not in ['name', 'DisplayName', 'Description', 'User', 'SortValues'] and field in known_param_fields:
if field == 'Values' and Emit.prog_values_field.match(param.__dict__[field]):
values = (param.__dict__[field]).split(',')
diff --git a/Tools/autotest/param_metadata/jsonemit.py b/Tools/autotest/param_metadata/jsonemit.py
index 0ff31366a0..b5e9e5c428 100644
--- a/Tools/autotest/param_metadata/jsonemit.py
+++ b/Tools/autotest/param_metadata/jsonemit.py
@@ -56,6 +56,9 @@ class JSONEmit(Emit):
name = name.split(':')[1]
# Remove various unwanted keys
+ for key in list(param.__dict__.keys()):
+ if not self.should_emit_field(param, key):
+ param.__dict__.pop(key)
for key in 'real_path', 'SortValues', '__field_text':
try:
param.__dict__.pop(key)
diff --git a/Tools/autotest/param_metadata/mdemit.py b/Tools/autotest/param_metadata/mdemit.py
index e6edba803b..1b37acaf34 100644
--- a/Tools/autotest/param_metadata/mdemit.py
+++ b/Tools/autotest/param_metadata/mdemit.py
@@ -90,6 +90,8 @@ class MDEmit(Emit):
t += "\n\n%s" % param.Description
for field in param.__dict__.keys():
+ if not self.should_emit_field(param, field):
+ continue
if field not in ['name', 'DisplayName', 'Description', 'User', 'SortValues'] and field in known_param_fields:
if field == 'Values' and Emit.prog_values_field.match(param.__dict__[field]):
values = (param.__dict__[field]).split(',')
diff --git a/Tools/autotest/param_metadata/param.py b/Tools/autotest/param_metadata/param.py
index e8be59cfd6..89e0294e8f 100644
--- a/Tools/autotest/param_metadata/param.py
+++ b/Tools/autotest/param_metadata/param.py
@@ -51,7 +51,8 @@ known_param_fields = [
'ReadOnly',
'Calibration',
'Vector3Parameter',
- 'SortValues'
+ 'SortValues',
+ 'Legacy',
]
# Follow SI units conventions from:
diff --git a/Tools/autotest/param_metadata/rstemit.py b/Tools/autotest/param_metadata/rstemit.py
index 4fa423b690..6175c21fa5 100755
--- a/Tools/autotest/param_metadata/rstemit.py
+++ b/Tools/autotest/param_metadata/rstemit.py
@@ -225,6 +225,9 @@ This list is automatically generated from the latest ardupilot source code, and
reference=reference)
for param in g.params:
+ if getattr(param, "Legacy", False):
+ # do not emit legacy parameters to the Wiki
+ continue
if not hasattr(param, 'DisplayName') or not hasattr(param, 'Description'):
continue
d = param.__dict__
@@ -263,6 +266,8 @@ This list is automatically generated from the latest ardupilot source code, and
headings = []
row = []
for field in sorted(param.__dict__.keys()):
+ if not self.should_emit_field(param, field):
+ continue
if (field not in ['name', 'DisplayName', 'Description', 'User', 'SortValues', 'RebootRequired'] and
field in known_param_fields):
headings.append(field)
diff --git a/Tools/autotest/param_metadata/xmlemit.py b/Tools/autotest/param_metadata/xmlemit.py
index 7d19234baa..0ec4b6654a 100644
--- a/Tools/autotest/param_metadata/xmlemit.py
+++ b/Tools/autotest/param_metadata/xmlemit.py
@@ -63,6 +63,8 @@ class XmlEmit(Emit):
# Add values as chidren of this node
for field in param.__dict__.keys():
+ if not self.should_emit_field(param, field):
+ continue
if field not in ['name', 'DisplayName', 'Description', 'User', 'SortValues'] and field in known_param_fields:
if field == 'Values' and Emit.prog_values_field.match(param.__dict__[field]):
xml_values = etree.SubElement(xml_param, 'values')