mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-10 06:39:25 +08:00
3cd9b3c2cf
Mavlink Ethernet channel settings such as udp port, remote port and broadcast mode now can be changed dynamically via parameters.
219 lines
9.7 KiB
YAML
219 lines
9.7 KiB
YAML
# Cerberus Validation Schema for module configuration files.
|
|
# See http://docs.python-cerberus.org/en/stable/validation-rules.html
|
|
|
|
|
|
module_name:
|
|
# human-readable module name (used for descriptions, can contain spaces)
|
|
type: string
|
|
required: true
|
|
|
|
serial_config:
|
|
# UART configuration (optional)
|
|
# A module can register autostart command(s) that are associated with a
|
|
# configuration parameter, so that a user can select on which serial port to
|
|
# run the command.
|
|
# One or several commands can be defined.
|
|
type: list
|
|
minlength: 1
|
|
schema:
|
|
type: dict
|
|
schema:
|
|
command:
|
|
# script command that is executed on autostart.
|
|
# These variables can be used:
|
|
# ${SERIAL_DEV} Serial device (e.g. /dev/ttyS1)
|
|
# ${BAUD_PARAM} param name for the baudrate
|
|
# ${i} instance in [0, N-1] (for multi-instance commands)
|
|
# It's possible to use multiple lines.
|
|
type: string
|
|
required: true
|
|
|
|
port_config_param:
|
|
# Parameter definition to configure on which port to run the
|
|
# command
|
|
type: dict
|
|
required: true
|
|
schema:
|
|
name:
|
|
# Parameter name (e.g. TEL_FRSKY_CONFIG, MAV_${i}_CONFIG)
|
|
type: string
|
|
regex: '[0-9A-Z_]+(\$\{i\}[0-9A-Z_]*)?_(CONFIG|CFG)'
|
|
required: true
|
|
group:
|
|
# Associated parameter group (e.g. GPS)
|
|
type: string
|
|
required: true
|
|
default:
|
|
# Default value(s). This can be a string to specify the
|
|
# serial tag (e.g. GPS1, TEL1, ...) or a list of strings
|
|
# for multiple instances.
|
|
# If omitted, the command is disabled by default.
|
|
anyof:
|
|
- type: string
|
|
- type: list
|
|
minlength: 1
|
|
schema:
|
|
type: string
|
|
depends_on_port:
|
|
# Optional serial tag dependency (e.g. GPS1). If a board
|
|
# does not specify this serial port, the parameter will
|
|
# not be included in the build (i.e. it's not
|
|
# configurable)
|
|
type: string
|
|
description_extended:
|
|
# Optional extended description
|
|
type: string
|
|
label:
|
|
# Optional command label (e.g. used in the autostart script).
|
|
# If omitted, module_name is used.
|
|
type: string
|
|
num_instances:
|
|
# Allow to configure and run multiple instances of a command.
|
|
# For multiple instances, '${i}' can be used to refer to
|
|
# an instance, for example in the parameter name or script
|
|
# command.
|
|
# Default: 1
|
|
type: integer
|
|
min: 1
|
|
ethernet:
|
|
# Optional command ethernet.
|
|
# If omitted, ethernet condiguration value will be omitted.
|
|
nullable: True
|
|
|
|
|
|
parameters:
|
|
# Parameter definitions.
|
|
# This is a list of parameter groups, where each group has one or more
|
|
# parameter definitions.
|
|
type: list
|
|
minlength: 1
|
|
schema:
|
|
type: dict
|
|
schema:
|
|
group:
|
|
# Parameter group (should be short)
|
|
# This applies to all parameters in the definitions dictionary
|
|
type: string
|
|
required: true
|
|
definitions:
|
|
type: dict
|
|
keyschema:
|
|
type: string
|
|
regex: '[0-9A-Z_]+(\$\{i\}[0-9A-Z_]*)?'
|
|
valueschema:
|
|
type: dict
|
|
schema:
|
|
description:
|
|
type: dict
|
|
required: true
|
|
schema:
|
|
short:
|
|
# Short description (one line)
|
|
type: string
|
|
required: true
|
|
long:
|
|
# Long description (can be multiple lines)
|
|
type: string
|
|
required: true
|
|
|
|
type:
|
|
# Define the parameter type
|
|
required: true
|
|
type: string
|
|
allowed: ['int32', 'float', 'boolean', 'enum', 'bitmask' ]
|
|
min:
|
|
# Optional minimum value (only for int32 or float)
|
|
type: number
|
|
max:
|
|
# Optional maximum value (only for int32 or float)
|
|
type: number
|
|
decimal:
|
|
# Optional number of decimal places to display (only for float)
|
|
type: number
|
|
increment:
|
|
# Optional increment step size (for a GCS) (only for float)
|
|
type: number
|
|
unit:
|
|
# Optional parameter unit (only for int32 or float)
|
|
# (Extend this list as needed)
|
|
type: string
|
|
allowed: [
|
|
'%', 'Hz', 'mAh',
|
|
'rad', '%/rad', 'rad/s', 'rad/s^2', '%/rad/s', 'rad s^2/m','rad s/m',
|
|
'bit/s', 'B/s',
|
|
'deg', 'deg*1e7', 'deg/s',
|
|
'celcius', 'gauss', 'gauss/s', 'mgauss', 'mgauss^2',
|
|
'hPa', 'kg', 'kg/m^2', 'kg m^2',
|
|
'mm', 'm', 'm/s', 'm^2', 'm/s^2', 'm/s^3', 'm/s^2/sqrt(Hz)', 'm/s/rad',
|
|
'Ohm', 'V',
|
|
'us', 'ms', 's',
|
|
'S', 'A/%', '(m/s^2)^2', 'm/m', 'tan(rad)^2', '(m/s)^2', 'm/rad',
|
|
'm/s^3/sqrt(Hz)', 'm/s/sqrt(Hz)', 's/(1000*PWM)', '%m/s', 'min', 'us/C',
|
|
'N/(m/s)', 'Nm/(rad/s)', 'Nm', 'N',
|
|
'normalized_thrust/s', 'normalized_thrust', 'norm', 'SD']
|
|
bit:
|
|
# description of all bits for type bitmask.
|
|
# The first bit is 0.
|
|
type: dict
|
|
keyschema:
|
|
type: integer
|
|
valueschema:
|
|
type: string
|
|
|
|
values:
|
|
# enumeration of possible values for type enum
|
|
type: dict
|
|
keyschema:
|
|
type: integer
|
|
valueschema:
|
|
type: string
|
|
|
|
default:
|
|
# Default value(s). This is an integer or a float,
|
|
# or a list of values for multiple instances.
|
|
required: true
|
|
anyof:
|
|
- type: boolean
|
|
- type: number
|
|
- type: list
|
|
minlength: 1
|
|
schema:
|
|
anyof:
|
|
- type: boolean
|
|
- type: number
|
|
- type: list
|
|
|
|
category:
|
|
# Optional parameter category
|
|
type: string
|
|
allowed: [ 'Developer', 'System' ]
|
|
volatile:
|
|
# Optional volatile flag. Set to true if the
|
|
# parameter can be changed by the system
|
|
# automatially
|
|
type: boolean
|
|
reboot_required:
|
|
# set to true, if changing of the parameter requires
|
|
# a reboot to take effect
|
|
type: boolean
|
|
num_instances:
|
|
# Optional number of instances.
|
|
# For multiple instances, '${i}' can be used to
|
|
# refer to an instance, for example in the parameter
|
|
# name or description.
|
|
# Default: 1
|
|
type: integer
|
|
min: 1
|
|
instance_start:
|
|
# The value of the first instance for multiple
|
|
# instances, used in '${i}'. If 0, ${i} expands to
|
|
# [0, N-1]
|
|
# Default: 0
|
|
type: integer
|
|
ethernet:
|
|
# Optional command ethernet.
|
|
# If specified, parameter will be generated only if board supports Ethernet.
|
|
nullable: True
|
|
|
|
|