Commit Graph

2023 Commits

Author SHA1 Message Date
Mark Whitehorn
d0ff26e782 autotest: expand quadplane AirMode autotest 2020-08-13 08:47:27 +10:00
Mark Whitehorn
b9830f657a autotest: add quadplane airmode test 2020-08-13 08:47:27 +10:00
Peter Barker
9cd5fdacfc Tools: autotest: add a test for motor test 2020-08-10 09:18:05 +10:00
Peter Barker
f0482935cc autotest: slow down simulation to avoid receiving re-request of item
# avoid a timeout race condition where ArduPilot re-requests a
        # fence point before we receive and respond to the first one.
        # Since ArduPilot has a 1s timeout on re-requesting, This only
        # requires a round-trip delay of 1/speedup seconds to trigger
        # - and that has been seen in practise on Travis

AT-0417.0: Sending item with seq=0
AT-0417.2: Got (MISSION_REQUEST {target_system : 243, target_component : 250, seq : 0, mission_type : 1})
AT-0417.2: Got (MISSION_REQUEST {target_system : 243, target_component : 250, seq : 0, mission_type : 1})
AT-0417.2: Exception caught: Traceback (most recent call last):
  File "/home/travis/build/ArduPilot/ardupilot/Tools/autotest/common.py", line 3950, in run_one_test
    test_function()
  File "/home/travis/build/ArduPilot/ardupilot/Tools/autotest/rover.py", line 4216, in test_poly_fence
    self.test_fence_upload_timeouts()
  File "/home/travis/build/ArduPilot/ardupilot/Tools/autotest/rover.py", line 4057, in test_fence_upload_timeouts
    target_component=target_component)
  File "/home/travis/build/ArduPilot/ardupilot/Tools/autotest/rover.py", line 4010, in test_fence_upload_timeouts_2
    self.expect_request_for_item(item)
  File "/home/travis/build/ArduPilot/ardupilot/Tools/autotest/rover.py", line 3958, in expect_request_for_item
    raise NotAchievedException("Expected request for seq=%u" % item.seq)
NotAchievedException: Expected request for seq=1

The "AT" timestamps there are wallclock time.  Since speedup for Rover
is 8 by default, that could be as much as 1.6 seconds meaning a
re-request from ArduPilot would be legitimate.

I've added some debug, too - we now emit "Sending item with seq=1"
between those two "Got" lines.  That should make the problem clearer -
we've received a re-request rather than a request for the item after the
one we've already sent.
2020-08-09 20:13:27 +10:00
Peter Barker
749b678e14 autotest: add scan-build autotest steps 2020-08-07 16:00:18 +10:00
Peter Barker
e51427a2bc autotest: add a test to ensure we get voltage from generator in battery_status message 2020-08-07 14:46:20 +10:00
Peter Barker
77df7c7a39 autotest: autotest the MaxBotixI2CXL i2c rangefinder code 2020-08-07 08:52:00 +10:00
Pierre Kancir
1fa6138ca1 Tools: Autotest.py: Allow autotest subtests completion 2020-08-06 20:55:13 +10:00
Pierre Kancir
4930142b6e Tools: add generator for MP parameter xml 2020-08-05 22:32:33 +10:00
Peter Barker
07abb3ab6a autotest: extend RichenPower test 2020-08-05 16:26:19 +09:00
Rishabh
bac3660fca Tools: Push autotune switch test to run after avoidance tests 2020-08-05 15:37:04 +09:00
Rishabh
cf04a01389 Tools: Increase timeout for avoidance autotest 2020-08-05 15:37:04 +09:00
Peter Barker
b9dc7118d4 autotest: add do_timesync_roundtrip to do a timesync against SITL
On the assumption that ArduPilot processes mavlink packets
synchronously (or at least in order), after we have run a timesync
roundtrip we can reasonably expect any mavlink command we have sent
prior to the roundtrip to have been processed, and we should be able to
see the results in the mavlink stream.
2020-08-05 13:24:15 +10:00
Peter Barker
4640c24872 autotest: correct checking for no-logs string 2020-08-04 15:12:08 +10:00
Peter Barker
b2748f19f6 autotest: correct validator for Distance wait-and-maintain 2020-08-04 15:12:08 +10:00
Willian Galvani
0f992ac6a3 Autotest: add test for Sub position hold 2020-08-03 20:19:28 -07:00
Mark Whitehorn
0d5de343d2 autotest: default throttle to 1000 for quadplane
zero throttle after disarming in do_RTL

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-08-04 10:26:45 +10:00
Peter Barker
39f16c4679 autotest: reboot SITL after running autotune switch test 2020-07-24 20:49:12 +10:00
Peter Barker
f5a928ae26 autotest: remove debug to reduce CI log sizes 2020-07-24 12:39:17 +10:00
Peter Barker
66ffb4a17b autotest: retry parameter fetch in MIS_TOTAL test
There's a race condition with MAVProxy; it's fetching parameters here
and seems to ignore our requests.

