If Python can't keep up with the message volume coming from the autopilot we never manage to drain all messages from the vehicle.
So try pausing/unpausing the simulation so we can drain the link...
AT-1968.6: AP: PreArm: Radio failsafe on
AT-1969.9: AP: PreArm: Radio failsafe on
AT-1971.2: AP: PreArm: Radio failsafe on
AT-1972.4: AP: PreArm: Radio failsafe on
AT-1973.7: AP: PreArm: Radio failsafe on
AT-1974.9: AP: PreArm: Radio failsafe on
AT-1975.3: Drained 2000283 messages from mav (7218.974791/s)
AT-1975.3: Exception caught: Traceback (most recent call last):
File "/mnt/volume_nyc3_01/autotest/APM/APM/Tools/autotest/common.py", line 699
8, in run_one_test_attempt
self.context_pop()
File "/mnt/volume_nyc3_01/autotest/APM/APM/Tools/autotest/common.py", line 499
3, in context_pop
self.set_parameters(dead_parameters_dict, add_to_context=False)
If Python can't keep up with the message volume coming from the autopilot we never manage to drain all messages from the vehicle.
So try pausing/unpausing the simulation so we can drain the link...
AT-1968.6: AP: PreArm: Radio failsafe on
AT-1969.9: AP: PreArm: Radio failsafe on
AT-1971.2: AP: PreArm: Radio failsafe on
AT-1972.4: AP: PreArm: Radio failsafe on
AT-1973.7: AP: PreArm: Radio failsafe on
AT-1974.9: AP: PreArm: Radio failsafe on
AT-1975.3: Drained 2000283 messages from mav (7218.974791/s)
AT-1975.3: Exception caught: Traceback (most recent call last):
File "/mnt/volume_nyc3_01/autotest/APM/APM/Tools/autotest/common.py", line 699
8, in run_one_test_attempt
self.context_pop()
File "/mnt/volume_nyc3_01/autotest/APM/APM/Tools/autotest/common.py", line 499
3, in context_pop
self.set_parameters(dead_parameters_dict, add_to_context=False)
Co-author: Leonard Hall <leonardthall@gmail.com>
This test was failing when the yaw control on the simulated vehicle was cleaned up. Navigating in body frame meant that the vehicle was told to go to a different position than we were actually expecting.
Cuts out some code in pymavlink's recv_match which we don't need here. We even explicitly don't run the idle hooks which pymavlink supplied when we're running under drain_mav
At large speedups we can create more telemetry than we can consume. Detect that and raise an exception, assuming we should be able to drain anything within 2 minutes