Commit Graph

2386 Commits

Author SHA1 Message Date
Peter Barker 9207bd8a8a autotest: remove armability check from compass calibration test
The new prearm-checking code has shown that we're not actually armable
after all!

Even the new prearm bit won't tell you if you can arm - you have to arm
to test that!
2020-12-07 11:21:30 +11:00
Peter Barker 087300749c autotest: ensure we have position without being armable for compass cal check 2020-12-07 11:21:30 +11:00
Peter Barker 38e324f141 autotest: do not check prearm bit in dataflash-over-mavlink
We won't be armable - but the other checks we make will ensure we get
the error we are looking for

Also use a more reliable way of draining the data from the autopilot
2020-12-07 11:21:30 +11:00
Peter Barker 5707d8ecc0 autotest: check new MAV_SYS_STATUS_PREARM_CHECK in wait_ready_to_arm 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 17f806cdb9 autotest: add test for execution of button-bound functions 2020-12-01 10:06:57 +11:00
Peter Barker 12f001066b autotest: split out a wait_armed function 2020-12-01 10:06:57 +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
Tom Pittenger 58c7f8279d Tools/autotest: fix CI by updating new ADSB_ENABLE->ADSB_TYPE param name 2020-11-30 16:05:17 +11:00
Tom Pittenger 2218f8292a Tools: remove ADSB param that is already default 2020-11-30 16:05:17 +11:00
Pierre Kancir cd98129022 Autotest: fix css loading for autotest.ardupilot.org 2020-11-28 19:14:16 +11:00
Randy Mackay bce3c551e7 Tools: sub set-position-target-global-int sends target once 2020-11-27 10:52:17 +09:00
Randy Mackay d63fe1eb6c Tools: sub set-position-target uses negative altitude 2020-11-27 10:52:17 +09:00
Pierre Kancir 07ffac429b Tools: rover: add test for slew rate 2020-11-25 17:49:20 +09:00
Peter Barker 9e20f4a68d autotest: add a test for compass yaw sources 2020-11-25 15:19:00 +11:00
Peter Barker 3f6b398a01 autotest: include EK2,EK3 and DAL LogStructures in code-defined messages 2020-11-24 15:33:37 +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 29b913cd41 autotest: avoid using undefined fmt variable 2020-11-12 21:00:04 +11: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
Andrew Tridgell 1a1ca7cca7 autotest: fly a bit higher in optical flow test
test was occasionally hitting the ground
2020-11-10 16:15:45 +11:00
Andrew Tridgell 025cf8f72b autotest: cleanup load_local_module 2020-11-10 16:15:45 +11:00
Andrew Tridgell 690af580c9 autotest: abstract out load_local_module()
this will be useful for other tests
2020-11-10 16:15:45 +11:00
Andrew Tridgell f674d124d6 autotest: use SITL replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell 7b50780c5e autotest: fixed rmtree error in autotest 2020-11-10 16:15:45 +11:00
Andrew Tridgell a37cae5dae autotest: added test.Copter.Replay test 2020-11-10 16:15:45 +11:00
Andrew Tridgell 3dff0b3d58 autotest: removed dcm yaw test
this should not be part of replay PR
2020-11-10 16:15:45 +11:00
Andrew Tridgell 403275beea autotest: added RBOH message 2020-11-10 16:15:45 +11:00
Andrew Tridgell 4a06641048 autotest: added RWOH message 2020-11-10 16:15:45 +11:00
Andrew Tridgell 7f0113b82d autotest: added REPH and REVH 2020-11-10 16:15:45 +11:00
Andrew Tridgell ef5baaf482 autotest: added ROFH msg 2020-11-10 16:15:45 +11:00
Andrew Tridgell 8ba067608b autotest: cope with LogStructure.h in multiple places
and allow for no docs in replay msgs
2020-11-10 16:15:45 +11:00
Andrew Tridgell 3ae237b652 autotest: started work on replay testing 2020-11-10 16:15:45 +11:00
Andrew Tridgell 161f2a8d2f autotest: improved error msg for missing doc fields
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
bugobliterator c1dc6465cf Tools: add CANGPSCopterMission mission file 2020-11-04 19:59:40 +11:00
bugobliterator c72c96fa9c Tools: setup CI test for CANBus 2020-11-04 19:59:40 +11:00
Andrew Tridgell 3e3da61396 Tools: fixes from review feedback 2020-10-28 14:20:44 +11:00
Andrew Tridgell 16bede2d74 Tools: allow for -f Callisto as frame type
loads json and params
2020-10-28 14:20:44 +11:00
Andrew Tridgell 31e3fd0771 Tools: added battery capacity to Callisto model 2020-10-28 14:20:44 +11:00
Andrew Tridgell 1286c5f64e Tools: adjust quadplane tuning and QAssist test
fixed roll RTL and land in QAssist test
2020-10-28 14:20:44 +11:00
Andrew Tridgell 47bf3e2249 Tools: use max_err for alt wait in flip test 2020-10-28 14:20:44 +11:00
Andrew Tridgell 7820b402d6 Tools: tweak Qassist test to be more reliable
disabling stall prevention should help with travis
2020-10-28 14:20:44 +11:00
Andrew Tridgell 72d0730194 Tools: fixed flow speed test to be much more robust
takeoff in ALT_HOLD so we don't overshoot as much, and calculate speed
limit based on actual alt
2020-10-28 14:20:44 +11:00
Andrew Tridgell eacebb619a Tools: lower ALT_HOLD_RTL for quadplanes
this speeds up a number of tests that end with an RTL
2020-10-28 14:20:44 +11:00
Andrew Tridgell 1ea0daa95f Tools: adjust quadplane tuning
prevent oscillation
2020-10-28 14:20:44 +11:00
Andrew Tridgell da86dc8814 Tools: fixed FFT test thresholds for new tune 2020-10-28 14:20:44 +11:00
Andrew Tridgell d221756e2d Tools: fixed copter MOT params 2020-10-28 14:20:44 +11:00
Andrew Tridgell c7a60f57ad Tools: improved quadplane tuning
and shorten GyroFFT log msgs so values can be seen in log
2020-10-28 14:20:44 +11:00
Andrew Tridgell a95c2e9db3 Tools: fixed optical flow speed limit
should be 10m/s, as per comment
2020-10-28 14:20:44 +11:00
Andrew Tridgell 86c558e735 Tools: fixed fast climb in SuperSimpleCircle test
1700 makes us climb much too far
2020-10-28 14:20:44 +11:00
Andrew Tridgell ca6da722a9 Tools: adjust StabilityPatch test
fixed to account for use of propeller expo in model
2020-10-28 14:20:44 +11:00
Andrew Tridgell 4e553bcbde Tools: fixed Qassist test
it was using the wrong roll angle for recovery, and relied on poor
tuning of old model to overshoot by 20 degrees
2020-10-28 14:20:44 +11:00
Andrew Tridgell 98dacd5ee4 Tools: fixed wait_for_alt
should be a min alt. This is needed for Flip test to pass with new
model, as it doesn't lose as much height as the old model. So it
starts above the min alt
2020-10-28 14:20:44 +11:00
Andrew Tridgell 10a07bf4f9 Tools: added Callisto model from Leonard 2020-10-28 14:20:44 +11:00
Peter Barker 18330d16de autotest: add test for MAVlite 2020-10-27 10:17:53 +11:00
Pierre Kancir 87d9beab4f Autotest: firmware page: fix html 2020-10-24 10:30:09 +11:00
Pierre Kancir 45a35f9470 Autotest: fix html and use class on CSS 2020-10-24 10:30:09 +11:00
Pierre Kancir 60805fdfa3 Autotest: anonimize IP on ga on autotest page 2020-10-24 10:30:09 +11:00
Pierre Kancir 05d365f1a6 Autotest: remove jdrone logo from firmware server 2020-10-24 10:30:09 +11:00
Pierre Kancir 4ca8f6bf1e Autotest: fix githash on python 3 for firmware html page 2020-10-24 10:30:09 +11:00
Pierre Kancir de927691f2 Tools: remove empty fields in autotest.ardupilot.org 2020-10-24 10:30:09 +11:00
Buzz 586e9f80d5 AutoTest: break copter autotests into smaller "under 10 minute" chunks to speedup github actions CI 2020-10-21 18:01:47 +11:00
Patrick José Pereira cbc3384187 default_params: Sub: Add camera mount parameters
Allow the usage of MOUNT_CONTROL in SITL

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-19 16:25:38 -04:00
Peter Barker 937d7bf335 autotest: add quiet option to drain_mav 2020-10-15 16:31:41 +11:00
Peter Barker 49fd762f26 autotest: fix and re-enable button test
A recent commit to fix the setting-of-pullup-resistors in SITL makes it
possible to re-enable this.

