diff --git a/Tools/px4params/markdownout.py b/Tools/px4params/markdownout.py index 4fa1836000..16ce2f3ee4 100644 --- a/Tools/px4params/markdownout.py +++ b/Tools/px4params/markdownout.py @@ -8,27 +8,92 @@ class MarkdownTablesOutput(): "\n") for group in groups: result += '## %s\n\n' % group.GetName() - result += '\n' - result += '\n' - result += '\n' - result += '\n' + + #Check if scope (module where parameter is defined) is the same for all parameters in the group. + # If so then display just once about the table. + scope_set = set() + for param in group.GetParams(): + scope_set.add(param.GetFieldValue("scope")) + if len(scope_set)==1: + result+='\nThe module where these parameters are defined is: *%s*.\n\n' % list(scope_set)[0] + + + result += '
NameDescriptionMinMaxDefault
\n' + result += ' \n' + result += ' \n' + result += ' \n' + result += ' \n' result += '\n' - + for param in group.GetParams(): code = param.GetName() - def_val = param.GetDefault() or '' name = param.GetFieldValue("short_desc") or '' + long_desc = param.GetFieldValue("long_desc") or '' min_val = param.GetFieldValue("min") or '' max_val = param.GetFieldValue("max") or '' - long_desc = param.GetFieldValue("long_desc") or '' + increment = param.GetFieldValue("increment") or '' + def_val = param.GetDefault() or '' + unit = param.GetFieldValue("unit") or '' + type = param.GetType() + reboot_required = param.GetFieldValue("reboot_required") or '' + #board = param.GetFieldValue("board") or '' ## Disabled as no board values are defined in any parameters! + #decimal = param.GetFieldValue("decimal") or '' #Disabled as is intended for GCS not people + #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+='%s > %s ' % (min_val, max_val) + if increment: + max_min_combined+='(%s)' % increment + if long_desc is not '': long_desc = '

Comment: %s

' % long_desc if name == code: name = "" code='%s' % (code, code) + + if reboot_required: + reboot_required='

Reboot required: %s

\n' % reboot_required - result += '\n' % (code,name, long_desc, min_val,max_val,def_val) + scope='' + if not len(scope_set)==1 or len(scope_set)==0: + scope = param.GetFieldValue("scope") or '' + if scope: + scope='

Module: %s

\n' % scope + + + 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:\n' + + + bitmask_list=param.GetBitmaskList() #Gets bitmask values for parameter + bitmask_output='' + #Format bitmask values + if bitmask_list: + bitmask_output+='Bitmask:\n' + + + result += '\n \n \n \n \n \n\n' % (code,type,name, long_desc, enum_output, bitmask_output, reboot_required, scope, max_min_combined,def_val,unit) #Close the table. result += '
NameDescriptionMin > Max (Incr.)DefaultUnits
%s

%s

%s
%s%s%s
%s (%s)

%s

%s %s %s %s %s
%s%s %s
\n\n'