Tools: allow Rover to use inheritted config files
This commit is contained in:
parent
59647b3434
commit
cb81f9c8b3
@ -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):
|
||||
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
|
||||
"""
|
||||
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
|
||||
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)
|
||||
|
@ -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…
Reference in New Issue
Block a user