Closes #15259
2020-10-15 08:34:08 +11:00
Peter Barker d865c8553c autotest: loosen takeoff check in heli takeoff to 1m
On the basis that random noise can make it drift 10cm
2020-10-14 12:49:23 +11:00
Pierre Kancir dc8d42b12d Tools: expose option --sysid into sim_vehicle.py 2020-10-13 10:31:21 +11:00
Peter Barker 8f1e9ebc7f autotest: reset camera feedback rate if exception is raised 2020-10-12 13:48:15 +11:00
Peter Barker f9324d38c9 autotest: loosen groundspeed tolerance in guided-stop function
Fixes current "Vehicle did not stop" problem
2020-10-09 12:05:23 +11:00
Peter Barker b630aeeddf autotest: comment suspicious-looking latitude/longitude parameters 2020-10-08 17:23:09 +09:00
Peter Barker 750f1d4032 autotest: send position targets once 2020-10-08 17:22:29 +09:00
Peter Barker d13f6acc66 autotest: quieten mav draining 2020-10-08 17:21:35 +09:00
Pierre Kancir 774c8583b1 Tools: make apm.pdef.xml more readable. 2020-10-07 19:38:14 +11:00
Peter Barker 1d0735f206 autotest: add a poll_message method 2020-10-07 11:54:02 +11:00
Peter Barker 04633d7e1c autotest: if MODE_AUTO is disabled then we also need to disabled AFS 2020-10-06 11:25:09 +11:00
Samuel Tabor bd28a62155 autotest: Update soaring test for THERMAL mode. 2020-09-25 16:21:15 +10:00
Samuel Tabor fe6c4d9290 autotest: Update for THERMAL mode. 2020-09-24 07:30:48 +10:00
Peter Barker 536e2db947 Tools: sim_vehicle.py: add --disable-breakpoints commandline option 2020-09-23 20:28:08 +10:00
Peter Barker 64461dba5e autotest: fix Copter motortest test
We were swallowing all of the rc output containing the values we were
looking for.

