Commit Graph

2244 Commits

Author SHA1 Message Date
Peter Barker 67b71e2b94 autotest: add test for Plane dead-reckoning support 2020-08-21 18:16:40 +10:00
Pierre Kancir 8b92af732a Autotest: common: add wait_heartbeat to change_mode to clean up msg and give time to status to update 2020-08-21 13:35:51 +10:00
Pierre Kancir f73e4c0071 Autotest: copter: add test for mandatory alt estimation for Alt_hold 2020-08-21 13:35:51 +10:00
Peter Barker cddb5fb1cc autotest: use message hook when waiting for statustext
Eliminates a race condition when waiting for statustexts.  Getting the
current sim time slurps messages.
2020-08-21 12:26:12 +10:00
Pierre Kancir b7f46462f8 Autotest: common: reduce timeout on ArmFeature test
This is unnessary to wait for 60s for failure, 15s is enough
2020-08-21 09:13:32 +10:00
Peter Barker f14c9db568 autotest: improve debug around heli poshold takeoff test 2020-08-20 10:10:34 +10:00
bugobliterator c02c500ac5 param_metadata: add microseconds under known param type 2020-08-19 17:31:09 +10:00
Peter Barker a5aa963a77 autotest: fixes --tracker and --tracker-location sim_vehicle.py options 2020-08-18 15:26:03 +10:00
Mark Whitehorn a37b5c2c6b autotest: add rudder disarm checks for airmode 2020-08-18 11:42:34 +10:00
Pierre Kancir 0c3e9bbd4b Autotest: fix mavlink_time_boot format: should be int 2020-08-18 08:33:08 +10:00
Pierre Kancir acc4a1db3f Autotest: remove special case for vicon and default vicon for copter to false 2020-08-17 21:17:26 +10:00
Peter Barker c69908e7ea autotest: add proximity sensor readinds as if from depth camera 2020-08-17 11:20:12 +10:00
Peter Barker ea5aa594a3 autotest: add test for AP_Proximity_MAV 2020-08-17 11:20:12 +10:00
Peter Barker 82dd7ece6c autotest: fix frsky bitop on float issue
Crops up in Python 3.8:

    gpi_lat = self.tf_encode_gps_latitude(gpi.lat)
  File "/home/pbarker/rc/ardupilot/Tools/autotest/common.py", line 6183, in tf_encode_gps_latitude
    value = ((abs(lat)/100)*6) | 0x40000000
