mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-21 16:18:29 -04:00
Tools: autotest: better streamrate reset
This commit is contained in:
parent
086b4c1cfd
commit
f23c6e1624
@ -287,26 +287,37 @@ class AutoTest(ABC):
|
||||
|
||||
self.initialise_after_reboot_sitl()
|
||||
|
||||
def set_streamrate(self, streamrate):
|
||||
tstart = time.time()
|
||||
while True:
|
||||
if time.time() - tstart > 10:
|
||||
raise AutoTestTimeoutException("stream rate change failed")
|
||||
|
||||
self.mavproxy.send("set streamrate %u\n" % (streamrate))
|
||||
self.mavproxy.send("set streamrate\n")
|
||||
self.mavproxy.expect('.*streamrate ([0-9]+)', timeout=1)
|
||||
rate = self.mavproxy.match.group(1)
|
||||
print("rate: %s" % str(rate))
|
||||
if int(rate) == int(streamrate):
|
||||
break
|
||||
|
||||
if streamrate <= 0:
|
||||
return
|
||||
|
||||
m = self.mav.recv_match(type='SYSTEM_TIME',
|
||||
blocking=True,
|
||||
timeout=10)
|
||||
print("Received (%s)" % str(m))
|
||||
if m is None:
|
||||
raise NotAchievedException("Did not get SYSTEM_TIME")
|
||||
|
||||
def initialise_after_reboot_sitl(self):
|
||||
|
||||
# after reboot stream-rates may be zero. Prompt MAVProxy to
|
||||
# send a rate-change message by changing away from our normal
|
||||
# stream rates and back again:
|
||||
tstart = self.get_sim_time()
|
||||
while True:
|
||||
|
||||
self.mavproxy.send("set streamrate %u\n" % (self.sitl_streamrate()+1))
|
||||
|
||||
if self.get_sim_time() - tstart > 10:
|
||||
raise AutoTestTimeoutException("SYSTEM_TIME not received")
|
||||
|
||||
m = self.mav.recv_match(type='SYSTEM_TIME',
|
||||
blocking=True,
|
||||
timeout=1)
|
||||
if m is not None:
|
||||
print("Received (%s)" % str(m))
|
||||
break
|
||||
self.mavproxy.send("set streamrate %u\n" % self.sitl_streamrate())
|
||||
self.set_streamrate(self.sitl_streamrate()+1)
|
||||
self.set_streamrate(self.sitl_streamrate())
|
||||
self.progress("Reboot complete")
|
||||
|
||||
def close(self):
|
||||
|
Loading…
Reference in New Issue
Block a user