It was observed from a log of a failed CI test that the ACK from
clearing the rally items took 6 wallclock seconds to arrive.
We were not waiting for that ACK to arrive before sending the request
for the mission item count, but if it has taken more than six seconds
for the ACK to arrive it is reasonable to assume that MISSION_COUNT
could very well take more than the 10 seconds we allow for it.
If we drain the mav before sending the request for the mission count we
should remove any signficiant timing problem due to a backlog of mavlnk
messages, but the amount of traffic here is problematic.
Also drain in lots of other places where we might be spending way too
long parsing messages.
MAVProxy's output is read by autotest via pexpect.
SITL's output is read by MAVProxy.
If we don't read MAVProxy's stdout then it doesn't read SITL and
everything stops.
Also, since we need to drain pexpects as part of reboot, and applying
parameter files requires rebooting... we need to append the expect
objects to the global list before we apply parameter files. So move
that call.
we are in stabilize and flying around, needs more than half throttle
to maintain height. This test was already marginal, but addition of
pressure alt in SITL pushed it over the edge
This makes the AutoTest instance cognizant of the binary log files it is creating. This will be useful for checking the contents of the log files created.
Avoid SyntaxWarnings on Python >= 3.8
% `python3.8`
```
>>> "second" is "second"
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
```
`flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics`
```
./Tools/autotest/arducopter.py:3899:20: F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
if loop is not "second":
^
./Tools/autotest/arducopter.py:4047:20: F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
if loop is not "second":
^
2 F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
2
```
fix quadplane FFT reference calculation
re-enable harmonic test
use median for measuring in-flight FFT average as it's much more reliable
relax quadplane filter restriction
harmonic switching test
tighten frequency check and loop twice to avoid heisenbugs
If a long-running process drains the mavlink stream rather than parsing
it then the cached timestamp can be very, very out-of-date. When we
next receieve a timestamp, then, there can be a signficant change in
time when we weren't expecting it.
run_cmd_get_ack can't use get_sim_time() as it might swallow the ack it
is looking for.
This is important when rebooting as the ArduPilot process can block on
sending to stdout, which pexpect is reading from. While rebooting we're
waiting for a parameter to be reset to a different value in this loop,
which could take quite some time.
fix quadplane FFT reference calculation
re-enable harmonic test
use median for measuring in-flight FFT average as it's much more reliable
relax quadplane filter restriction
MAVProxy can fetch parameters using FTP rather than normal param
mechanism. Currently this does not emit any of our statustext
information - like the text we're looking for in this test
reorder install
remove unneeded package
make install verbose
add environment variable to control what to install
register STM toolchain on CCache
Tools: install-prereqs-ubuntu.sh: only update package list once
Tools: install-prereqs-ubuntu.sh: move STM toolchain registery into install step
Tools: install-prereqs-ubuntu.sh: use right comparison for variable value
Tools: install-prereqs-ubuntu.sh: always check for libtool-bin
Tools: install-prereqs-ubuntu.sh: Add support for Ubuntu 20.04
Add a selection for python version
ass python symlink for ubuntu 20.04
Move python-argparse out of default list as it install python2 version
Tools: install-prereqs-ubuntu.sh:Tools: Check python version for python3 distro
Tools: install-prereqs-ubuntu.sh: install pygame requirements
Tools: install-prereqs-ubuntu.sh: check for docker envirement and use .bashrc instead of .profile
Tools: install-prereqs-ubuntu.sh: add bash completion by default
Tools: install-prereqs-ubuntu.sh: better ccache management
Tools: install-prereqs-ubuntu.sh: Correct package installation for trusty