TypeError: unsupported operand type(s) for |: 'float' and 'int'
2020-08-15 10:42:47 +10:00
Pierre Kancir 52ae087fb5 Autotest: rover: remove some raw mavproxy cmd for rc 2020-08-15 09:16:24 +10:00
Pierre Kancir 388fef23d9 Autotest: common: remove use of some raw mavproxy cmd for rc 2020-08-15 09:16:24 +10:00
Pierre Kancir 30fa433faa Tools: don't add duplicate param to context 2020-08-14 18:16:47 +10:00
Pierre Kancir fa4a01e8f9 autotest: copter: don't use raw reboot on fly_battery_failsafe() 2020-08-14 09:42:52 +10:00
Pierre Kancir 3c6d1a359a autotest: copter: catch exception on test_battery_failsafe to reset parameters 2020-08-13 12:09:23 +10:00
Pierre Kancir 5fe81706bb autotest: copter: catch exception on test_gcs_failsafe to reset parameters 2020-08-13 12:09:23 +10:00
Pierre Kancir 9c41462bf6 Tools: copter: correct flip test 2020-08-13 10:37:02 +10:00
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
Arash Negahdar a7768aabae Tools: Expose more options to SCRIMMAGE 2020-05-21 08:04:23 +10:00
Peter Barker 1f1383ab64 autotest: add quadplane test for qassist 2020-05-20 18:39:42 +10:00
Peter Barker f9c86bbfd0 autotest: ensure cached timestamp is up-to-date for run_cmd_get_ack
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.
2020-05-19 19:12:41 +10:00
Peter Barker b857002158 autotest: drain mav before checking EKF values
May be getting stale values from this function
2020-05-19 19:12:41 +10:00
Peter Barker d51d6752e5 autotest: drain mav before delay
We're seeing suspiciously low wall-clock delays.
2020-05-19 19:12:41 +10:00
bugobliterator 183e50b31f autotest: fix autotest on mac os x 2020-05-17 16:12:43 +10:00
Peter Barker c0fae0b1fb autotest: disable GyroFFT test; underlying issue being actively worked on 2020-05-15 16:02:41 +10:00
Peter Barker dec615bfb5 autotest: drain SITL pexpect when waiting for parameter
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.
2020-05-15 16:02:09 +10:00
Peter Barker f6b121ad87 autotest: add tests for logging 2020-05-15 16:02:09 +10:00
Andrew Tridgell 8c59eb58bb Tools: added generic copter CMAC mission 2020-05-09 12:33:33 +10:00
Andy Piper 8f864f02fb autotest: 256 windows don't currently work 2020-05-06 10:14:30 +10:00
Andy Piper db4a612c13 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
2020-05-06 10:14:30 +10:00
Peter Barker 1c7354c321 autotest: improve mount debug 2020-05-05 20:51:23 +10:00
Peter Barker b312260be3 autotest: add timestamp to progress message 2020-05-05 11:09:43 +10:00
Peter Barker bd0ebb5778 autotest: accept statustext and ack in any order for mission errors
Accept statustext/ack in any order; statustext may come after ack
2020-05-04 18:42:18 +10:00
Peter Barker ebc781ba3a autotest: switch to looking for barometer update string for passthrough test
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
2020-05-04 10:07:38 +10:00
Peter Barker d197fd4acf autotest: fix rare, random failure in GCSRally test
Notionally the statustext could be put aside and we could not have room
for it, so we see the ack first.
2020-05-04 00:22:54 +10:00
Peter Barker 475027e03a Tools: autotest.py: add --enable-math-check-indexes 2020-04-28 15:12:39 +10:00
Peter Barker cb3c1742e8 Tools: sim_vehicle.py: add --enable-math-check-indexes 2020-04-28 15:12:39 +10:00
Arash Negahdar 7de136121b Tools: Exit cleanly based on the environment
As suggested by Peter Barker
2020-04-28 11:09:51 +10:00
Arash Negahdar 908b63573e Tools: Implement better Scrimmage support 2020-04-28 11:09:51 +10:00
Arash Negahdar e75ac4ae57 Tools: Allow multiple ArduPilot instances to be spawned 2020-04-28 11:09:51 +10:00
bnsgeyer bf86059229 Tools: update tradheli sitl default param file 2020-04-28 10:45:33 +10:00
Andy Piper dd987c9a19 autotest: new harmonic notch test 2020-04-28 09:32:02 +10:00
Peter Barker 864717310d autotest: allow specification of EKF type to use on commandline 2020-04-24 13:37:47 +10:00
Peter Barker c6cf809041 autotest: correct some parsing-out-of-logging-message 2020-04-22 21:10:55 +10:00
Samuel Tabor 913e5a23fe autotest: Add method to get default params for model. 2020-04-22 10:01:09 +10:00
Peter Barker 39032459d1 autotest: add explicit test for mavlink rangefinder 2020-04-21 20:44:59 +10:00
Mark Whitehorn 0e6ae6c5b4 Tools:autotest: add AAMWestField location 2020-04-20 10:08:17 +09:00
Peter Barker e63e5ba130 autotest: correct path to defaults file when customising SITL cmdline 2020-04-19 11:09:16 +10:00
Samuel Tabor e30f0a9173 autotest: Move soaring test into plane. 2020-04-19 11:09:16 +10:00
Peter Barker 52227872d2 autotest: rover: skidsteer: fix defaults file path 2020-04-18 21:51:16 +10:00
Stephen Dade 49d19e1aac Tools: Python3 and kill_tasks fixes for sim_vehicle under Cygwin 2020-04-17 10:32:25 +10:00
Peter Barker 7c20a1ee05 autotest: rename apmrover2.py to rover.py 2020-04-15 19:29:04 +10:00
Peter Barker efb5ad2f1c autotest: correct checking of downloaded file
First time we've tried to round-trip a mission file with comments it it