Rearrange so we don't swallow where we were, and increase timeout on the
basis that there's still a narrow race.
2020-09-23 09:49:54 +10:00
Peter Barker 669622c614 autotest: improve use of SITL-is-running
ATM if the SITL binary dies we don't catch it anywhere.  This might
become part of the solution for that, as well as some changes on
run_one_test.
2020-09-22 21:11:57 +10:00
Peter Barker fdb31a6419 autotest: param_parse.py: validate @User field to be Standard or Avanced 2020-09-22 14:56:04 +10:00
Peter Barker 1075e13352 autotest: stop set_parameter from using get_parameter
Setting a parameter on ArduPilot causes the autopilot to emit the new
value in a PARAM_VALUE message, so we do not need to fetch it ourselves.

Fetching it ourselves causes subtle problems for the autotest suite
where a PARAM_VALUE is currently in the uart buffer - so the autotest
set_parameter has consumed one PARAM_VALUE message (the auto-emitted
one).  If it immediately does a set_parameter then the next
PARAM_VALUE it sees will be the OLD value as the value comes out of the
uart.
2020-09-15 19:27:36 +10:00
Peter Barker 9e148f245b autotest: param_parse.py: correct parsing of Values fields
the regex used to parse the values field later is rather strict - no
spaces allowed around the : for example.

