|
|
|
@ -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) |
|
|
|
|