New frames used by new mission files need stuff to be ignored
2020-04-15 16:24:40 +10:00
Peter Barker 899b98b2f9 Plane: add test for loading/restoring large missions 2020-04-15 16:24:40 +10:00
Andrew Tridgell 7ad8ea017c autotest: make column ordering in rst gen stable
needed for cache of param builds
2020-04-15 15:11:21 +10:00
Peter Barker 0e40d1cb6b autotest: correct key for Rover -> APMrover2 in skidsteer test 2020-04-14 15:09:17 +10:00
Peter Barker 10e8f3f3d7 autotest: canonicalise on defaults_filepath rather than defaults_file
This naming better represents the fact this isn't just a filename.
2020-04-14 15:09:17 +10:00
Samuel Tabor c4e255fa5f autotest: Fix key error 2020-04-14 15:09:17 +10:00
Peter Barker 332a19d9dc autotest: sim_vehicle.py: add backwards-compatible APMrover2 option 2020-04-14 09:50:34 +09:00
Peter Barker 2088446ebf Tools: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker 691ae58a79 Tools: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Andrew Tridgell 685d26c808 Tools: added --disable-ekf2 and --disable-ekf3 in sim_vehicle.py 2020-04-14 09:15:43 +10:00
Peter Barker d43fc591c3 autotest: add skidsteer test 2020-04-12 20:34:26 +10:00
Peter Barker 9511fa59ec autotest: permit specification of frame as part of customing cmdline 2020-04-12 20:34:26 +10:00
Peter Barker e0380fc9be autotest: improve debug information for missing fields 2020-04-12 08:36:48 +10:00
Andrew Tridgell 845755dd3d Tools: removed GPS_POS vars from defaults 2020-04-11 21:14:31 +10:00
Willian Galvani a1dcb8e3c1 Tools: use html.escape instead of cgi.escape
cgi.escape has been deprecated since Python 3.2
https://docs.python.org/3.5/library/cgi.html#cgi.escape
2020-04-10 15:40:01 +10:00
Randy Mackay f78d8b009a Tools: enable visual odometry for fly_vision_position test 2020-04-09 19:41:08 +09:00
Pierre Kancir 07435cc541 Tools: correct path for soaring mission 2020-04-09 09:01:03 +10:00
Pierre Kancir d5aec30a7d Tools: update path for antenna tracker test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir 77ee15bfa1 Tools: finish clean up path 2020-04-09 09:01:03 +10:00
Pierre Kancir 81274018c3 Tools: update path for sub test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir 4eceef1cef Tools: update path for rover test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir bcd15bc6e4 Tools: update path for plane test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir 24a2bc3b0e Tools: update path for copter test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir 5b26df5780 Tools: put Mission files into right directories 2020-04-09 09:01:03 +10:00
Peter Barker 2d171d0cb4 autotest: add sanity check for duplicate labels in LogWrite calls 2020-04-08 11:17:41 +10:00
Samuel Tabor a4c5e12fac Tools: Make soaring test a subclass of plane test. 2020-04-08 09:11:54 +10:00
Samuel Tabor 0df6d74d77 AP_Soaring: Update autotest to use delay_sim_time not wait_seconds. 2020-04-08 09:11:54 +10:00
Samuel Tabor 7168a65155 Autotest: Simplify soaring.py. 2020-04-08 09:11:54 +10:00
Samuel Tabor 528dcc3f6b Autotest: Add test for soaring. 2020-04-08 09:11:54 +10:00
Samuel Tabor a18d6e925d AP_Soaring: Improved default sim parameters. 2020-04-08 09:11:54 +10:00
Samuel Tabor 5082c9be8b SITL: Add plane-soaring type, including parameters, mission, simulated thermals and glider sim settings. 2020-04-08 09:11:54 +10:00
Peter Barker 5881692e4f autotest: sub: fix altitude-hold for being below target altitude 2020-04-07 14:51:32 +10:00
Peter Barker 52bb7760bc autotest: add debug for COMMAND_LONG commands 2020-04-06 10:07:26 +10:00
Peter Barker d966f5718d autotest: add option to list subtests 2020-04-03 17:00:22 +11:00
Peter Barker 45ccced4df autotest: add examples to help output 2020-04-03 17:00:22 +11:00
Peter Barker 47e03d4e62 autotest: loosen epsilon on arriving at boundary
We don't always get within 2.5m
2020-04-02 12:56:24 +11:00
Peter Barker 4bab3c083e autotest: sort messages in logger documentation output files 2020-04-02 10:57:40 +11:00
Peter Barker cbe1dba781 autotest: loosen slowdown constraint on zigzag test 2020-04-02 09:39:27 +11:00
Pierre Kancir 5d299eb584 Tools: add error keyword on param parse for newcomers 2020-04-02 08:11:42 +11:00
Peter Barker f450df18b0 autotest: allow more time to loiter to ne in precision test 2020-04-01 21:51:22 +11:00
Peter Barker 2fb31e69ea autotest: correct test class map for Helicopter 2020-04-01 11:17:56 +11:00
Peter Barker 9da91b2005 autotest: execute check-logs step for Tracker
... and newly-renamed steps.