Also correct named parameter from retry to attempts
2020-07-24 09:38:39 +10:00
Peter Barker
ccff006517 autotest: correct time-spent-waiting-to-arm for zero case 2020-07-23 18:10:06 +10:00
Peter Barker
f1fc61cb41 autotest: improve compass test diagnostics 2020-07-23 15:11:11 +10:00
Peter Barker
b69130d352 autotest: require uptime of 5s before declaring GPS definitely not present
Until we detect a GPS we mark it as "not present", even if the
parameters say that there should be one present.
2020-07-23 11:17:42 +10:00
Peter Barker
d9085e34d8 autotest: default throttle to 1000 for quadplane 2020-07-22 17:35:47 +10:00
Peter Barker
7880120921 autotest: upload logs after quadplane tests 2020-07-22 14:40:31 +10:00
Peter Barker
babb3fef54 autotest: remove incorrect use of get_sim_time_cached
These could instantly time out
2020-07-21 14:10:16 +10:00
Peter Barker
3b0524a7e1 autotest: add diagnostics to frsky passthrough test 2020-07-21 11:26:52 +10:00
murata
2e69317c2c Tools: Change the unit of barometric pressure from mbar to hPa. 2020-07-21 09:56:21 +10:00
Samuel Tabor
d57b7cad63 autotest: Update soaring test to use RCX_OPTION. 2020-07-21 09:38:04 +10:00
Peter Barker
4acb66cd13 autotest: correct check of frsky home-relative altitude
GLOBAL_POSITION_INT.relative_alt is in mm
2020-07-20 13:31:17 +10:00
Peter Barker
ac827cf45b autotest: allow much more time for frsky test to finish
parameters don't seem to come down very fast at all
2020-07-20 13:31:17 +10:00
Peter Barker
a49580e0af autotest: improve debug on frsky tests 2020-07-20 13:31:17 +10:00
Peter Barker
d9aa334489 autotest: ensure cached sim time moves forward in frsky test 2020-07-20 13:31:17 +10:00
Andy Piper
a00b5cb770 autotest: db's are negative so check dynamic notches the right way 2020-07-18 19:09:33 +10:00
Andy Piper
229036b4ae autotest: run dynamic notch twice to avoid statistical anomolies
relax notch tests attenuation levels
2020-07-16 13:18:32 +10:00
Andrew Tridgell
da4ef6c519 autotest: added EliField
matches reality to RealFlight
2020-07-15 16:14:00 -07:00
Henry Wurzburg
682fd8b1ba Tools: remove fmuv4 and update Pixracer 2020-07-13 15:24:54 +10:00
Andrew Tridgell
c8641bd246 autotest: fixed qassist test
need non-neutral ailerons to trigger roll
2020-07-13 13:47:50 +10:00
Pierre Kancir
be36ac836e Tools: sim_vehicle.py: add some helpers to retreive vehicles list and associated frames 2020-07-12 11:11:17 +10:00
Peter Barker
2c1d77bf8f autotest: test simulated ship takeoff 2020-07-10 13:28:38 +10:00
Peter Barker
6eb1d289b8 autotest: add trivial test for CRSF in copter 2020-07-07 18:48:06 +10:00
Samuel Tabor
ed14ab84ce autotest: Add test for terrain following mission. 2020-07-07 11:46:32 +10:00
Samuel Tabor
c3f039a739 autotest: Add timeout to fly_mission. 2020-07-07 11:46:32 +10:00
Samuel Tabor
bde9ce10e3 autotest: Add wipe as argument. 2020-07-07 11:46:32 +10:00
Peter Barker
6c9d756f11 autotest: validate context nesting 2020-07-06 14:21:55 +10:00
Peter Barker
977ec1a7d6 autotest: SuperSimpleCircle: increase throttle while rolling in stab
We're hitting the ground...
2020-07-04 17:18:37 +10:00
Peter Barker
b8c2b16394 autotest: autotest gyus42v2 rangefinder 2020-07-04 13:40:10 +10:00
Justin Clift
e1e16bde6d autotest: remove doubled up disable-anti-alias-hud 2020-07-04 09:25:42 +10:00
Peter Barker
a0258f351d autotest: disable gdb pagination 2020-07-03 22:07:16 +10:00
Peter Barker
560b4a9847 autotest: fix race condition between switch message and rc output 2020-07-03 22:06:48 +10:00
Peter Barker
96e500fe49 autotest: correct heli rebase issue 2020-07-03 12:07:06 +10:00
Peter Barker
717dabfe69 autotest: remove heat model for generator 2020-07-03 08:21:42 +09:00
Peter Barker
bac60e0d3a autotest: add simple tests for richenpower generator 2020-07-03 08:21:42 +09:00
yaapu
0cbff6ac66 Tools: autotest FRSkyPassThrough increased timeout to let the test complete 2020-07-02 21:53:06 +10:00
yaapu
75b621a09f Tools: autotest added frsky serial_protocol 4 and 10 testing against mavlink telemetry 2020-07-02 21:53:06 +10:00
bnsgeyer
1191a5e1ea Tools: Tradheli add rotor_runup_complete_checks 2020-07-02 21:49:40 +10:00
Peter Barker
332c73d168 autotest: reboot before running Copter ModeCircle test
This shouldn't be required, but CI is falling over too much.
2020-07-02 18:40:11 +10:00
Peter Barker
de226c69ab Tools: add simulated LightWare serial lidar talking new binary protocol 2020-07-02 10:50:59 +10:00
Peter Barker
e5395069f4 autotest: add test for angle q-assist 2020-07-01 20:57:32 +10:00
Peter Barker
53b6d1a639 autotest: wait for heartbeat when opening connection
# need to wait for a heartbeat to arrive as then mavutil will
        # select the correct set of messages for us to receive in
        # self.mav.messages.  You can actually recieve messages with
        # recv_match and those will not be in self.mav.messages until
        # you do this!

