Will clarify the output as currently we look through the text messages for all of the previous gps types when trying to find the detection message for the current GPS
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)
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
Because we're involving round-trip times to the Python and back, we need to allow more time to pass on the autopilot when downloading very large missions. Add a factor based on speedup