Browse Source

Tools: allow Rover to use inheritted config files

master
Peter Barker 8 years ago committed by Francisco Ferreira
parent
commit
cb81f9c8b3
  1. 18
      Tools/autotest/apmrover2.py
  2. 2
      Tools/autotest/autotest.py

18
Tools/autotest/apmrover2.py

@ -8,6 +8,7 @@ from pymavlink import mavutil @@ -8,6 +8,7 @@ from pymavlink import mavutil
from common import *
from pysim import util
from pysim import vehicleinfo
# get location of scripts
testdir = os.path.dirname(os.path.realpath(__file__))
@ -97,8 +98,9 @@ def drive_mission(mavproxy, mav, filename): @@ -97,8 +98,9 @@ def drive_mission(mavproxy, mav, filename):
print("Mission OK")
return True
vinfo = vehicleinfo.VehicleInfo()
def drive_APMrover2(binary, viewerip=None, use_map=False, valgrind=False, gdb=False):
def drive_APMrover2(binary, viewerip=None, use_map=False, valgrind=False, gdb=False, frame=None, params=None):
"""Drive APMrover2 in SITL.
you can pass viewerip as an IP address to optionally send fg and
@ -106,6 +108,9 @@ def drive_APMrover2(binary, viewerip=None, use_map=False, valgrind=False, gdb=Fa @@ -106,6 +108,9 @@ def drive_APMrover2(binary, viewerip=None, use_map=False, valgrind=False, gdb=Fa
"""
global homeloc
if frame is None:
frame = 'rover'
options = '--sitl=127.0.0.1:5501 --out=127.0.0.1:19550 --streamrate=10'
if viewerip:
options += " --out=%s:14550" % viewerip
@ -113,15 +118,20 @@ def drive_APMrover2(binary, viewerip=None, use_map=False, valgrind=False, gdb=Fa @@ -113,15 +118,20 @@ def drive_APMrover2(binary, viewerip=None, use_map=False, valgrind=False, gdb=Fa
options += ' --map'
home = "%f,%f,%u,%u" % (HOME.lat, HOME.lng, HOME.alt, HOME.heading)
sitl = util.start_SITL(binary, wipe=True, model='rover', home=home, speedup=10)
sitl = util.start_SITL(binary, wipe=True, model=frame, home=home, speedup=10)
mavproxy = util.start_MAVProxy_SITL('APMrover2', options=options)
print("WAITING FOR PARAMETERS")
mavproxy.expect('Received [0-9]+ parameters')
# setup test parameters
mavproxy.send("param load %s/default_params/rover.parm\n" % testdir)
mavproxy.expect('Loaded [0-9]+ parameters')
if params is None:
params = vinfo.options["APMrover2"]["frames"][frame]["default_params_filename"]
if not isinstance(params, list):
params = [params]
for x in params:
mavproxy.send("param load %s\n" % os.path.join(testdir, x))
mavproxy.expect('Loaded [0-9]+ parameters')
mavproxy.send("param set LOG_REPLAY 1\n")
mavproxy.send("param set LOG_DISARMED 1\n")
time.sleep(3)

2
Tools/autotest/autotest.py

@ -314,7 +314,7 @@ def run_step(step): @@ -314,7 +314,7 @@ def run_step(step):
return quadplane.fly_QuadPlane(binary, viewerip=opts.viewerip, use_map=opts.map, valgrind=opts.valgrind, gdb=opts.gdb)
if step == 'drive.APMrover2':
return apmrover2.drive_APMrover2(binary, viewerip=opts.viewerip, use_map=opts.map, valgrind=opts.valgrind, gdb=opts.gdb)
return apmrover2.drive_APMrover2(binary, viewerip=opts.viewerip, use_map=opts.map, valgrind=opts.valgrind, gdb=opts.gdb, frame=opts.frame)
if step == 'dive.ArduSub':
return ardusub.dive_ArduSub(binary, viewerip=opts.viewerip, use_map=opts.map, valgrind=opts.valgrind, gdb=opts.gdb)

Loading…
Cancel
Save