Commit Graph

634 Commits

Author SHA1 Message Date
Peter Barker 37efb1cbeb autotest: Copter sim passes default file instead of setting parms
We're now waiting for the vehicle simulation to provide us a heartbeat
for a non-generic frame before considering it good to fly.

Unfortunately, Copter relies on the parameter file to tell it which
frame to use - and we don't apply parameters from parameter files until
after we've checked the heartbeat.

Passing the file into ArduPilot on the commandline means we don't have
this problem.
2021-03-19 09:46:45 +11:00
Peter Barker 120167f799 autotest: fix fly_square mission
waypoint doesn't change until mission is running
2021-03-18 17:02:06 +11:00
Peter Barker 42eec13f5e autotest: adjust CAN test for lack of MAVProxy 2021-03-18 13:50:57 +11:00
Peter Barker da52e5d08c autotest: set SYSID_MYGCS in tests which need it
This was still relying on heartbeats coming from MAVProxy.  As speedup
increased those heartbeats may not come fast enough - and they really
should be coming from autotest as that's who's doing the commanding.

autotest: set SYSID_MYGCS in AFS test

autotest: set SYSID_MYGCS before setGCSfailsafe
2021-03-17 16:02:45 +11:00
Peter Barker 216140b58d autotest: remove un-needed portion of reset_delay_item
Looks like this function evolved and this appendix remained
2021-03-17 14:17:39 +11:00
Peter Barker f7d8994ce1 autotest: move assert_mission_count up, use it 2021-03-17 00:23:05 +11:00
Peter Barker 30c9d4bcf4 autotest: remove pointless loiter switch 2021-03-16 23:33:51 +11:00
Peter Barker 0414929310 autotest: fix Heli spline waypoint test
Mission isn't round-tripped so make it non-strict
2021-03-13 09:35:22 +11:00
bugobliterator 5074b6d336 autotest: add test case for GPS ordering
also fix flake8 issues
2021-03-12 16:32:36 +09:00
bugobliterator 48277b43e4 Tools: add autotest for checking GPS ordering 2021-03-12 16:32:36 +09:00
Randy Mackay 78ddd0512c Tools: autotest for copter spelling fix 2021-03-09 11:49:42 +11:00
Peter Barker 425ab1358a autotest: tidy streamrate handling
Stop setting MAVProxy stream rates; these are neither here-nor-there now as MAVProxy will only modify its own connection's streamrates now

Stop doing the set-streamrate dance to work around MAVProxy's
set_streamrate algorithms.