Also, eliminate no-longer needed step prefixes as we've canonicalised
them.
2020-03-30 13:34:08 +11:00
Peter Barker 53ced35f9d autotest: correct bytes decoding for Python3 in Logger documentation 2020-03-29 14:44:36 +11:00
Peter Barker b8dba9886f autotest: Python3 fixes for LTM tests 2020-03-29 10:00:08 +11:00
Pierre Kancir aec5ae91fa Tools: adjust zigzag timing to pass test 2020-03-27 22:13:52 +11:00
Pierre Kancir 3f441e61cd Tools: copter : make zigzag more verbose 2020-03-27 22:13:52 +11:00
Pierre Kancir f24f97e51b Tools: sub: update to new wait functions
Signed-off-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
2020-03-27 22:13:52 +11:00
Pierre Kancir aba594fe2d Tools: copter: update exception for rangefinder test 2020-03-27 22:13:52 +11:00
Pierre Kancir 1689714a5c Tools: copter: add more verbose on fly_guided_change_submode 2020-03-27 22:13:52 +11:00
Pierre Kancir 56298aabda Tools: update arduplane.py wait function parameters 2020-03-27 22:13:52 +11:00
Pierre Kancir e4eebce5a6 Tools: update arducopter.py to use new wait functions 2020-03-27 22:13:52 +11:00
Pierre Kancir 2d65cbd884 Tools: Common : create generic wait_and_maintain function, upgrade all wait functions to use it 2020-03-27 22:13:52 +11:00
Peter Barker 87d363c3f4 Tools: use renamed autotest step names 2020-03-27 18:20:52 +11:00
Peter Barker be49396d32 autotest: canonicalise step names (e.g. drive.APMrover2 -> test.Rover)
Map from older step names to newer test names added for
backwards-compatability
2020-03-27 09:29:19 +11:00
Peter Barker bfc4802b37 autotest: fix sitl reboot 2020-03-25 20:19:25 +11:00
Rishabh c859287310 Tools: param_metadata: check for duplicate enteries in parameter value field 2020-03-24 10:26:04 +11:00
Peter Barker 6206cbd1fa autotest: add sanity checking for undocumented/overdocumented logger messages 2020-03-22 18:35:14 +11:00
Peter Barker e671a0912e autotest: logger_metadata: understand , in @LoggerMessage
This means multiple messages use exactly the same meaning in the fields

Also retain ordering of fields
2020-03-21 09:34:43 +11:00
Peter Barker 28c3ba32ae autotest: add test for AP_Logger documentation generation 2020-03-20 13:05:46 +11:00
Peter Barker 60ff6c0b24 autotest: add parser for the logger metadata 2020-03-20 13:05:46 +11:00
Peter Barker 741d3e1435 autotest: make verify_parameter_values more verbose 2020-03-20 13:05:15 +11:00
Peter Barker 30baad35b2 autotest: improve debug on RC override test timeout 2020-03-20 12:19:44 +11:00
Peter Barker 403950f61f autotest: add autotests for CPU failsafe 2020-03-20 12:19:21 +11:00
Peter Hall 32276d9725 Tools: autotest: apmrover2: add more scripts to and enable internal test 2020-03-19 15:28:39 -07:00
Peter Barker 92d2186b95 autotest: don't use self.mav.motors_disarmed_wait as it blocks forever 2020-03-17 16:31:29 +11:00
Andy Piper 718a6593e6 autotest: disable harmonic FFT test 2020-03-13 21:10:56 +11:00
Andy Piper 7c1757bab4 autotest: separate out harmonic matching test
be more forgiving about harmonic fit detection due to imperfect simulation
use the fft length to determine how accurate the frequency match should be
2020-03-13 21:10:56 +11:00
Callan Daniel f1d6588954 add to locations.txt
Add Highway Airfield (South Africa) to locations.txt
2020-03-13 11:08:33 +11:00
Andy Piper 94ff5d13c0 autotest: limit frequency matching to resolution of the FFT 2020-03-10 15:04:46 +11:00
Peter Barker 5f8b7e990e autotest: make scripts directory relative to CWD
This is where the library is expecting to find the scripts directory.