Canonicalise the string before trying to do anything more with it
(including validation)
2020-09-15 11:09:52 +10:00
Andrew Tridgell 8b95fac214 Tools: added --Werror option to autotest.py 2020-09-15 09:40:03 +10:00
Peter Barker 3e882fcad8 autotest: loosen mag-percent-complete threshold to 95%
So 98% wasn't loose enough...
2020-09-11 15:31:45 +10:00
Harshit Kumar Sankhla f0c237d88e autotest: bug fixes for ekf lane switch test 2020-09-11 10:16:20 +10:00
Peter Barker 796cc72344 autotest: remove parameters with default values from copter.parm
Setting these just takes time we don't need to spend
2020-09-11 08:02:38 +10:00
Samuel Tabor 6de4967a3d autotest: Fix typos and unclear comments in soaring test. 2020-09-10 22:21:41 +10:00
Samuel Tabor f6017d60bf autotest: Update for new soaring behaviour. 2020-09-10 22:21:41 +10:00
Peter Barker 995cda6363 autotest: stop taking off when we're already in the air
Depending on timing we can miss the fact we're already at altitude as we
take off in stabilize and manipulate the throttle before checking
altitude
2020-09-10 10:39:30 +10:00
Peter Barker 0f5f040380 autotest: send all progress messages to autopilot
These will be logged into dataflash and into the telemetry log
2020-09-09 23:47:28 +10:00
bugobliterator d997ca8779 autotest: pass calibration test even if 98% complete before success 2020-09-09 23:46:23 +10:00
Peter Barker 51b54d3740 autotest: avoid leaving message hooks around
Can lead to some very weird and confusing output
2020-09-09 17:59:17 +10:00
Peter Barker 9228f47dc9 autotest: create collections-on-context to record selected messages 2020-09-08 14:19:08 +10:00
Peter Barker f3866e5f39 autotest: disable button test 2020-09-08 12:31:15 +10:00
Andrew Tridgell 7c5a0a6a43 Tools: disable LOG_REPLAY by default in autotest
LOG_REPLAY prevents us logging when we have sensor failures, which
makes many tests hard to debug
2020-09-08 11:01:14 +10:00
Andrew Tridgell 80ef6fa7f2 Tools: added a MagFail test
ensures that both EK2 and EK3 will failover to a new compass on
compass failure
2020-09-08 11:01:14 +10:00
Peter Barker d508ba97c5 autotest: add test for SmartRTL getting another GCS failsafe
Test for specific bug where we would land instead of continue in
SmartRTL
2020-09-08 09:05:03 +09:00
Samuel Tabor 3c0d4b6d5a autotest: Add start time argument and parsing. 2020-09-07 21:20:25 +10:00
Andrew Tridgell a9ecac4fff Tools: added --osdmsp option to sim_vehicle.py 2020-09-07 11:59:20 +10:00
Peter Barker 65268ee3d4 autotest: more button-test fixes 2020-09-06 16:49:16 +10:00
bugobliterator 6203e0685e autotest: disable MAG orientation test 2020-09-06 11:21:28 +10:00
Andy Piper 0b9d9fc284 autotest: use StringIO correctly 2020-09-06 09:12:59 +10:00
Andy Piper 6ebc7622fe autotest: comprehensive dataflash test 2020-09-05 10:20:39 +10:00
Peter Barker 2ea41b7997 autotest: spit out actual simulated mag orientations as part of debug 2020-09-03 13:08:07 +10:00
Peter Barker 5a8b1639d0 autotest: fix nmea output test 2020-09-02 10:05:26 +10:00
Peter Barker 522c3e6281 autotest: make LogUpload the last test again
ATM any logs produced by EKFLaneswitch won't get uploaded in case of
failure
2020-09-01 18:15:37 +10:00
Peter Barker 23ba2002e8 autotest: dump final mag cal report verbosely 2020-09-01 14:11:57 +10:00
Peter Barker 74c47827d9 autotest: drain stdout of SITL binary
The new rate messages were filling up the stdout buffer, causing the
process to block....
2020-08-30 08:38:35 +10:00
Peter Barker e8fa4e1351 autotest: disable autotest for altitude prearm check 2020-08-30 08:38:35 +10:00
Peter Barker 397e134106 autotest: quieten RTL 2020-08-30 08:38:35 +10:00
Peter Barker 065d03dd30 autotest: add a timeout in the button test 2020-08-30 08:38:35 +10:00
Peter Barker c01b26ca62 autotest: fix race condition in EKF type 10
EKF type 10 is always able to give you a position - but the arming
checks require you to have a good GPS position, and that's something
else again.
2020-08-30 08:38:35 +10:00
Peter Barker cafc5b01f4 autotest: fix race condition in Rover RTL test 2020-08-30 08:38:35 +10:00
Peter Barker 43cdceba8f autotest: tweak wait_ready_to_arm 2020-08-30 08:38:35 +10:00
Peter Barker b7641345e1 autotest: set and get parameters directly using mavlink message 2020-08-30 08:38:35 +10:00
Peter Barker ba91cbb270 autotest: correct sub parameter name PSC_VELZ_P, fix test to match 2020-08-30 08:38:35 +10:00
Pierre Kancir 084ec2bb5a Autotest: copter: fix wait_for_alt for descending wait 2020-08-29 14:53:30 +10:00
Pierre Kancir ebd13ac84e Tools: copter: wait_landed_and_disarmed: use wait_for_alt 2020-08-29 14:53:30 +10:00
Pierre Kancir 7fbf11061f Tools: copter: add wait_rtl_complete function 2020-08-29 14:53:30 +10:00
Pierre Kancir 3080899b43 Tools: copter: add wait land and disarm functions 2020-08-29 14:53:30 +10:00
Pierre Kancir 936511a720 Autotest: common: correct some text format 2020-08-29 10:44:19 +10:00
Pierre Kancir 5b72de25e0 Autotest: update wait_distance_to_home
Autotest: copter: allow to pass min_distance for RTL