Remove useless and misleading set of streamrate in Plane test; we reset
streamrates on the reboot immediately following this set.  Considering
the streamrate was never eset this was a good thing.
2021-03-05 21:34:58 +11:00
James O'Shannessy 269fa5cbe2 AutoTest: Copter remove FENCE_AUTOENABLE tests
Addresses comments made in review, removes the FENCE_AUTOENABLE param for copter.
No param means no tests required.
2021-03-05 14:52:46 +11:00
James O'Shannessy e16bbe6e18 AutoTest: Ensure fence state is disabled at end of test
This appears to be another case of the fence state carrying over from one test to another. Disabling the fence at the end of the test appears to have fixed this problem
2021-03-05 14:52:46 +11:00
James O'Shannessy 31462418c6 AutoTest: Ensure Copter can RTL and Land even when Fence Floor has not been auto disabled 2021-03-05 14:52:46 +11:00
James O'Shannessy 6251b6eead AutoTest: Rebase and carry across changes from autotest 2021-03-05 14:52:46 +11:00
James O'Shannessy b2346ef6df AutoTest: Adds additional tests to ArduCopter to test autoenable and floor
Adds tests for:
* Testing auto-enable disabled (when no autoenabling of the fence is required)
* Test auto-enabled always after takeoff (when takeoff complete condition met)
* Test auto-enabled disable floor only (when land sequence begins)
* Test auto- on arm/disarm (when vehicle is armed/disarmed)
* Tests ability to land when fence is breached
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas dd5ede0fe0 autotest: small comment improvements 2021-03-05 14:52:46 +11:00
James O'Shannessy bbd606b8b5 AutoTest: Corrections to autotests 2021-03-05 14:52:46 +11:00
James O'Shannessy 47e76a1807 AutoTest: Move fence enable/disable to common location 2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 528defd560 Autotest: activate the fence via a mavlink command
This should not be required in the future, please fix this and revert this commit
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 8d8753b14c Autotest: fix two copter tests after parameter rename
I'm not sure if a better fix would be to remove the set_parameter() call
2021-03-05 14:52:46 +11:00
James O'Shannessy 215901be30 Autotest: Correct the logic for fence based autotest functions
Adds corrections to enabling fence using aux function.
Correctly test fences statically. Only uploaded fences can be checked using a fence file, so we check those first. Then we add steps to check tin can, max and minm all set the fence as present, as expected.
Plane will support MAV_PROTOCOL_CAPABILITY_MISSION_FENCE, so we assert that it does support it.
To test ceiling and floor, leverage some existing functions for takeoff, change altitude and land. Check for respective breach.
Add a floor breach check to copter.
2021-03-05 14:52:46 +11:00
Randy Mackay a35a7e1523 Tools: autotest manual control test requires 12 deg
adjusted down because of lower default angle_max
2021-03-03 08:03:39 +09:00
Peter Barker cc83562add autotest: tidy fence handling 2021-03-02 16:54:06 +11:00
Peter Barker fc9a93ba67 autotest: stop using mavproxy for clearing missions 2021-03-02 14:24:36 +11:00
Peter Barker 97e2596bf8 autotest: stop clearing mission at start of test
These are implicitly cleared by the framework
2021-03-02 14:24:36 +11:00
Peter Barker 973510a4ff autotest: push context after customising cmdline
doing things in the other order causes problems when running the
complete suite
2021-03-02 14:24:36 +11:00
Peter Barker 10007e2e42 autotest: load missions natively rather than using MAVProxy 2021-03-02 14:24:36 +11:00
Peter Barker 34a52e9cfe autotest: use wait_statustext in place of mavproxy.expect for autorotate test 2021-03-02 13:34:09 +11:00
Peter Barker d3b3c443bc autotest: reset copter completely after autotune test 2021-02-25 10:49:58 +11:00
Peter Barker 013415eb31 autotest: make and mark arducopter.py as flake8-compliant 2021-02-24 15:10:10 +11:00
Peter Barker 79f21ed639 autotest: add test for GSF logging 2021-02-23 12:36:33 +11:00
Peter Barker 44ec74030e autotest: recover from flip in althold to remove stabilise throttle problem 2021-02-21 23:11:26 +11:00
Peter Barker a4a5d52c35 autotest: extend time allowed for RTL for simplemode test 2021-02-21 22:45:06 +11:00
Peter Barker 9120882e9e autotest: print name of open dataflash log when test exception caught
The stack trace is already extremely useful... but mapping back to the
relevant dataflash log is a bit of a pain.

Adding more stuff to this method in the future might be good, too.
2021-02-21 21:35:35 +11:00
Peter Barker b5f490aff4 autotest: make fly_proximity_avoidance_test_alt_no_avoid more reliable 2021-02-21 17:44:10 +11:00
Peter Barker d4aef2dba8 autotest: stop using MAVProxy to change mode 2021-02-20 00:03:24 +11:00
Peter Barker c13d229877 autotest: use self.set_current_waypoint rather than "wp set" to set current wp 2021-02-19 12:25:40 +11:00
Peter Barker dcc04ccd09 autotest: stop using MAVProxy to change modes 2021-02-18 17:38:52 +11:00
Peter Barker b1ccf3b3f8 autotest: add test for rangefinder-based proximity avoidance enablement 2021-02-18 15:05:51 +11:00
Peter Barker a292fe1b8b autotest: use wait_statustext rather than mavproxy.expect
This is important when running under Valgrind as the text can be
significantly delayed.  wait_statustext times out in simulation time,
whereas mavproxy.expect has a flat 60s timeout
2021-02-17 18:16:04 +11:00
Peter Barker dbdda65956 autotest: add basic test for GPS blending 2021-02-17 11:30:01 +11:00
Peter Barker c2e310d75f autotest: add test for OBSTACLE_DISTANCE_3D message 2021-02-04 15:50:45 +11:00
Peter Barker 393ec5d6f7 autotest: add test for MAVProxy proximity sensor 2021-02-04 12:03:35 +11:00
Peter Barker ad2ab333f9 Tools: autotest: allow autotest to connect directly to SITL 2021-01-24 09:25:45 +11:00
Peter Barker 30836535d0 autotest: retry dynamic notch test up to 3 times 2021-01-22 11:17:42 +11:00
Peter Barker 281296832a autotest: retry GyroFFTHarmonic test on failure 2021-01-21 16:45:34 +11:00
Andrew Tridgell 3e640eed80 autotest: changes for per-IMU biases and scaling 2021-01-21 13:09:21 +11:00
Peter Barker c7a6047904 autotest: add option to retry tests / create and use Test definition object 2021-01-21 10:23:17 +11:00
Andrew Tridgell c396d15890 Revert "autotest: ensure defaults files don't set already-default-values"
This reverts commit 3d431cd4f1.

