mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 10:33:35 +08:00
support up to PWM 14
- generate PWM_MAIN 1-14
- generate PWM_AUX 1-8
- generate PWM_EXTRA 1-8
- px4io and pwm_out directly read configuration parameters
- only available and active physical outputs are actually shown for configuration
- overall saves flash despite adding many new parameters
This commit is contained in:
committed by
Lorenz Meier
parent
cdd6df4e27
commit
318c7e83b3
@@ -21,8 +21,6 @@ if [ $AUTOCNF = yes ]
|
||||
then
|
||||
param set CBRK_IO_SAFETY 22027
|
||||
|
||||
param set FAILSAFE 100
|
||||
|
||||
param set MC_ROLL_P 2.2
|
||||
param set MC_ROLLRATE_P 0.06
|
||||
param set MC_ROLLRATE_I 0.2
|
||||
|
||||
@@ -226,13 +226,11 @@ then
|
||||
fi
|
||||
else
|
||||
set PWM_AUX_OUT none
|
||||
set FAILSAFE_AUX none
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Could not start: pwm_out mode_pwm"
|
||||
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
|
||||
set PWM_AUX_OUT none
|
||||
set FAILSAFE_AUX none
|
||||
fi
|
||||
|
||||
# for DShot do not configure pwm values
|
||||
@@ -246,74 +244,7 @@ then
|
||||
then
|
||||
pwm rate -c ${PWM_AUX_OUT} -r ${PWM_AUX_RATE} -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
|
||||
# Set disarmed, min and max PWM_AUX values.
|
||||
if [ $PWM_AUX_DISARMED != none ]
|
||||
then
|
||||
pwm disarmed -c ${PWM_AUX_OUT} -p ${PWM_AUX_DISARMED} -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
if [ $PWM_AUX_MIN != none ]
|
||||
then
|
||||
pwm min -c ${PWM_AUX_OUT} -p ${PWM_AUX_MIN} -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
if [ $PWM_AUX_MAX != none ]
|
||||
then
|
||||
pwm max -c ${PWM_AUX_OUT} -p ${PWM_AUX_MAX} -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Per channel disarmed settings.
|
||||
#
|
||||
pwm disarmed -c 1 -p p:PWM_AUX_DIS1 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 2 -p p:PWM_AUX_DIS2 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 3 -p p:PWM_AUX_DIS3 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 4 -p p:PWM_AUX_DIS4 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 5 -p p:PWM_AUX_DIS5 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 6 -p p:PWM_AUX_DIS6 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 7 -p p:PWM_AUX_DIS7 -d ${OUTPUT_AUX_DEV}
|
||||
pwm disarmed -c 8 -p p:PWM_AUX_DIS8 -d ${OUTPUT_AUX_DEV}
|
||||
|
||||
#
|
||||
# Per channel min settings.
|
||||
#
|
||||
pwm min -c 1 -p p:PWM_AUX_MIN1 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 2 -p p:PWM_AUX_MIN2 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 3 -p p:PWM_AUX_MIN3 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 4 -p p:PWM_AUX_MIN4 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 5 -p p:PWM_AUX_MIN5 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 6 -p p:PWM_AUX_MIN6 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 7 -p p:PWM_AUX_MIN7 -d ${OUTPUT_AUX_DEV}
|
||||
pwm min -c 8 -p p:PWM_AUX_MIN8 -d ${OUTPUT_AUX_DEV}
|
||||
|
||||
#
|
||||
# Per channel max settings.
|
||||
#
|
||||
pwm max -c 1 -p p:PWM_AUX_MAX1 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 2 -p p:PWM_AUX_MAX2 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 3 -p p:PWM_AUX_MAX3 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 4 -p p:PWM_AUX_MAX4 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 5 -p p:PWM_AUX_MAX5 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 6 -p p:PWM_AUX_MAX6 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 7 -p p:PWM_AUX_MAX7 -d ${OUTPUT_AUX_DEV}
|
||||
pwm max -c 8 -p p:PWM_AUX_MAX8 -d ${OUTPUT_AUX_DEV}
|
||||
|
||||
if [ $FAILSAFE_AUX != none ]
|
||||
then
|
||||
pwm failsafe -c ${PWM_AUX_OUT} -p ${FAILSAFE} -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
|
||||
#
|
||||
# Per channel failsafe settings.
|
||||
#
|
||||
pwm failsafe -c 1 -p p:PWM_AUX_FAIL1 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 2 -p p:PWM_AUX_FAIL2 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 3 -p p:PWM_AUX_FAIL3 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 4 -p p:PWM_AUX_FAIL4 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 5 -p p:PWM_AUX_FAIL5 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 6 -p p:PWM_AUX_FAIL6 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 7 -p p:PWM_AUX_FAIL7 -d ${OUTPUT_AUX_DEV}
|
||||
pwm failsafe -c 8 -p p:PWM_AUX_FAIL8 -d ${OUTPUT_AUX_DEV}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -327,74 +258,7 @@ then
|
||||
then
|
||||
pwm rate -c ${PWM_OUT} -r ${PWM_RATE}
|
||||
fi
|
||||
|
||||
# Set disarmed, min and max PWM values.
|
||||
if [ $PWM_DISARMED != none ]
|
||||
then
|
||||
pwm disarmed -c ${PWM_OUT} -p ${PWM_DISARMED}
|
||||
fi
|
||||
if [ $PWM_MIN != none ]
|
||||
then
|
||||
pwm min -c ${PWM_OUT} -p ${PWM_MIN}
|
||||
fi
|
||||
if [ $PWM_MAX != none ]
|
||||
then
|
||||
pwm max -c ${PWM_OUT} -p ${PWM_MAX}
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Per channel disarmed settings.
|
||||
#
|
||||
pwm disarmed -c 1 -p p:PWM_MAIN_DIS1
|
||||
pwm disarmed -c 2 -p p:PWM_MAIN_DIS2
|
||||
pwm disarmed -c 3 -p p:PWM_MAIN_DIS3
|
||||
pwm disarmed -c 4 -p p:PWM_MAIN_DIS4
|
||||
pwm disarmed -c 5 -p p:PWM_MAIN_DIS5
|
||||
pwm disarmed -c 6 -p p:PWM_MAIN_DIS6
|
||||
pwm disarmed -c 7 -p p:PWM_MAIN_DIS7
|
||||
pwm disarmed -c 8 -p p:PWM_MAIN_DIS8
|
||||
|
||||
#
|
||||
# Per channel min settings.
|
||||
#
|
||||
pwm min -c 1 -p p:PWM_MAIN_MIN1
|
||||
pwm min -c 2 -p p:PWM_MAIN_MIN2
|
||||
pwm min -c 3 -p p:PWM_MAIN_MIN3
|
||||
pwm min -c 4 -p p:PWM_MAIN_MIN4
|
||||
pwm min -c 5 -p p:PWM_MAIN_MIN5
|
||||
pwm min -c 6 -p p:PWM_MAIN_MIN6
|
||||
pwm min -c 7 -p p:PWM_MAIN_MIN7
|
||||
pwm min -c 8 -p p:PWM_MAIN_MIN8
|
||||
|
||||
#
|
||||
# Per channel max settings.
|
||||
#
|
||||
pwm max -c 1 -p p:PWM_MAIN_MAX1
|
||||
pwm max -c 2 -p p:PWM_MAIN_MAX2
|
||||
pwm max -c 3 -p p:PWM_MAIN_MAX3
|
||||
pwm max -c 4 -p p:PWM_MAIN_MAX4
|
||||
pwm max -c 5 -p p:PWM_MAIN_MAX5
|
||||
pwm max -c 6 -p p:PWM_MAIN_MAX6
|
||||
pwm max -c 7 -p p:PWM_MAIN_MAX7
|
||||
pwm max -c 8 -p p:PWM_MAIN_MAX8
|
||||
|
||||
if [ $FAILSAFE != none ]
|
||||
then
|
||||
pwm failsafe -c ${PWM_OUT} -p ${FAILSAFE} -d ${OUTPUT_DEV}
|
||||
fi
|
||||
|
||||
#
|
||||
# Per channel failsafe settings.
|
||||
#
|
||||
pwm failsafe -c 1 -p p:PWM_MAIN_FAIL1
|
||||
pwm failsafe -c 2 -p p:PWM_MAIN_FAIL2
|
||||
pwm failsafe -c 3 -p p:PWM_MAIN_FAIL3
|
||||
pwm failsafe -c 4 -p p:PWM_MAIN_FAIL4
|
||||
pwm failsafe -c 5 -p p:PWM_MAIN_FAIL5
|
||||
pwm failsafe -c 6 -p p:PWM_MAIN_FAIL6
|
||||
pwm failsafe -c 7 -p p:PWM_MAIN_FAIL7
|
||||
pwm failsafe -c 8 -p p:PWM_MAIN_FAIL8
|
||||
fi
|
||||
|
||||
if [ $EXTRA_MIXER_MODE != none ]
|
||||
@@ -420,7 +284,6 @@ then
|
||||
echo "INFO [init] Mixer: ${MIXER_EXTRA_FILE} on ${OUTPUT_EXTRA_DEV}"
|
||||
else
|
||||
echo "ERROR [init] Failed loading mixer: ${MIXER_EXTRA_FILE}"
|
||||
echo "ERROR [init] Failed loading mixer: ${MIXER_EXTRA_FILE}" >> $LOG_FILE
|
||||
tune_control play -t 20
|
||||
fi
|
||||
|
||||
@@ -431,75 +294,7 @@ then
|
||||
then
|
||||
pwm rate -c ${PWM_EXTRA_OUT} -r ${PWM_EXTRA_RATE}
|
||||
fi
|
||||
|
||||
# Set disarmed, min and max PWM values.
|
||||
if [ $PWM_EXTRA_DISARM != none ]
|
||||
then
|
||||
pwm disarmed -c ${PWM_EXTRA_OUT} -p ${PWM_EXTRA_DISARM}
|
||||
fi
|
||||
if [ $PWM_EXTRA_MIN != none ]
|
||||
then
|
||||
pwm min -c ${PWM_EXTRA_OUT} -p ${PWM_EXTRA_MIN}
|
||||
fi
|
||||
if [ $PWM_EXTRA_MAX != none ]
|
||||
then
|
||||
pwm max -c ${PWM_EXTRA_OUT} -p ${PWM_EXTRA_MAX}
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Per channel disarmed settings.
|
||||
#
|
||||
pwm disarmed -c 1 -p p:PWM_EXTRA_DIS1 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 2 -p p:PWM_EXTRA_DIS2 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 3 -p p:PWM_EXTRA_DIS3 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 4 -p p:PWM_EXTRA_DIS3 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 5 -p p:PWM_EXTRA_DIS5 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 6 -p p:PWM_EXTRA_DIS3 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 7 -p p:PWM_EXTRA_DIS7 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm disarmed -c 8 -p p:PWM_EXTRA_DIS8 -d ${OUTPUT_EXTRA_DEV}
|
||||
|
||||
#
|
||||
# Per channel min settings.
|
||||
#
|
||||
pwm min -c 1 -p p:PWM_EXTRA_MIN1 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 2 -p p:PWM_EXTRA_MIN2 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 3 -p p:PWM_EXTRA_MIN3 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 4 -p p:PWM_EXTRA_MIN4 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 5 -p p:PWM_EXTRA_MIN5 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 6 -p p:PWM_EXTRA_MIN6 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 7 -p p:PWM_EXTRA_MIN7 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm min -c 8 -p p:PWM_EXTRA_MIN8 -d ${OUTPUT_EXTRA_DEV}
|
||||
|
||||
#
|
||||
# Per channel max settings.
|
||||
#
|
||||
pwm max -c 1 -p p:PWM_EXTRA_MAX1 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 2 -p p:PWM_EXTRA_MAX2 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 3 -p p:PWM_EXTRA_MAX3 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 4 -p p:PWM_EXTRA_MAX4 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 5 -p p:PWM_EXTRA_MAX5 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 6 -p p:PWM_EXTRA_MAX6 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 7 -p p:PWM_EXTRA_MAX7 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm max -c 8 -p p:PWM_EXTRA_MAX8 -d ${OUTPUT_EXTRA_DEV}
|
||||
|
||||
if [ $FAILSAFE_EXTRA != none ]
|
||||
then
|
||||
pwm failsafe -c ${PWM_EXTRA_OUT} -p ${FAILSAFE} -d ${OUTPUT_EXTRA_DEV}
|
||||
fi
|
||||
|
||||
#
|
||||
# Per channel failsafe settings.
|
||||
#
|
||||
pwm failsafe -c 1 -p p:PWM_EXTRA_FAIL1 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 2 -p p:PWM_EXTRA_FAIL2 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 3 -p p:PWM_EXTRA_FAIL3 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 4 -p p:PWM_EXTRA_FAIL4 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 5 -p p:PWM_EXTRA_FAIL5 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 6 -p p:PWM_EXTRA_FAIL6 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 7 -p p:PWM_EXTRA_FAIL7 -d ${OUTPUT_EXTRA_DEV}
|
||||
pwm failsafe -c 8 -p p:PWM_EXTRA_FAIL8 -d ${OUTPUT_EXTRA_DEV}
|
||||
|
||||
fi
|
||||
|
||||
unset OUTPUT_CMD
|
||||
|
||||
@@ -24,9 +24,6 @@ set R /
|
||||
set AUTOCNF no
|
||||
set AUX_MODE pwm
|
||||
set DATAMAN_OPT ""
|
||||
set FAILSAFE none
|
||||
set FAILSAFE_AUX none
|
||||
set FAILSAFE_EXTRA none
|
||||
set FCONFIG /fs/microsd/etc/config.txt
|
||||
set FEXTRAS /fs/microsd/etc/extras.txt
|
||||
set FMU_MODE pwm
|
||||
@@ -580,8 +577,6 @@ unset R
|
||||
unset AUTOCNF
|
||||
unset AUX_MODE
|
||||
unset DATAMAN_OPT
|
||||
unset FAILSAFE
|
||||
unset FAILSAFE_AUX
|
||||
unset FCONFIG
|
||||
unset FEXTRAS
|
||||
unset FMU_MODE
|
||||
|
||||
Reference in New Issue
Block a user