move PWM params to lib

This commit is contained in:
Daniel Agar
2021-02-09 08:57:00 +01:00
committed by Lorenz Meier
parent 8a047c8965
commit 9f00fd2796
6 changed files with 37 additions and 4 deletions
+1
View File
@@ -58,6 +58,7 @@ add_subdirectory(motion_planning)
add_subdirectory(output_limit)
add_subdirectory(perf)
add_subdirectory(pid)
add_subdirectory(pwm)
add_subdirectory(rc)
add_subdirectory(sensor_calibration)
add_subdirectory(slew_rate)
+36
View File
@@ -0,0 +1,36 @@
############################################################################
#
# Copyright (c) 2021 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_CONFIG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/pwm_main_params.yaml)
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_CONFIG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/pwm_aux_params.yaml)
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_CONFIG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/pwm_extra_params.yaml)
+147
View File
@@ -0,0 +1,147 @@
__max_num_config_instances: &max_num_config_instances 8
module_name: pwm_out
parameters:
- group: PWM Outputs
definitions:
PWM_AUX_RATE:
description:
short: PWM aux output frequency
long: |
Set to 400 for industry default or 1000 for high frequency ESCs.
Set to 0 for Oneshot125.
type: int32
unit: Hz
min: -1
max: 2000
default: 50
PWM_AUX_MIN:
description:
short: PWM aux minimum value
long: |
Set to 1000 for industry default or 900 to increase servo travel.
type: int32
unit: us
min: 800
max: 1400
default: 1000
PWM_AUX_MAX:
description:
short: PWM aux maximum value
long: |
Set to 2000 for industry default or 2100 to increase servo travel.
type: int32
unit: us
min: 1600
max: 2200
default: 2000
PWM_AUX_DISARM:
description:
short: PWM aux disarmed value
long: |
This is the PWM pulse the autopilot is outputting if not armed.
The main use of this parameter is to silence ESCs when they are disarmed.
type: int32
unit: us
min: 0
max: 2200
default: 1500
PWM_AUX_MIN${i}:
description:
short: PWM aux ${i} minimum value
long: |
This is the minimum PWM pulse the autopilot is allowed to output.
When set to -1 the value for PWM_AUX_MIN will be used
type: int32
unit: us
min: -1
max: 1600
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_AUX_MAX${i}:
description:
short: PWM aux ${i} maximum value
long: |
This is the maximum PWM pulse the autopilot is allowed to output.
When set to -1 the value for PWM_AUX_MAX will be used
type: int32
unit: us
min: -1
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_AUX_FAIL${i}:
description:
short: PWM aux ${i} failsafe value
long: |
This is the PWM pulse the autopilot is outputting if in failsafe mode.
When set to -1 the value is set automatically depending if the actuator
is a motor (900us) or a servo (1500us)
type: int32
unit: us
min: 0
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_AUX_DIS${i}:
description:
short: PWM aux ${i} disarmed value
long: |
This is the PWM pulse the autopilot is outputting if not armed.
When set to -1 the value for PWM_AUX_DISARMED will be used
type: int32
unit: us
min: -1
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_AUX_TRIM${i}:
description:
short: PWM aux ${i} trim value
long: |
Set to normalized offset
type: float
min: -0.2
max: 0.2
decimal: 2
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_AUX_REV${i}:
description:
short: PWM aux ${i} reverse value
long: |
Enable to invert the channel.
Warning: Use this parameter when connected to a servo only.
For a brushless motor, invert manually two phases to reverse the direction.
type: boolean
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_AUX_RATE${i}:
description:
short: PWM aux ${i} rate
long: |
Set the default PWM output frequency for the aux outputs
type: int32
unit: Hz
min: 0
max: 400
instance_start: 1
default: 50
+147
View File
@@ -0,0 +1,147 @@
__max_num_config_instances: &max_num_config_instances 8
module_name: pwm_out
parameters:
- group: PWM Outputs
definitions:
PWM_EXTRA_RATE:
description:
short: PWM extra output frequency
long: |
Set to 400 for industry default or 1000 for high frequency ESCs.
Set to 0 for Oneshot125.
type: int32
unit: Hz
min: -1
max: 2000
default: 50
PWM_EXTRA_MIN:
description:
short: PWM extra minimum value
long: |
Set to 1000 for industry default or 900 to increase servo travel.
type: int32
unit: us
min: 800
max: 1400
default: 1000
PWM_EXTRA_MAX:
description:
short: PWM extra maximum value
long: |
Set to 2000 for industry default or 2100 to increase servo travel.
type: int32
unit: us
min: 1600
max: 2200
default: 2000
PWM_EXTRA_DISARM:
description:
short: PWM extra disarmed value
long: |
This is the PWM pulse the autopilot is outputting if not armed.
The main use of this parameter is to silence ESCs when they are disarmed.
type: int32
unit: us
min: 0
max: 2200
default: 1500
PWM_EXTRA_MIN${i}:
description:
short: PWM extra ${i} minimum value
long: |
This is the minimum PWM pulse the autopilot is allowed to output.
When set to -1 the value for PWM_EXTRA_MIN will be used
type: int32
unit: us
min: -1
max: 1600
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_EXTRA_MAX${i}:
description:
short: PWM extra ${i} maximum value
long: |
This is the maximum PWM pulse the autopilot is allowed to output.
When set to -1 the value for PWM_EXTRA_MAX will be used
type: int32
unit: us
min: -1
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_EXTRA_FAIL${i}:
description:
short: PWM extra ${i} failsafe value
long: |
This is the PWM pulse the autopilot is outputting if in failsafe mode.
When set to -1 the value is set automatically depending if the actuator
is a motor (900us) or a servo (1500us)
type: int32
unit: us
min: 0
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_EXTRA_DIS${i}:
description:
short: PWM extra ${i} disarmed value
long: |
This is the PWM pulse the autopilot is outputting if not armed.
When set to -1 the value for PWM_EXTRA_DISARM will be used
type: int32
unit: us
min: -1
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_EXTRA_TRIM${i}:
description:
short: PWM extra ${i} trim value
long: |
Set to normalized offset
type: float
min: -0.2
max: 0.2
decimal: 2
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_EXTRA_REV${i}:
description:
short: PWM extra ${i} reverse value
long: |
Enable to invert the channel.
Warning: Use this parameter when connected to a servo only.
For a brushless motor, invert manually two phases to reverse the direction.
type: boolean
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_EXTRA_RATE${i}:
description:
short: PWM extra ${i} rate
long: |
Set the default PWM output frequency for the main outputs
type: int32
unit: Hz
min: 0
max: 400
instance_start: 1
default: 50
+147
View File
@@ -0,0 +1,147 @@
__max_num_config_instances: &max_num_config_instances 14
module_name: pwm_out
parameters:
- group: PWM Outputs
definitions:
PWM_MAIN_RATE:
description:
short: PWM main output frequency
long: |
Set to 400 for industry default or 1000 for high frequency ESCs.
Set to 0 for Oneshot125.
type: int32
unit: Hz
min: -1
max: 2000
default: 400
PWM_MAIN_MIN:
description:
short: PWM main minimum value
long: |
Set to 1000 for industry default or 900 to increase servo travel.
type: int32
unit: us
min: 800
max: 1400
default: 1000
PWM_MAIN_MAX:
description:
short: PWM main maximum value
long: |
Set to 2000 for industry default or 2100 to increase servo travel.
type: int32
unit: us
min: 1600
max: 2200
default: 2000
PWM_MAIN_DISARM:
description:
short: PWM main disarmed value
long: |
This is the PWM pulse the autopilot is outputting if not armed.
The main use of this parameter is to silence ESCs when they are disarmed.
type: int32
unit: us
min: 0
max: 2200
default: 900
PWM_MAIN_MIN${i}:
description:
short: PWM main ${i} minimum value
long: |
This is the minimum PWM pulse the autopilot is allowed to output.
When set to -1 the value for PWM_MIN will be used
type: int32
unit: us
min: -1
max: 1600
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_MAIN_MAX${i}:
description:
short: PWM main ${i} maximum value
long: |
This is the maximum PWM pulse the autopilot is allowed to output.
When set to -1 the value for PWM_MAX will be used
type: int32
unit: us
min: -1
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_MAIN_FAIL${i}:
description:
short: PWM main ${i} failsafe value
long: |
This is the PWM pulse the autopilot is outputting if in failsafe mode.
When set to -1 the value is set automatically depending if the actuator
is a motor (900us) or a servo (1500us)
type: int32
unit: us
min: 0
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_MAIN_DIS${i}:
description:
short: PWM main ${i} disarmed value
long: |
This is the PWM pulse the autopilot is outputting if not armed.
When set to -1 the value for PWM_DISARMED will be used
type: int32
unit: us
min: -1
max: 2150
num_instances: *max_num_config_instances
instance_start: 1
default: -1
PWM_MAIN_TRIM${i}:
description:
short: PWM main ${i} trim value
long: |
Set to normalized offset
type: float
min: -0.2
max: 0.2
decimal: 2
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_MAIN_REV${i}:
description:
short: PWM main ${i} reverse value
long: |
Enable to invert the channel.
Warning: Use this parameter when connected to a servo only.
For a brushless motor, invert manually two phases to reverse the direction.
type: boolean
num_instances: *max_num_config_instances
instance_start: 1
default: 0
PWM_MAIN_RATE${i}:
description:
short: PWM main ${i} rate
long: |
Set the default PWM output frequency for the main outputs
type: int32
unit: Hz
min: 0
max: 400
instance_start: 1
default: 50