It breaks MissionPlanner SITL. We can re-apply once MissionPlanner
copes with external_model.
2021-01-20 08:54:43 +11:00
Peter Barker 1cb86303b4 Tools: add test for maxbotixi2cxl 2021-01-19 11:20:47 +11:00
Peter Barker 3d431cd4f1 autotest: ensure defaults files don't set already-default-values
autotest: mark some vehicles as having external physics models

autotest: add default_params_filename to some vehicle info
2021-01-19 10:34:00 +11:00
Peter Barker 8f9d3909f1 autotest: model_defaults_filepath always returns a list 2021-01-19 10:34:00 +11:00
Peter Barker 2c0e3751a9 autotest: reboot after moving from EKF type 10 to EKF type 2
Bad things happen with home set but origin not
2021-01-18 20:48:11 +11:00
Peter Barker 662e86780b autotest: reduce motor vibration for landing 2021-01-18 20:14:08 +11:00
Peter Barker 2d62fb99b1 autotest: force-disarm copter before reboot in GCS failsafe tests 2021-01-18 14:17:32 +11:00
Randy Mackay b18e5966f7 Tools: fixes from peer review as AHRS default changed to EKF3 2021-01-16 08:24:23 +09:00
Randy Mackay 2f51b59de4 Tools: copter test parameter validation waits 10sec before starting
This allows the GPS driver to initialise which avoids an EKF3 source requires GPS failure
2021-01-16 08:24:23 +09:00
Randy Mackay bb926a2976 Tools: autotest fly_gyro_fft disables EKF2 and EKF3
fly_gyro_fft_harmonic also disables EKF2 and EKF3
2021-01-16 08:24:23 +09:00
Randy Mackay f9e7d59756 Tools: Copter.ArmFeatures fixups for EKF3
changed to disable the simulated GPS instead of disabling the driver
expected EKF flags are slightly different
2021-01-16 08:24:23 +09:00
Randy Mackay 9c56b406be Tools: Copter.AltEstimation fixes
disable baro so EKF has no altitude estimate
add check that mode change to ALT_HOLD failed
2021-01-16 08:24:23 +09:00
Randy Mackay f68f26e75d Tools: Copter.VisionPosition config for EKF3 2021-01-16 08:24:23 +09:00
Randy Mackay d2bdc949b2 Tools: Copter.OpticalFlowLimits checks altitude 2021-01-16 08:24:23 +09:00
Randy Mackay 0ba696f761 Tools: Copter.OpticalFlowLimits config for EKF2/3 2021-01-16 08:24:23 +09:00
Randy Mackay d00194c60a Tools: copter test_rangefinder_switchover config for EKF2/3 2021-01-16 08:24:23 +09:00
Peter Barker cd8a393ac2 autotest: create own RC thread to handle setting of RC overrides
autotest: prevent method-on-undef problem in case of early test failure

autotest: plumb MAVProxy rc input back in for switch test

autotest: close off rc thread in case of timeout
2021-01-15 20:56:30 +11:00
Peter Barker 1dad0ecb46 autotest: disarm vehicle in case vibration test excepts 2021-01-13 19:46:13 +11:00
Peter Barker 47aea5f44c autotest: print stack traces for caught exceptions 2021-01-13 19:46:13 +11:00
Peter Barker e85e6d3375 autotest: use new set_parameters in place of many set_parameter calls
autotest: use set_parameters for applying from parameter file