The existing setup assumes that autotest has been run from the root
directory - that's not always the case.  For example, the autotest
server starts everything one-up from the root directory.
2020-03-09 14:34:02 +11:00
murata d4d1eac612 Tools: Add Hachinohe mine 2020-03-07 21:07:16 +11:00
Peter Barker d464db9c70 Tools: create log of build_binaries.py builds 2020-03-07 20:49:36 +11:00
Peter Barker dc8e1bd4a4 autotest: flake8 fixes 2020-03-07 20:45:26 +11:00
Peter Barker c7aff4eb11 autotest: fixes for quadplane fft test
recv_match's result is not iterable; it just gives you a single message.

printing the stacktrace when assigning to ex is tradition - we tend to
lose the stack traces otherwise

rebooting sitl is usually required if the context we've just popped had
a reboot in it (usually indicating a reboot-required parameter was set).
So I added a reboot after the context pop.
2020-03-07 20:45:26 +11:00
Andy Piper de55e4dcc2 autotest: disable harmonic matching test 2020-03-07 20:44:52 +11:00
Andy Piper eb0923a018 autotest: separate out harmonic matching test 2020-03-07 20:44:52 +11:00
Peter Barker 4c964dd89f autotest: param_parse.py: allow cr to exist on empty lines in prog_param
This should fix parameter building on the Windows CI autotest.

We allow empty lines between @Param blocks and the parameter (and, in
fact, require it before multi-entry @GROUPINFOs like vectors).

The regex wasn't taking into account Windows will have \r\n on that empty
line rather than just \n
2020-03-06 15:40:25 +11:00
Peter Barker 67a3610f54 autotest: correct dangling path separator issue in PYTHONPATH 2020-03-04 19:36:18 +11:00
Peter Barker c517124c72 Tools: correct path separator in PYTHONPATH 2020-03-04 15:25:14 +11:00
Peter Barker 8deaa36f5a autotest: neaten start of MAVProxy, add debug showing cmdline
Attempting to diagnose failure of MAVProxy to find rline.py on the
autotest server.
2020-03-03 21:40:20 +11:00
Peter Barker 566732a2d7 autotest: tidy setting of PYTHONPATH in the environment
This could go badly for others appending to PYTHONPATH - this would have
left a trailing : on the end of the path
2020-03-03 21:39:56 +11:00
Peter Barker 7038d522b8 autotest: run GetCapabilities test on all vehicles 2020-03-03 09:44:39 +11:00
Peter Barker 3fac5ad52c autotest: loosen gyro fft test to avoid spurious CI failures 2020-03-01 20:51:26 +11:00
Peter Barker a9f3f9af40 autotest: attempt to fix param-parse crlf issue 2020-03-01 20:50:56 +11:00
Peter Barker cb8d623624 autotest: add test for fixed yaw calibration 2020-02-29 16:25:30 +11:00
Andy Piper ee18db36fa autotest: be more lenient on frequency with harmonic matching test 2020-02-25 08:35:09 +11:00
Peter Barker b3bfc0bd32 autotest: add instant-disarm radio failsafe test 2020-02-24 12:25:42 +11:00
Peter Barker 82f53abee2 autotest: restore fly.ArduCopter as running all tests
the test list for ArduCopter is made up of those from tests1 and tests2
2020-02-22 16:51:39 +11:00
Arash Negahdar 9fb2914209 Tools: Only calculate root_dir and autotest_dir once in sim_vehicle.py 2020-02-22 13:12:42 +11:00
Andy Piper 05a0fe615b Tools: split Copter tests into two runs to balance time on travis 2020-02-22 11:15:37 +11:00
Andy Piper ba67ad39a0 Tools: quadplane test 2020-02-22 11:15:37 +11:00
Andy Piper 88f0c26636 Tools: add CMSIS DSP module to waf for M4 ChibiOS and control inclusion of FFT based on HAL_WITH_DSP and GYROFFT_ENABLED. target appropriate ARM cpus
sophisticated autotest for Gyro FFT
2020-02-22 11:15:37 +11:00
Pierre Kancir e1d8148cc0 autotest: Python correctness fixes
Tools: common: correct copy shadowing in set_rc_from_map