Autotest: rover: allow to pass min distance for RTL
2020-08-29 10:44:19 +10:00
Harshit Kumar Sankhla 464c90a03c Tools: add an EKF3 lane switching test to plane 2020-08-27 20:20:51 +10:00
Pierre Kancir 16b499d0f6 Autotest: allow to select which GPS flags we want to wait for 2020-08-27 09:11:13 +10:00
Peter Barker 80bee19bc9 autotest: correct race condition in button test
A BUTTON_CHANGE may have been emitted after we send the parameter but before it is processed by the autopilot
2020-08-26 13:22:14 +10:00
Peter Barker 3ae83d70b1 autotest: ensure df log is present for rangefinder tests
there may not be a current onboard log present if we've just rebooted
2020-08-26 11:59:11 +10:00
Pierre Kancir 420587fb68 Tools: logger_metadata fix relative dir search 2020-08-25 20:01:27 +10:00
Pierre Kancir a181fcf8a2 Autotest: common: put generated parameter and LogMessage files into buildlogs directory 2020-08-25 20:01:27 +10:00
Peter Barker a523868b33 autotest: fix Beacon test 2020-08-25 17:21:50 +10:00
Andrew Tridgell 155b39bab3 autotest: added loiter-to-alt test mission 2020-08-25 10:39:18 +10:00
Randy Mackay 660579f2f4 Tools: fix copter beacon test params 2020-08-25 09:38:10 +09:00
Peter Barker 69d246d63e autotest: add test for priority-based compass reordering 2020-08-25 08:30:04 +10:00
Peter Barker bb697dd4b9 autotest: avoid using mavproxy for testing message intervals 2020-08-24 19:33:37 +10:00
Peter Barker a190490b64 autotest: do not rely on MAVProxy for sending banner request 2020-08-24 15:26:57 +10:00
Peter Barker 00bfe04539 autotest: remove duplicate recovery code from set-message-interval test 2020-08-24 14:00:38 +10:00
Peter Barker 03d0eda7f1 autotest: use a passthrough progress function for Telem objects 2020-08-24 13:24:41 +10:00
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