Also, wait_heartbeat ignores heartbeats from e.g. MAVProxy
2020-07-01 14:38:21 +10:00
Peter Barker
74c04271fa autotest: fix breakages for defaulting to mavlink2
This highlights the fact that fetching rally points using the mission
item protocol does some when you're talking mavlink1 doesn't work out
well.

            # so this looks a bit odd; the other end isn't sending
            # mavlink2 so can't fill in the extension here.
2020-06-30 21:58:48 +10:00
Andy Piper
4147f0cce3 autotest: test gains are saved by autotune 2020-06-30 20:09:48 +10:00
Peter Barker
7da5f7c9b5 autotest: disable Spline waypoint test
The bug being exposed is causing too much noise in CI.
2020-06-26 18:05:41 +09:00
Peter Barker
29e6f058a9 autotest: add test for scripting guided-steering-throttle example 2020-06-26 11:39:06 +10:00
Andy Piper
b4efb78315 autotest: rangefinder transition test 2020-06-24 21:16:50 +09:00
Peter Barker
3737c13784 autotest: allow message rates to be set by message name, not just ID
Simply for convenience.
2020-06-24 18:09:28 +10:00
Peter Barker
cd1198bf49 autotest: drain mav before attempting to run a command
We're losing an arbitrary amount of data while getting the ACK, so it's
fine to lose whatever is in the buffer.
2020-06-24 18:09:28 +10:00
Peter Barker
d0b97b89e7 autotest: add an assert_receive_message method 2020-06-24 18:09:28 +10:00
Peter Barker
bb14746517 autotest: re-enable Rover BendyRuler test
This appears to now be working
2020-06-24 08:53:04 +09:00
Andy Piper
c6415136ed autotest: add a test for dynamic harmonics 2020-06-21 19:09:35 +10:00
Peter Barker
d1170db4bf Tools: allow parameters to be specified on a per-vehicle basis 2020-06-16 11:21:47 +10:00
Peter Barker
ba5e4b8e37 autotest: python3 fix for fly_guided_move_to 2020-06-15 12:54:25 +10:00
Peter Barker
300e7ac2eb autotest: increase timeout on receiving mission-related messages
... to silly proportions.
2020-06-12 14:05:35 +10:00
Peter Barker
77e5236278 autotest: drain mavlink queue to avoid failing on slow MISSION_COUNT
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.
2020-06-11 20:53:50 +10:00
Peter Barker
dc19dfaed8 autotest: fix several race conditions in RCOverride test 2020-06-11 08:30:32 +10:00
Peter Barker
e207bbdf2a autotest: fix SYSTEM_TIME stream detection function
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.
2020-06-10 22:00:01 +10:00
Iampete1
579227d27a Tools: param.py add MB 2020-06-09 09:23:25 +10:00
bugobliterator
0528daecd8 autotest: increase timeout for compass calibration 2020-06-08 07:25:51 +10:00
Andrew Tridgell
7390846851 autotest: we need more than 1500 throttle for SimpleMode test
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
2020-06-05 11:35:53 +10:00
bugobliterator
a5e9da337a Tools: autotest: fix FixedYawCalibration 2020-06-05 09:38:40 +10:00
bugobliterator
2c3bd61eb4 autotest: remove older compass calibration test 2020-06-05 09:38:40 +10:00
Pierre Kancir
bd53796ed4 Tools: copter: add compass calibration testing 2020-06-05 09:38:40 +10:00
Pierre Kancir
2c7fc65fbd Tools: common.py: add generic compass calibration test 2020-06-05 09:38:40 +10:00
Pierre Kancir
b72a17533c Tools: common: add a method to try arming and wait a result 2020-06-05 09:38:40 +10:00
Pierre Kancir
59de90d97f Tools: common.py: make max_delta a paramter for verify_parameter_values 2020-06-05 09:38:40 +10:00
Peter Barker
6490a57179 autotest: move check_logs to be an AutoTest-class function
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.
2020-06-04 20:15:31 +10:00
Peter Barker
d08e9b3363 autotest: --list-subtests works for QuadPlane, Heli and BalanceBot 2020-06-04 10:13:57 +10:00
Peter Barker
6c67ddacf4 autotest: rename set_heartbeat_interval to set_heartbeat_rate 2020-06-04 01:11:28 +10:00
Peter Barker
4e216f976f autotest: assert that Plane doesn't support fence-via-mission-item-protocol
Hopefully this starts to fail at some stage!
2020-06-02 19:00:32 +10:00
Christian Clauss
b07fb05dde autotest: Use ==/!= to compare constant literals (str, bytes, int, float, tuple)
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
```
2020-06-02 16:25:15 +10:00
Peter Barker
ffaa60b9ed autotest: stop emitting duplicate rangefinder headings
This was only an issue for the Wasp rangefinder block, which drops stuff
in at the top level by specifying the same subgroup name as the top
level.
2020-06-02 09:37:33 +10:00
Rajat Singhal
969a66fa01 Tools: autotest: Add Max RC input test for Rover
Currently disabled since it triggers Arithmetic Exception
2020-05-31 21:11:36 +10:00
Peter Barker
c474edbfbc autotest: attempt to make parameter download more reliable
something is stopping parameters from being fetched.  Give it time to
clear.
2020-05-30 10:11:07 +10:00
Peter Barker
adeb37581f autotest: fix heli for setpoint change 2020-05-29 14:53:12 +10:00
Peter Barker
aaef44858f autotest: add test for Heli stabilize-mode takeoff 2020-05-29 14:25:30 +10:00
Peter Barker
c44b760f3c autotest: explicitly run hello-world test and check for string 2020-05-28 13:49:47 +10:00
Peter Barker
b0916231b2 autotest: add tests for log download 2020-05-26 19:32:49 +10:00
Peter Barker
c8fdf9305b autotest: add test for quadplane stickmixing 2020-05-24 12:17:50 +10:00
Andy Piper
1358e39ffd autotest: test 256 FT windows and fix calculation of log-based FFT
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
2020-05-24 07:43:34 +10:00
Peter Barker
605672b631 autotest: round frsky altitude rather than truncate
Closes https://github.com/ArduPilot/ardupilot/issues/14431
2020-05-23 17:40:24 +10:00