autotest: use set_parameters in place of many set_parameter calls
2021-01-13 15:09:29 +11:00
Peter Barker 8497f8fc73 autotest: correct some timeout issues around Copter takeoff 2021-01-13 12:24:17 +11:00
Peter Barker 0a39c49711 autotest: gpstovicon: reboot after setting new EKF type rather than before 2021-01-13 12:24:17 +11:00
Peter Barker 252b166099 autotest: reboot after Copter gyrofft test
Really weird things happen if you switch from EKF2 to EKF10 - like your
home position being set but your origin not!
2021-01-13 12:24:17 +11:00
Peter Barker 987466bc3d autotest: increase timeout on avoidance-corners test
Race conditions can mean angles are less than expected
2021-01-13 12:24:17 +11:00
Peter Barker 7474948971 autotest: add test for mavlink rangefinder out-of-range-low 2021-01-06 15:33:41 +11:00
Peter Barker fdd0297f12 autotest: add more tests for MAVLink rangefinder
Allows for finer-grain control over what messages we're sending.
2021-01-06 15:33:41 +11:00
Randy Mackay 66b2b988c4 Tools: update gps-vicon switching test params 2021-01-05 10:58:06 +11:00
Peter Barker 8abf9a82f3 autotest: reliability improvements for EKF failover tests 2020-12-31 14:49:25 +11:00
Peter Barker 0788b46374 autotest: add trivial test for Callisto 2020-12-25 12:18:01 +11:00
Pierre Kancir 824b9c1dc9 Autotest: add setpoint_target test for copter 2020-12-24 00:22:52 +11:00
Peter Barker 662814d6bd autotest: reboot after running Copter vibe tests
The EKF type (at the very least) requires a reboot to revert to its
original value.
2020-12-22 23:51:54 +11:00
Randy Mackay d964fa2307 Tools: fixup EKF source pre-arm test
although setting COMPASS_USE/2/3 to zero disables the pre-arm for EK3_SRCx_YAW = 1 (Compass) the pre-arm still triggers if EK3_SRCx_YAW = 3 (External Compass Fallback)
2020-12-21 16:56:38 +09:00
Randy Mackay 50f9eee54c Tools: relax fly_guided_stop climb rate tolerance to 1cm/s 2020-12-18 08:32:21 +09:00
Paul Riseborough 4cf78c34e7 Tools: Add autotest for copter wind estimation and baro correction 2020-12-11 15:21:41 +11:00
Paul Riseborough a3b5901218 autotest: Fix failing copter fly_square test
This test should be flown in ALT_HOLD, not  STABILIZE as that is better mode to test the record waypoint function becasue it removes the need to fine tune the RC3 value to match thrust/weight variation as the hover thrust is not learned fast enough at the start of the test.
2020-12-11 15:21:41 +11:00
Randy Mackay 9803a70d3f Tools: copter autotest spelling and format fixes 2020-12-09 19:30:48 +09:00
Randy Mackay 665e6ccdcb Tools: copter GCS fs tests explicitly set FS_GCS_ENABLE and FS_OPTIONS 2020-12-09 19:30:48 +09:00
Peter Barker 0406b28abd autotest: print exception if caught in test_alt_estimate_prearm 2020-12-09 18:06:18 +11:00
Peter Barker 768e3e7931 autotest: adjust Vicon test for new PREARM-checking code
The new check that the prearms-passing bit from the autopilot
indicated prearms have passed was failing here because the yaw isn't
alighed until we frob channel 7.

The intent of the prearm seems ot have been to ensure we can get a
global position - that can be accomplished by polling the home position.
2020-12-07 11:21:30 +11:00
Peter Barker be52e642f7 autotest: adjust Replay gps bit to make final logfile replayable 2020-12-03 17:28:26 +11:00
Peter Barker 211cd5255d autotest: tweak beacon test to be replay-friendly 2020-11-30 18:50:24 +11:00
Peter Barker 498b0b79a3 autotest: Replay tests OpticalFlow and Beacons
autotest: run Replay on log generated by test.Copter.BeaconPosition

autotest: test OpticalFlow in replay tests
2020-11-30 18:50:24 +11:00
Peter Barker 9e20f4a68d autotest: add a test for compass yaw sources 2020-11-25 15:19:00 +11:00
Peter Barker b788a172c8 autotest: add simple test for IE24 generator
Tools: Modified richenpower autotest setup

autotest: IE24: Add error code failsafe test
2020-11-24 12:54:52 +11:00
Peter Barker 935d39322c autotest: correct test for mode-change-reason change 2020-11-24 10:09:37 +11:00
Randy Mackay f257dc20d0 Tools: add test.Copter.GPSViconSwitching to CopterTests1d 2020-11-20 16:43:44 +09:00
Randy Mackay b6fe039a9f Tools: autotest for beacon sets EK3_SRC params 2020-11-20 16:43:44 +09:00
Peter Barker 58bdae1b52 autotest: get Valgrind closer-to-working
This gets us past the reboot problem for the most part, where Valgrind doesn't like you exec'ing
2020-11-11 18:22:58 +11:00
Andrew Tridgell 00cfc1932f autotest: fixed arm delay in replay test
thanks to Peter
2020-11-10 16:15:45 +11:00
Andrew Tridgell 5f669e22ff autotest: adjust optical flow speed test 2020-11-10 16:15:45 +11:00