px4-firmware/Tools/sitl_multiple_run.sh

36 lines
911 B
Bash
Raw Normal View History

2016-04-05 06:37:57 -03:00
#!/bin/bash
# run multiple instances of the 'px4' binary, but w/o starting the simulator.
2018-11-16 13:52:37 -04:00
# It assumes px4 is already built, with 'make px4sitl_default'
2016-04-05 06:37:57 -03:00
# The simulator is expected to send to UDP port 14560+i for i in [0, N-1]
# For example jmavsim can be run like this:
#./Tools/jmavsim_run.sh -p 14561
2016-04-05 06:37:57 -03:00
sitl_num=2
[ -n "$1" ] && sitl_num="$1"
2016-04-05 06:37:57 -03:00
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
src_path="$SCRIPT_DIR/.."
2016-04-05 06:37:57 -03:00
2018-11-16 13:52:37 -04:00
build_path=${src_path}/build/px4sitl_default
2016-04-05 06:37:57 -03:00
echo "killing running instances"
pkill -x px4 || true
sleep 1
2016-04-05 06:37:57 -03:00
export PX4_SIM_MODEL=iris
n=0
while [ $n -lt $sitl_num ]; do
working_dir="$build_path/instance_$n"
[ ! -d "$working_dir" ] && mkdir -p "$working_dir"
pushd "$working_dir" &>/dev/null
echo "starting instance $n in $(pwd)"
../bin/px4 -i $n -d "$src_path/ROMFS/px4fmu_common" -s etc/init.d-posix/rcS >out.log 2>err.log &
popd &>/dev/null
n=$(($n + 1))
2016-04-05 06:37:57 -03:00
done