Tools: common: comment out unused code

Tools: common: remove iteritem usage for py3

Tools: common: remove duplicate key in FRSkySPort id description for GPS

Tools: rover: correct type shadowing

Tools: rover: make expected_distance_epsilon float

Tools: rover: comment out unused code

Tools: rover: correct variable shadowing on my_message_hook

Tools: copter: correct variable shadowing

Tools: common: use Bool for port.setblocking

Tools: common: fix variable shadowing
2020-02-22 10:37:29 +11:00
Peter Barker 293692cc24 autotest: strip whitespace from parameter attribute values
Attempt to fix \r\n issue on Azure cygwin tests
2020-02-21 19:51:15 +11:00
Peter Barker c4d282f05b autotest: param_parse.py: whitespace-only line is param block delimiter
Several parameters were missing from the documentation because there was
a line with just trailing whitespace immediately after a parameter
metadata block.

Be more lenient.
2020-02-19 15:09:16 +11:00
Peter Barker b2d05c9a85 autotest: make download_parameters more robust 2020-02-19 15:09:16 +11:00
Peter Barker e3e152ae3e autotest: make all-parameter-documentation-working a full autotest 2020-02-19 15:09:16 +11:00
Rishabh f22e818161 Autotest: support new motor orders 2020-02-19 11:28:25 +09:00
Peter Barker a86dc33235 autotest: improve debugging of original location discrepancy 2020-02-18 12:29:00 +11:00
Rishabh b81aa05622 Tools: Shift RTL and S_RTL to not_armable_mode_list 2020-02-18 08:14:31 +09:00
Peter Barker 14ad9a58bd autotest: don't blat main test exception with still-armed exception 2020-02-14 16:36:12 +11:00
Peter Barker fa33719da6 autotest: improve distance-from-home debug 2020-02-14 16:36:12 +11:00
Peter Barker 6843d0e628 autotest: improve debug on parameter download failure 2020-02-13 21:31:20 +11:00
Peter Barker be7ae6fbc9 autotest: add --validate-parameters autotest option
After each reboot, the complete list of parameters is downloaded and
checked against parameter documentation generated from the source code.
2020-02-13 21:31:20 +11:00
Peter Barker 5d5f9b77e8 autotest: include AP_Vehicle parameters in documenation 2020-02-13 21:31:20 +11:00
Yaapu b0e5bfc32d autotest:FRSkySPort: added support for VARIO 0x30 and GPS 0x800 sensor types
This adds support for the VARIO sensor 0x30 and GPS sensor 0x800 to the autotest suite
2020-02-09 20:52:58 +11:00
Peter Barker fd8088f1e5 autotest: add Copter tests for altitude change on arm 2020-02-08 11:06:03 +11:00
Peter Barker ac904085d6 autotest: add statistics on time taken to arm 2020-02-08 11:06:03 +11:00
Peter Barker b0aceaea70 autotest: add tests for LTM telemetry output 2020-02-08 10:38:34 +11:00
Peter Barker 62f289b8e6 autotest: drain_mav_unparsed gets a quiet option 2020-02-08 10:38:34 +11:00
Peter Barker b75dd36f71 autotest: create Telem baseclass for telem clients 2020-02-08 10:38:34 +11:00
Peter Barker 212bc6538b autotest: improve output on wait_altitude 2020-02-07 15:02:35 +11:00
Peter Barker 71a129d685 autotest: add test for Plane LOITER 2020-02-07 15:02:35 +11:00
Patrick José Pereira 98adeafad9 Tools: autotest: Add sub test for MOT_THST_HOVER parameter
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-02-05 09:01:33 -05:00
Peter Barker 16f4d33d00 Tools: add known Calibration tag to apm.pdef.xml
this will allow a GCS to hide anything that a user should never
ordinarily have to see in terms of calibration parameters
2020-02-04 20:29:09 +11:00
Peter Barker 0ea4e150db autotest: add test for gimbal range issue 2020-01-31 14:20:07 +11:00
Peter Barker a9e288a335 autotest: improve clarity by breaking apart calculations for mount pitch 2020-01-31 14:20:07 +11:00
Peter Barker 346471258b autotest: add test for mot_pwm validation 2020-01-30 14:49:16 +09:00
Rishabh 5e08d503ea Autotest: support new motor orders 2020-01-29 16:57:23 +09:00
Peter Barker 441f43103a autotest: add send_debug_trap to send a mavlink trap to the autopilot 2020-01-29 10:27:01 +11:00
Peter Barker 53ce463a90 autotest: add test for statustext coming through via frsky passthrough 2020-01-28 15:16:58 +11:00
Peter Barker cc5359d774 autotest: add explicit tests for rc-override-times of 0 and -1 2020-01-28 10:40:57 +11:00
Peter Barker e7ca2057ce autotest: improve output from wait_altitude 2020-01-25 14:26:13 +11:00
Peter Barker c4ce6fa385 autotest: Sub: give vehicle 1 second to achieve alt-hold altitude 2020-01-25 14:26:13 +11:00
Peter Barker 0c85200b18 autotest: test diagonals and off-diagonals are set by magcal test 2020-01-25 11:32:27 +11:00
Rajat Singhal 1b19628714 Tools: Add default params for Airsim Rover vehicle 2020-01-23 15:12:50 +11:00
Rajat Singhal 842822bb47 Tools: autotest: Add airsim-rover vehicle 2020-01-23 15:12:50 +11:00
Patrick José Pereira 4518e2b8f2 Tools: Add JSONEmit in param_parse
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-21 10:00:33 +11:00
Patrick José Pereira 1a14085a6d Tools: Add json param metadata parser
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-21 10:00:33 +11:00
Peter Barker 375f642759 autotest: fix race condition in test for AFS on Plane
Only showed up when running under Valgrind, this was a simple race condition.
2020-01-19 09:03:54 +11:00
Peter Barker 91b01a3eb2 autotest: fix integer vs float issues for Python3 2020-01-18 12:52:31 +11:00
Peter Barker e568f74580 autotest: correct string-vs-float issue in dataflashovermavlink test 2020-01-18 09:09:18 +11:00
Peter Barker 3d0ede499b autotest: disable parameters test on Tracker until reboot works 2020-01-16 21:19:01 +11:00
Peter Barker 6c8975eae3 autotest: make sub altitude test more reliable
momentum + stopping point could both explain unreliability
2020-01-16 14:23:43 +11:00
Peter Barker f42c42df02 autotest: Python3 fixes for Frsky tests 2020-01-15 22:00:51 +11:00
Peter Barker 9192cb7b41 autotest: add tests for parameter download 2020-01-15 13:54:23 +11:00
Andy Piper d6248ce57a Tools: correct math in frsky passthrough test 2020-01-15 13:53:52 +11:00
Peter Barker 56fb9f8198 autotest: add test for existence of arming log messages 2020-01-14 11:39:36 +11:00
Peter Barker ba13f0bb29 autotest: add test for Frsky SPort 2020-01-13 16:03:12 +11:00
Peter Barker 280a44fc73 autotest: make nmea-output test more reliable 2020-01-13 16:01:23 +11:00
Mark Whitehorn b6ef76a1ad Update Tools/autotest/locations.txt
Co-Authored-By: Peter Barker <pb-gh@barker.dropbear.id.au>
2020-01-12 11:39:40 +11:00
Mark Whitehorn 4fadf6b67e Tools:autotest: add AAMeastfield location 2020-01-12 11:39:40 +11:00
Peter Barker cefd991fb0 autotest: add test for frsky passthrough 2020-01-11 22:43:36 +11:00
Peter Barker 1cfb4e4a49 autotest: test FRSky serial output by taking output via TCP 2020-01-09 12:24:11 +11:00
Peter Barker 316c6af69f autotest: give guided mode test more time to achieve attitude 2020-01-08 14:29:54 +11:00