diff --git a/libraries/SITL/examples/Morse/start_follow.sh b/libraries/SITL/examples/Morse/start_follow.sh new file mode 100755 index 0000000000..83f989a9a2 --- /dev/null +++ b/libraries/SITL/examples/Morse/start_follow.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# assume we start the script from the root directory +ROOTDIR=$PWD +ROVER=$ROOTDIR/build/sitl/bin/ardurover + +GCS_IP=192.168.2.48 + +BASE_DEFAULTS="$ROOTDIR/Tools/autotest/default_params/rover.parm,$ROOTDIR/Tools/autotest/default_params/rover-skid.parm" + +# start up main rover in the current directory +$ROVER --model morse-rover --uartA udpclient:$GCS_IP --uartC mcast: --defaults $BASE_DEFAULTS & + +# now start 2 rovers to follow the first, using +# a separate directory for each to keep the eeprom.bin +# and logs separate +for i in $(seq 2); do + echo "Starting rover $i" + port1=$(expr 60000 + $i \* 2) + port2=$(expr 60001 + $i \* 2) + mkdir -p rov$i + + SYSID=$(expr $i + 1) + FOLL_SYSID=$(expr $SYSID - 1) + + # create default parameter file for the follower + cat < rov$i/follow.parm +SYSID_THISMAV $SYSID +SERVO1_FUNCTION 73 +SERVO3_FUNCTION 74 +INITIAL_MODE 6 +MODE6 6 +FOLL_ENABLE 1 +FOLL_OFS_X -5 +FOLL_OFS_TYPE 1 +FOLL_SYSID $FOLL_SYSID +FOLL_DIST_MAX 1000 +EOF + pushd rov$i + $ROVER --model "morse-rover:127.0.0.1:$port1:$port2" --uartA tcp:0 --uartC mcast: --instance $i --defaults $BASE_DEFAULTS,follow.parm & + popd +done +wait