mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 07:43:33 +08:00
fix sitl_multiple_run.sh: adapt to path updates
This commit is contained in:
+28
-26
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
# run multiple instances of the 'px4' binary, but w/o starting the simulator.
|
||||
# It assumes px4 is already built, with 'make posix_sitl_default'
|
||||
|
||||
sitl_num=2
|
||||
|
||||
@@ -11,42 +13,42 @@ mav_oport2=15016
|
||||
|
||||
port_step=10
|
||||
|
||||
src_path=`pwd`
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
src_path="$SCRIPT_DIR/.."
|
||||
|
||||
rc_script="posix-configs/SITL/init/rcS_multiple"
|
||||
rc_script="posix-configs/SITL/init/ekf2/multiple_iris"
|
||||
build_path=${src_path}/build_posix_sitl_default
|
||||
|
||||
echo "killing running instances"
|
||||
pkill px4
|
||||
sleep 2
|
||||
sleep 1
|
||||
|
||||
cd $build_path/src/firmware/posix
|
||||
cd $build_path
|
||||
|
||||
user=`whoami`
|
||||
n=1
|
||||
while [ $n -le $sitl_num ]; do
|
||||
if [ ! -d $n ]; then
|
||||
mkdir -p $n
|
||||
cd $n
|
||||
working_dir="instance_$n"
|
||||
if [ ! -d $working_dir ]; then
|
||||
mkdir -p "$working_dir"
|
||||
pushd "$working_dir" &>/dev/null
|
||||
|
||||
mkdir -p rootfs/fs/microsd
|
||||
mkdir -p rootfs/eeprom
|
||||
touch rootfs/eeprom/parameters
|
||||
# replace template config with configured ports of current instance
|
||||
cat ${src_path}/${rc_script} | sed s/_SIMPORT_/${sim_port}/ | \
|
||||
sed s/_MAVPORT_/${mav_port}/g | sed s/_MAVOPORT_/${mav_oport}/ | \
|
||||
sed s/_MAVPORT2_/${mav_port2}/ | sed s/_MAVOPORT2_/${mav_oport2}/ > rcS
|
||||
popd &>/dev/null
|
||||
fi
|
||||
|
||||
cp ${src_path}/ROMFS/px4fmu_common/mixers/quad_w.main.mix ./
|
||||
cat ${src_path}/${rc_script}_gazebo_iris | sed s/_SIMPORT_/${sim_port}/ | sed s/_MAVPORT_/${mav_port}/g | sed s/_MAVOPORT_/${mav_oport}/ | sed s/_MAVPORT2_/${mav_port2}/ | sed s/_MAVOPORT2_/${mav_oport2}/ > rcS
|
||||
cd ../
|
||||
fi
|
||||
pushd "$working_dir" &>/dev/null
|
||||
echo "starting instance $n in $(pwd)"
|
||||
sudo -b -u $user ../src/firmware/posix/px4 -d "$src_path" rcS >out.log 2>err.log
|
||||
popd &>/dev/null
|
||||
|
||||
cd $n
|
||||
|
||||
sudo -b -u $user ../px4 -d rcS >out.log 2>err.log
|
||||
|
||||
cd ../
|
||||
|
||||
n=$(($n + 1))
|
||||
sim_port=$(($sim_port + $port_step))
|
||||
mav_port=$(($mav_port + $port_step))
|
||||
mav_port2=$(($mav_port2 + $port_step))
|
||||
mav_oport=$(($mav_oport + $port_step))
|
||||
mav_oport2=$(($mav_oport2 + $port_step))
|
||||
n=$(($n + 1))
|
||||
sim_port=$(($sim_port + $port_step))
|
||||
mav_port=$(($mav_port + $port_step))
|
||||
mav_port2=$(($mav_port2 + $port_step))
|
||||
mav_oport=$(($mav_oport + $port_step))
|
||||
mav_oport2=$(($mav_oport2 + $port_step))
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user