forked from Archive/PX4-Autopilot
module_config: support custom actuators_metadata backed by module-level params
This commit is contained in:
parent
7eb6535273
commit
9c467198be
|
@ -264,7 +264,18 @@ def get_actuator_output(yaml_config, output_functions, timer_config_file, verbos
|
||||||
}
|
}
|
||||||
per_channel_params.append(param)
|
per_channel_params.append(param)
|
||||||
|
|
||||||
# TODO: support non-standard per-channel parameters
|
custom_params = group.get('custom_params', [])
|
||||||
|
for custom_param in custom_params:
|
||||||
|
# Simply pulls all custom params, assuming they are valid ones
|
||||||
|
param = {
|
||||||
|
'name': param_prefix+'_'+custom_param['name'],
|
||||||
|
}
|
||||||
|
# TODO: check and match the custom params in output_groups with module-level parameters
|
||||||
|
del custom_param['name']
|
||||||
|
for param_key in custom_param:
|
||||||
|
# '-' is used in actuators.schema.json, while '_' is used in module_schema.yml
|
||||||
|
param[param_key.replace('_', '-')] = custom_param[param_key]
|
||||||
|
per_channel_params.append(param)
|
||||||
|
|
||||||
subgroup['per-channel-parameters'] = per_channel_params
|
subgroup['per-channel-parameters'] = per_channel_params
|
||||||
|
|
||||||
|
|
|
@ -369,6 +369,33 @@ actuator_output:
|
||||||
# ui only shows the param if this condition is true
|
# ui only shows the param if this condition is true
|
||||||
type: string
|
type: string
|
||||||
regex: *condition_regex
|
regex: *condition_regex
|
||||||
|
custom_params:
|
||||||
|
type: list
|
||||||
|
schema: &mixer_parameter
|
||||||
|
type: dict
|
||||||
|
schema:
|
||||||
|
label:
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
# param name
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
show_as:
|
||||||
|
type: string
|
||||||
|
allowed: [ 'bitset', 'true-if-positive' ]
|
||||||
|
show_if:
|
||||||
|
# condition
|
||||||
|
type: string
|
||||||
|
regex: *condition_regex
|
||||||
|
index_offset:
|
||||||
|
type: integer
|
||||||
|
advanced:
|
||||||
|
type: integer
|
||||||
|
function:
|
||||||
|
type: string
|
||||||
|
identifier:
|
||||||
|
# for rules
|
||||||
|
type: string
|
||||||
extra_function_groups:
|
extra_function_groups:
|
||||||
# Additional function groups to add, defined in output_functions.yaml
|
# Additional function groups to add, defined in output_functions.yaml
|
||||||
type: list
|
type: list
|
||||||
|
@ -477,31 +504,7 @@ mixer:
|
||||||
per_item_parameters:
|
per_item_parameters:
|
||||||
type: list
|
type: list
|
||||||
minlength: 1
|
minlength: 1
|
||||||
schema: &mixer_parameter
|
schema: *mixer_parameter
|
||||||
type: dict
|
|
||||||
schema:
|
|
||||||
label:
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
# param name
|
|
||||||
type: string
|
|
||||||
required: true
|
|
||||||
show_as:
|
|
||||||
type: string
|
|
||||||
allowed: [ 'bitset', 'true-if-positive' ]
|
|
||||||
show_if:
|
|
||||||
# condition
|
|
||||||
type: string
|
|
||||||
regex: *condition_regex
|
|
||||||
index_offset:
|
|
||||||
type: integer
|
|
||||||
advanced:
|
|
||||||
type: integer
|
|
||||||
function:
|
|
||||||
type: string
|
|
||||||
identifier:
|
|
||||||
# for rules
|
|
||||||
type: string
|
|
||||||
rules:
|
rules:
|
||||||
# mixer rules, validated by the mavlink actuator component information schema
|
# mixer rules, validated by the mavlink actuator component information schema
|
||||||
type: list
|
type: list
|
||||||
|
|
Loading…
Reference in New Issue