mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
Update parameter script to include increment, enum value, bitmask, module information
This commit is contained in:
parent
8e217b0287
commit
33b4ec450d
@ -8,27 +8,92 @@ class MarkdownTablesOutput():
|
||||
"\n")
|
||||
for group in groups:
|
||||
result += '## %s\n\n' % group.GetName()
|
||||
result += '<table style="width: 100%;">\n'
|
||||
result += '<colgroup><col style="width: 25%"><col style="width: 45%"><col style="width: 10%"><col style="width: 10%"><col style="width: 10%"></colgroup>\n'
|
||||
result += '<thead><tr><th class="col0" rowspan="2">Name</th><th class="col1">Description</th><th class="col2 rightalign">Min</th><th class="col3 rightalign">Max</th><th class="col4 rightalign">Default</th></tr>\n'
|
||||
result += '</thead>\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 += '<table style="width: 100%; table-layout:fixed; font-size:1.5rem;">\n'
|
||||
result += ' <colgroup><col style="width: 23%"><col style="width: 46%"><col style="width: 11%"><col style="width: 11%"><col style="width: 9%"></colgroup>\n'
|
||||
result += ' <thead>\n'
|
||||
result += ' <tr><th>Name</th><th>Description</th><th>Min > Max (Incr.)</th><th>Default</th><th>Units</th></tr>\n'
|
||||
result += ' </thead>\n'
|
||||
result += '<tbody>\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 = '<p><strong>Comment:</strong> %s</p>' % long_desc
|
||||
|
||||
if name == code:
|
||||
name = ""
|
||||
code='<strong id="%s">%s</strong>' % (code, code)
|
||||
|
||||
if reboot_required:
|
||||
reboot_required='<p><b>Reboot required:</b> %s</p>\n' % reboot_required
|
||||
|
||||
result += '<tr><td class="col0">%s</td><td class="col1"><p>%s</p>%s</td><td class="col2 rightalign">%s</td><td class="col3 rightalign">%s</td><td class="col4 rightalign">%s</td></tr>\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='<p><b>Module:</b> %s</p>\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+='<strong>Values:</strong><ul>'
|
||||
enum_codes=sorted(enum_codes,key=int)
|
||||
for item in enum_codes:
|
||||
enum_output+='\n<li><strong>%s:</strong> %s</li> \n' % (item, param.GetEnumValue(item))
|
||||
enum_output+='</ul>\n'
|
||||
|
||||
|
||||
bitmask_list=param.GetBitmaskList() #Gets bitmask values for parameter
|
||||
bitmask_output=''
|
||||
#Format bitmask values
|
||||
if bitmask_list:
|
||||
bitmask_output+='<strong>Bitmask:</strong><ul>'
|
||||
for bit in bitmask_list:
|
||||
bit_text = param.GetBitmaskBit(bit)
|
||||
bitmask_output+=' <li><strong>%s:</strong> %s</li> \n' % (bit, bit_text)
|
||||
bitmask_output+='</ul>\n'
|
||||
|
||||
|
||||
result += '<tr>\n <td style="vertical-align: top;">%s (%s)</td>\n <td style="vertical-align: top;"><p>%s</p>%s %s %s %s %s</td>\n <td style="vertical-align: top;">%s</td>\n <td style="vertical-align: top;">%s </td>\n <td style="vertical-align: top;">%s</td>\n</tr>\n' % (code,type,name, long_desc, enum_output, bitmask_output, reboot_required, scope, max_min_combined,def_val,unit)
|
||||
|
||||
#Close the table.
|
||||
result += '</tbody></table>\n\n'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user