mirror of https://github.com/ArduPilot/ardupilot
Had to disable check of current WP. Going into auto mode executes commands right away and the reported index will differ per mission. Multiple commands may be executed.
This commit is contained in:
parent
31cb62620f
commit
0f33ad74dc
|
@ -138,24 +138,25 @@ def wait_location(mav, loc, accuracy=5, timeout=30, target_altitude=None, height
|
|||
def wait_waypoint(mav, wpnum_start, wpnum_end, allow_skip=True, timeout=60):
|
||||
'''wait for waypoint ranges'''
|
||||
tstart = time.time()
|
||||
# this message arrives after we set the current WP
|
||||
m = mav.recv_match(type='WAYPOINT_CURRENT', blocking=True)
|
||||
|
||||
start_wp = m.seq
|
||||
current_wp = start_wp
|
||||
|
||||
print("\n***wait for waypoint ranges start=%u end=%u ***\n\n\n" % (wpnum_start, wpnum_end))
|
||||
if start_wp != wpnum_start:
|
||||
print("Expected start waypoint %u but got %u" % (wpnum_start, start_wp))
|
||||
return False
|
||||
print("\ntest: wait for waypoint ranges start=%u end=%u\n\n" % (wpnum_start, wpnum_end))
|
||||
# if start_wp != wpnum_start:
|
||||
# print("test: Expected start waypoint %u but got %u" % (wpnum_start, start_wp))
|
||||
# return False
|
||||
|
||||
while time.time() < tstart + timeout:
|
||||
m = mav.recv_match(type='WAYPOINT_CURRENT', blocking=True)
|
||||
seq = m.seq
|
||||
m = mav.recv_match(type='NAV_CONTROLLER_OUTPUT', blocking=True)
|
||||
wp_dist = m.wp_dist
|
||||
print("WP %u (wp_dist=%u)" % (seq, wp_dist))
|
||||
print("test: WP %u (wp_dist=%u)" % (seq, wp_dist))
|
||||
if seq == current_wp+1 or (seq > current_wp+1 and allow_skip):
|
||||
print("Starting new waypoint %u" % seq)
|
||||
print("test: Starting new waypoint %u" % seq)
|
||||
tstart = time.time()
|
||||
current_wp = seq
|
||||
# the wp_dist check is a hack until we can sort out the right seqnum
|
||||
|
@ -174,7 +175,8 @@ def save_wp(mavproxy, mav):
|
|||
mav.recv_match(condition='RC_CHANNELS_RAW.chan7_raw==2000', blocking=True)
|
||||
mavproxy.send('rc 7 1000\n')
|
||||
mav.recv_match(condition='RC_CHANNELS_RAW.chan7_raw==1000', blocking=True)
|
||||
mavproxy.send('wp list\n')
|
||||
#mavproxy.send('wp list\n')
|
||||
#mav.recv_match(condition='RC_CHANNELS_RAW.chan7_raw==1000', blocking=True)
|
||||
|
||||
def wait_mode(mav, mode):
|
||||
'''wait for a flight mode to be engaged'''
|
||||
|
|
Loading…
Reference in New Issue