From 4f44351d4e4165f700ad1650161ff8692fc4d689 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 12 Mar 2014 14:35:39 +1100 Subject: [PATCH] autotest: added -T option to sim_arduplane.sh starts an antenna tracker --- Tools/autotest/sim_arduplane.sh | 37 +++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/Tools/autotest/sim_arduplane.sh b/Tools/autotest/sim_arduplane.sh index 4dda5f5bc7..1add7f4cf3 100755 --- a/Tools/autotest/sim_arduplane.sh +++ b/Tools/autotest/sim_arduplane.sh @@ -2,15 +2,17 @@ # home location lat, lon, alt, heading SIMHOME="-35.363261,149.165230,584,353" +TRACKER_HOME="-35.362734,149.165300,586,270" # check the instance number to allow for multiple copies of the sim running at once INSTANCE=0 USE_VALGRIND=0 USE_GDB=0 CLEAN_BUILD=0 +START_ANTENNA_TRACKER=0 # parse options. Thanks to http://wiki.bash-hackers.org/howto/getopts_tutorial -while getopts ":I:VGc" opt; do +while getopts ":I:VGcT" opt; do case $opt in I) INSTANCE=$OPTARG @@ -18,6 +20,9 @@ while getopts ":I:VGc" opt; do V) USE_VALGRIND=1 ;; + T) + START_ANTENNA_TRACKER=1 + ;; G) USE_GDB=1 ;; @@ -37,8 +42,8 @@ shift $((OPTIND-1)) # kill existing copy if this is the '0' instance only [ "$INSTANCE" -eq "0" ] && { - killall -q JSBSim lt-JSBSim ArduPlane.elf - pkill -f runsim.py + killall -q JSBSim lt-JSBSim ArduPlane.elf AntennaTracker.elf + pkill -f runsim.py sim_tracker.py } @@ -62,6 +67,25 @@ make sitl -j4 || { } popd +if [ $START_ANTENNA_TRACKER == 1 ]; then + pushd $autotest/../AntennaTracker + if [ $CLEAN_BUILD == 1 ]; then + make clean + fi + make sitl -j4 || { + make clean + make sitl -j4 + } + TRACKER_INSTANCE=1 + TRACKIN_PORT="127.0.0.1:"$((5502+10*$TRACKER_INSTANCE)) + TRACKOUT_PORT="127.0.0.1:"$((5501+10*$TRACKER_INSTANCE)) + TRACKER_UARTA="tcp:127.0.0.1:"$((5760+10*$TRACKER_INSTANCE)) + cmd="nice /tmp/AntennaTracker.build/AntennaTracker.elf -I1" + $autotest/run_in_terminal_window.sh "AntennaTracker" $cmd || exit 1 + $autotest/run_in_terminal_window.sh "pysim(Tracker)" nice $autotest/pysim/sim_tracker.py --home=$TRACKER_HOME --simin=$TRACKIN_PORT --simout=$TRACKOUT_PORT || exit 1 + popd +fi + cmd="/tmp/ArduPlane.build/ArduPlane.elf -I$INSTANCE" if [ $USE_VALGRIND == 1 ]; then @@ -89,4 +113,9 @@ sleep 2 # sim_arduplane.sh --out /dev/serial/by-id/usb-FTDI* --baudrate 57600 --map --console # mavproxy.py --master tcp:127.0.0.1:5760 --sitl 127.0.0.1:5501 --out 127.0.0.1:14550 --out 127.0.0.1:14551 -mavproxy.py --master $MAVLINK_PORT --sitl $SIMOUT_PORT --out 127.0.0.1:14550 --out 127.0.0.1:14551 $* +options="--master $MAVLINK_PORT --sitl $SIMOUT_PORT --out 127.0.0.1:14550 --out 127.0.0.1:14551" +if [ $START_ANTENNA_TRACKER == 1 ]; then + mavproxy.py $options --load-module=tracker --cmd="set moddebug 1; tracker set port $TRACKER_UARTA" $* +else + mavproxy.py $options $* +fi