Commit Graph

3096 Commits

Author SHA1 Message Date
Peter Barker 8b5afb4a24 autotest: loop across recv_match in assert_receive_message
pymavlink sleeps for half the passed-in timeout which is no good if we are willing to wait for 30 seconds for a message!
2022-08-24 10:08:27 +10:00
Peter Barker 8a13fb0f6d autotest: use assert_receive_message
Removes several block-forever calls
2022-08-24 10:08:27 +10:00
Peter Barker 9d385c815e autotest: util.py: create fake object for MakeOSX SITL object
autotest keeps self.sitl around as a handle on the running SITL binary instance.  MacOSX was returning None for this object, making method calls on it unhelpful.

This fake object will just ignore calls on it.
2022-08-23 17:40:44 +10:00
Peter Barker e182675bc8 autotest: make pysim/util.py AP_FLAKE8_CLEAN 2022-08-23 11:31:01 +10:00
Andrew Tridgell 3127af1af6 Tools: added --can-gps option to sim_vehicle.py
allows for easy DroneCAN testing
2022-08-23 11:17:06 +10:00
Randy Mackay 90023f2691 Tools: copter param file for SITL wind speed estimation 2022-08-23 11:09:20 +10:00
Peter Barker f8c1c3309d autotest: allow more time for Rover to go to smartrtl intermediate point
race conditions with commands from autotest suite
2022-08-22 09:54:09 +10:00
Peter Barker 87eb703bc1 autotest: terminate FTP session after transfering files
race condition starting the second MAVProxy if the first session isn't terminated
2022-08-22 09:01:18 +10:00
Peter Barker af7208a65e autotest: cast packet count to floast before determining rate
Could be causing rate to be zero on autotest server
2022-08-20 21:52:20 +10:00
Peter Barker 668ec44968 autotest: let heading settle before testing WP_YAW_BEHAVIOR=0
2022-08-19T02:22:48.3161982Z AT-0229.9: Exception caught: Unexpected heading=94.000000 want=91.000000
2022-08-19T02:22:48.3162341Z Traceback (most recent call last):
2022-08-19T02:22:48.3162738Z   File "/__w/ardupilot/ardupilot/Tools/autotest/common.py", line 7173, in run_one_test_attempt
2022-08-19T02:22:48.3163101Z     test_function()
2022-08-19T02:22:48.3163507Z   File "/__w/ardupilot/ardupilot/Tools/autotest/arducopter.py", line 4414, in GuidedSubModeChange
2022-08-19T02:22:48.3164012Z     self.assert_heading(orig_heading)
2022-08-19T02:22:48.3164419Z   File "/__w/ardupilot/ardupilot/Tools/autotest/common.py", line 5610, in assert_heading
2022-08-19T02:22:48.3164866Z     raise NotAchievedException("Unexpected heading=%f want=%f" %
2022-08-19T02:22:48.3165290Z common.NotAchievedException: Unexpected heading=94.000000 want=91.000000
2022-08-19 17:06:45 +10:00
Peter Barker 2170c86b9c autotest: stop vehicle running into terrain in MAV_CMD_NAV_LOITER_TURNS 2022-08-19 17:05:22 +10:00
Peter Barker cd207164a2 autotest: correct Rover DriveMission test
4 would seem to have been just a magic number and could be missed on faster speedups
2022-08-19 17:04:54 +10:00
Peter Barker 81740893ee autotest: customise drive_rtl_mission for sailboats 2022-08-19 17:04:25 +10:00
Andrew Tridgell 507dbb0d61 autotest: switch sim_vehicle to EKF3
this was a leftover from many years ago
2022-08-18 14:50:44 +10:00
Iampete1 e7cbf266b3 Tools: autotest: plane: test allow mode change after fence breach option 2022-08-17 17:21:30 +10:00
Iampete1 83b544dd0c Tools: autotest: plane: wait at least 10 seconds before retriggering fence 2022-08-17 17:21:30 +10:00
Peter Barker 8360a3c247 autotest: force-disarm quadplane after ICEngine test
ICE provides forward thrust, which can make us think we're flying
2022-08-17 09:58:11 +10:00
Peter Barker e091e8ad33 autotest: clear context before looking for GPS type
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
2022-08-17 09:57:39 +10:00
Peter Barker bd2ef2e413 autotest: pop extra contexts post-test to clean up message hooks 2022-08-17 09:57:12 +10:00
Peter Barker d2d5aada09 autotest: re-enable terrain loiter check
We now have reliable terrain in autotest
2022-08-16 21:12:37 +10:00
Iampete1 6ab9e4a2b2 Tools: filterTool: add pahse scale option 2022-08-16 12:02:54 +10:00
Iampete1 4e8c68064a Tools: filtertool: check niquist limit at init and on changed sample rate 2022-08-16 12:02:54 +10:00
Iampete1 ad8731df52 Tools: FilterTool: split each graph into two 2022-08-16 12:02:54 +10:00
Andrew Tridgell 2157dd7934 Tools: added required fields for libraries
there are 7 missing at the moment:

missing parameter metadata field 'Description' in ARSPD_USE
missing parameter metadata field 'Description' in ARSPD_OPTIONS
missing parameter metadata field 'Description' in ARSPD2_USE
missing parameter metadata field 'Description' in ARSPD2_AUTOCAL
missing parameter metadata field 'Description' in ADSB_OPTIONS
missing parameter metadata field 'Description' in Q_LOIT_ANG_MAX
missing parameter metadata field 'Description' in Q_WVANE_HGT_MIN
2022-08-16 11:50:11 +10:00
Peter Barker 00d3af6fc5 autotest: handle terrain requests internally to autotest
We will cache all required SRTM data within the autotest branch
2022-08-16 11:12:44 +10:00
Peter Barker 1166beea81 Tools: autotest: tilecache: add required SRTM files 2022-08-16 11:12:44 +10:00
Randy Mackay 9b357a5cd2 Tools: copter autotest uses gimbal-device-attitude-status
add set_mount_mode to reduce duplication
remove reliance on GIMBAL_REPORT
slightly loosen accuracy of mount pitch test
2022-08-15 20:29:25 -04:00
Randy Mackay 7d901491a3 Tools: remove link to resolved issue 2022-08-15 20:29:25 -04:00
Randy Mackay c179bd7c0c Tools: add default params for copter with gimbal 2022-08-15 20:29:25 -04:00
Peter Barker 9f58e7df31 autotest: add test for quadplane booting in auto 2022-08-16 07:24:22 +10:00
Peter Barker bbff00dc0d autotest: be generous with mission upload timeouts
A *lot* of simulated time can pass while the Python gets its act together.  Allow a very large amount of time to pass while uploading missions.
2022-08-14 08:21:07 +10:00
Peter Barker eed9c2e38b autotest: validate kwargs to wait_and_maintain_range 2022-08-14 07:52:42 +10:00
Peter Barker add5243634 autotest: Rover: ensure we actually stop at rally point 2022-08-14 07:52:42 +10:00
Peter Barker 5eb2f6780e autotest: tidy angle test 2022-08-12 19:55:32 +10:00
Peter Barker 8fd5df33d5 autotest: add test for stick-mixing in auto mode 2022-08-11 20:03:12 -04:00
Peter Barker ffc0d8b229 autotest: add test that we need RC input by default to arm for Copter 2022-08-11 20:01:45 -04:00
Peter Barker 46dacd3b61 autotest: add tests for disallowing flying mid-air 2022-08-12 09:44:08 +10:00
Peter Barker 445ee86734 autotest: tidy resetting of parameters after battery failsafe test 2022-08-11 13:32:24 +10:00
Peter Barker 5ee8f99e7b autotest: adjust for terrain arming requirements
Lots of tests really did need terrain stuff but weren't able to get it
2022-08-09 14:31:14 +10:00
Peter Barker fecf7c2e0c autotest: augment Plane TerrainMission to check we *do* follow the terrain 2022-08-09 14:31:14 +10:00
Iampete1 a209a391df Tools: FilterTool: allow query string param config and add get link 2022-08-09 09:48:52 +10:00
Iampete1 ea3f5877c9 Tools: FilterTool: remember scale 2022-08-09 09:48:52 +10:00
Henry Wurzburg cea1e29f4e Tools: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Peter Barker d555c49230 autotest: allow a test to override speedup
This is a crutch for poorly-behaving tests.
2022-08-08 21:33:30 +10:00
Peter Barker e92d4c6fc5 autotest: add test for WP_YAW_BEHAVIOUR 0
With behaviour 0 anbd typemask specifying ignore yaw/yaw_cds the yaw should reamin fixed
2022-08-08 21:33:03 +10:00
Peter Barker d7d473d1f9 autotest: correct assert_prearm_failure to not try to arm vehicle 2022-08-05 17:25:14 +10:00
Joshua Henderson b39642c675 Tools: web-filter save use comma instead of = 2022-08-05 10:16:51 +10:00
Peter Barker 7284fbc978 autotest: allow more time for angle test to retrieve correct angle
Faster speedups mean we can simply not run this loop often enough to see the change
2022-08-04 16:49:28 +10:00
Iampete1 2879d1c087 Tools: FilterTool: move to least squares best fit method to caculate amplitude and phase, allow filters at two sample rates 2022-08-03 17:24:41 +10:00
Iampete1 e5de08b123 Tools: FilterTools: add niquist limit warning and constrain 2022-08-03 17:24:41 +10:00
Iampete1 987ffbb00f Tools: FilterTool: add support for log scale frequency and RPM scale 2022-08-03 17:24:41 +10:00
Iampete1 e49607db54 Tools: FilterTool: add support for PIDs
Tools: FilterTool: add support for PIDs
2022-08-03 17:24:41 +10:00
Iampete1 0c8d65b80d Tools FilterTool: limit fieldsets to same max width as plot 2022-08-03 17:24:41 +10:00
Iampete1 6cac879bae Tools: FilterTool: hide disabled params 2022-08-03 17:24:41 +10:00
Iampete1 f1c4797ef4 Tools: autotest: copter: rangefinder mavlink enable landing gear 2022-08-02 10:48:19 +10:00
Andrew Tridgell 1d34ac4e05 Tools: adjust Dalby mission for VTOL_LAND distance 2022-08-02 07:49:34 +10:00
Peter Barker f57e3668e3 autotest: do no drain mav (i.e. pause sitl) while delaying for sim time 2022-07-29 11:15:59 +10:00
Peter Barker 1c78baac72 autotest: fix Copter PrecisionLoiterCompanion 2022-07-28 21:06:18 +10:00
Peter Barker 35d60d8025 autotest: augment PayLoadPlaceMission test to check drop distance 2022-07-28 21:06:18 +10:00
Peter Barker f67877655b autotest: tidy payload place test 2022-07-28 21:06:18 +10:00
Peter Barker 82bc2a7d85 autotest: adjust Plane EKF check for new configured-backend check 2022-07-28 15:53:13 +10:00
Andy Piper 022ae00199 autotest: att attempts to DataFlashErase test 2022-07-28 08:55:01 +10:00
Iampete1 955f1fd1cd Tools: change AC_FENCE to AP_FENCE_ENABLED 2022-07-27 19:04:56 +10:00
bugobliterator 2375564bb2 autotest: add test for CAN node health pre arm check 2022-07-27 18:18:03 +10:00
Iampete1 002b1e1c44 Tools: FilterTool: add app.py local lanucher for testing 2022-07-27 17:14:31 +10:00
Iampete1 1127ad2397 Tools: FilterTool: update phase and intergration caculation and plot 2022-07-27 17:14:31 +10:00
Peter Barker e6a9dcc25f autotest: add --extra_hwdef option to test_build_options.py 2022-07-26 17:08:41 +10:00
Peter Barker ccc25cb8d7 autotest: increase time allowed for mission download
we don't need to be particularly tight on timing here
2022-07-23 18:36:10 +10:00
Peter Barker b69a75098f autotest: avoid draining mav while waiting for motors-armed heartbeat 2022-07-23 10:56:52 +10:00
Peter Barker 82337c9058 autotest: make search of dflog for required messages faster
Doing these in parallel means we don't need to parse the large file multiple times
2022-07-22 09:13:25 +10:00
Peter Barker e9507fc47d autotest: add --board option to test_build_options.py
Also change to DevEBox as default build target as the BeastHyv2 sprouted a baro
2022-07-22 08:48:16 +10:00
Peter Barker a306c4c506 autotest: increase timeout allowed for mavlite parameter test
the FRSky thread isn't any faster, but ArduPlane's speedup was increased.  So allow more simulated time to get the data
2022-07-21 14:31:32 +10:00
Peter Barker 3c700bdf44 autotest: disable terrain during frsky passthrough test
If terrain isn't available then our expected statustext gets blatted with one which RCTelemetry library emits
2022-07-21 14:31:32 +10:00
Peter Barker aa7987a4fb autotest: correct upload/download-mission timeouts 2022-07-21 14:31:32 +10:00
Peter Barker e27b98f47e autotest: wait for Plane to slow down after frsky test
disarming via mavlink can fail if we think we're still moving
2022-07-21 14:31:32 +10:00
Peter Barker 3e89e32d8a autotest: comment out unused context_start_custom_binary method
Broken under Python2.

Also fix some flake8 problems under flake8 under Python2
2022-07-21 09:59:40 +10:00
Peter Barker 515b79a6ca autotest: remove un-needed calls to drain_mav_unparsed
these calls are generally bad now, given we have context_collect things going on which always want to see messages coming in
2022-07-20 15:17:25 +10:00
Peter Barker a8357531d1 autotest: pause SITL process while draining mav unparsed 2022-07-20 15:17:25 +10:00
Peter Barker d2caebf39c autotest: increase time allowed for getting statustexts
frsky is run i9n a thread  - and signficiant speedsup seem to adversely affect it
2022-07-19 11:00:27 +10:00
Peter Barker 84adb059ed autotest: correct frsky text comparison bug
reusing the variable "text" here crewed up subsequent receiving of messages as it could reset the text from empty to the most recently received text.
2022-07-19 11:00:27 +10:00
Peter Barker 271b4d7d3c autotest: disable mavutil autoreconnect in drain_mav
The process may not be available
2022-07-19 11:00:27 +10:00
Peter Barker acd9fb9c0a autotest: pause/unpause SITL while draining mav
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)
2022-07-19 11:00:27 +10:00
Peter Barker e38adc7d14 autotest: pause/unpause SITL while draining mav
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)
2022-07-19 11:00:27 +10:00
Peter Barker 0677965524 autotest: adjust PAUSE_CONTINUE_GUIDED to use globalframe for navigation
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.
2022-07-19 09:24:45 +10:00
Peter Barker 28ed2e3cd5 autotest: add support for building alternate binaries
e.g. adding features ordinarily compiled out
2022-07-19 09:09:05 +10:00
Leonard Hall 0405451463 SITL: Fix BaroWindCorrection Test 2022-07-15 09:59:44 +09:00
Leonard Hall 7a5c71d8a4 Tools: Update Callisto Model 2022-07-15 09:59:44 +09:00
Peter Barker bceaa10794 autotest: add a test for rally point altitudes 2022-07-14 11:49:53 +10:00
Randy Mackay 67520c55d5 Tools: move Karuizawa location 2022-07-12 21:29:24 +09:00
TunaLobster 670378dc73 Tools: rstemit.py: Change Range to be clearer meaning 2022-07-12 12:58:39 +10:00
Andrew Tridgell 2f7a8769c0 autotest: added --ubsan and --ubsan-abort to sim_vehicle.py and autotest.py
allows for undefined behaviour checking in SITL
2022-07-12 11:00:08 +10:00
Peter Barker 2ca68da77a autotest: correct setting mode by number 2022-07-12 08:51:21 +10:00
Peter Barker a672c7df97 autotest: add test for changing modes by mode number
Useful for when you don't have a mapping entry for the mode number yet
2022-07-12 08:51:21 +10:00
Peter Barker 72734d38de autotest: add test for AUTO_LAND_TO_BRAKE
Having some terrain-based issues with BRAKE mode
2022-07-10 20:59:52 +10:00
Peter Barker 7647e38f3f autotest: create get_home_tuple_from_mission method
Useful if you want to start a mission where a saved waypoint file's home location is
2022-07-10 20:59:52 +10:00
Peter Barker 86096261d0 autotest: add new wait_and_maintain_range method 2022-07-07 21:29:43 +10:00
Peter Barker e77d0ce1a4 autotest: rewrite speedtofly test using wait_airspeed 2022-07-07 21:29:43 +10:00
Andrew Tridgell 53eb0191b1 Tools: fixed typo 2022-07-06 16:54:48 +10:00
Andrew Tridgell 003fef229c Tools: disable convertgpx step in autotest
this is taking 5 hours to run. It just isn't worth it
2022-07-04 20:05:06 +10:00
Andrew Tridgell 6eb406b2d6 Tools: support triple notch in FilterTool 2022-07-03 20:36:16 +10:00