From a07c986dbc893dd3e87be95a3a13841ae1279952 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Fri, 26 Jul 2024 07:46:11 +1000 Subject: [PATCH] Params generated as markdown table (#23443) --- src/lib/parameters/px4params/markdownout.py | 86 +++++++-------------- 1 file changed, 26 insertions(+), 60 deletions(-) diff --git a/src/lib/parameters/px4params/markdownout.py b/src/lib/parameters/px4params/markdownout.py index f83c504f80..34e6f9e386 100644 --- a/src/lib/parameters/px4params/markdownout.py +++ b/src/lib/parameters/px4params/markdownout.py @@ -17,38 +17,21 @@ If a listed parameter is missing from the Firmware see: [Finding/Updating Parame - - """ ) for group in groups: - result += '## %s\n\n' % group.GetName() - result += ( -""" - - - - - -""" - ) + result += f'## {group.GetName()}\n\n' + for param in group.GetParams(): - code = param.GetName() - name = param.GetFieldValue("short_desc") or '' - name = html.escape(name) + name = param.GetName() + short_desc = param.GetFieldValue("short_desc") or '' + if short_desc: + if not short_desc.strip().endswith('.'): + short_desc += "." + #short_desc = html.escape(short_desc) long_desc = param.GetFieldValue("long_desc") or '' - long_desc = html.escape(long_desc) + #long_desc = html.escape(long_desc) min_val = param.GetFieldValue("min") or '' max_val = param.GetFieldValue("max") or '' increment = param.GetFieldValue("increment") or '' @@ -62,60 +45,43 @@ table { #field_codes = param.GetFieldCodes() ## Disabled as not needed for display. #boolean = param.GetFieldValue("boolean") # or '' # Disabled - does not appear useful. - # Format values for display. - # Display min/max/increment value based on what values are defined. - max_min_combined = '' - if min_val or max_val: - if not min_val: - min_val='?' - if not max_val: - max_val='?' - max_min_combined+=f"[{min_val}, {max_val}] " - if increment: - max_min_combined+='(%s)' % increment - - if long_desc != '': - long_desc = f"

Comment: {long_desc}

" - - if name == code: - name = "" - code=f"{code}" - - if reboot_required: - reboot_required='

Reboot required: %s

\n' % reboot_required - enum_codes=param.GetEnumCodes() or '' # Gets numerical values for parameter. enum_output='' # Format codes and their descriptions for display. if enum_codes: - enum_output+='Values:' - + enum_output+=f"- `{item}`: {param.GetEnumValue(item)}\n" + enum_output+='\n\n' bitmask_list=param.GetBitmaskList() #Gets bitmask values for parameter bitmask_output='' #Format bitmask values if bitmask_list: - bitmask_output+='Bitmask:\n' + bitmask_output+=f"- `{bit}`: {bit_text}\n" + bitmask_output+='\n\n' if is_boolean and def_val=='1': def_val='Enabled (1)' if is_boolean and def_val=='0': def_val='Disabled (0)' - result += f"\n \n \n \n \n \n\n" - - #Close the table. - result += '
NameDescription[Min, Max] (Incr.)DefaultUnits
{code} ({type}){name} {long_desc} {enum_output} {bitmask_output} {reboot_required}{max_min_combined}{def_val}{unit}
\n\n' + result += f'### {name} (`{type}`)' + ' {#' + name + '}\n\n' + if short_desc: + result += f'{short_desc}\n\n' + if long_desc: + result += f'{long_desc}\n\n' + if enum_codes: + result += enum_output + if bitmask_list: + result += bitmask_output + # Format the ranges as a table. + result += f"Reboot | minValue | maxValue | increment | default | unit\n--- | --- | --- | --- | --- | ---\n{reboot_required} | {min_val} | {max_val} | {increment} | {def_val} | {unit} \n\n" self.output = result