Commit Graph

2829 Commits

Author SHA1 Message Date
Peter Barker 20f58afa93 Tools: complete rewrite of the ESC-configuration state machine
Co-authored-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>

tidy message sending using templates
Calculate and enforce the minimum update period.
Disable unused features to save flash
forced time gaps between all transmits
correct ESC reset functionality
Avoid re-initialization repeatition
Make sure we stop FETtec if safety is on (ignore reverse) this reduces duplicated code
Error count calculation changed
   as the telemetry error count is absolute only the overflow status can be safed and used for the percentage calculation
Update the README to add autotests information
FETtec needs a time gap between frames
  This allows running at high fast_loop_rates
do not send fast_throttle data if a configuration command just got sent
Example parameter configuration file is for a Quadcopter with ESCs connected to Telem2
remove two FIXME
fix compilation in master
Fix the ESC not re-initializing issue.
  Now we re-init whenever we loose connection
RVMASK parameter changes only take effect when not armed
Improve documentation
Always use the same wording when referring to fast-throttle commands
fix pre-arm check message
assure the length of the memmove is positive
Set HAL_AP_FETTEC_CONFIGURE_ESCS to 0 when no ESC hardware is available and you want to test the UART send function
2021-08-13 16:22:37 +10:00
Peter Barker e263063600 autotest: a gap in the beginning of the SERVO_FTW_MASK is now allowed, test it
make sure the SERVO_FWT_MASK is valid:
  - it can have bit gaps between active channels, but channels higher than 12 are not allowed (AP_EST_TELEM limitation)
  - Explain that the FETtec ESC IDs inside the FETtec Firmware need to be contiguous and start at 1.
add tests for ESC power outages
add test that safety switch zeroes PWM for FETtec ESC
2021-08-13 16:22:37 +10:00
Peter Barker 3bc4cf710f autotest: add test for FETtecESC 2021-08-13 16:22:37 +10:00
Peter Barker 0d4bee8f7b autotest: except QRTL/QLAND from airmode tests due to non-armability
The test wasn't checking the return value for arming, so of course the
motors weren't spinning.... now we've fixed the checked-for-arming thing
these two modes were failing.
2021-08-13 13:40:28 +10:00
Peter Barker 8fc6e98900 autotest: raise exception for arm/disarm failures on switch/rc
Users were calling these without checking the return values. Make that
a non-issue
2021-08-13 13:40:28 +10:00
Peter Barker 5e81026e78 autotest: add option to hard-reset after every test 2021-08-13 08:01:20 +10:00
Peter Barker 013bee99f4 autotest: rover: wait ready to arm before running motor test 2021-08-13 08:00:52 +10:00
Peter Barker d03cfb8615 autotest: Plane: wait for origin before enabling fence
we load into memory as origin-relative positions
2021-08-12 20:34:36 +10:00
Peter Barker cccec5c21c autotest: add test for FRSkyD battery 2021-08-11 15:17:43 +10:00
Peter Barker abb6521127 Revert "autotest: use SIM_STATE (common.xml) instead of SIMSTATE (ardupilotmega.xml)"
This reverts commit 540a56adb8.

Polling this message caused issues on reboot - shouldn't be a problem
but is.

Retrying that showed that the Tracker GUIDED test failed reliably due to
a yaw problem.
2021-08-07 16:18:05 +10:00
Peter Barker 44d5885d99 autotest: augment blending test to ensure GPS switch events make log 2021-08-06 15:30:18 +10:00
Andrew Tridgell 2b1e80c70d Tools: copy board_list.py for build_binaries.py 2021-08-06 10:00:08 +10:00
Peter Barker 540a56adb8 autotest: use SIM_STATE (common.xml) instead of SIMSTATE (ardupilotmega.xml)
It is a useful superset
2021-08-05 18:35:11 +10:00
Peter Barker 27fcb3a100 autotest: fix simstate error message 2021-08-05 18:35:11 +10:00
Peter Barker ca35d01baa autotest: move upload_simple_relhome_mission up 2021-08-05 10:38:03 +10:00
Josh Henderson 162b3b70cf Autotest: use MAV_POS_TARGET_TYPE_MASK, remove POS_TYPE_MASK_FORCE 2021-08-03 12:48:38 +10:00
Peter Barker 8e72dc32d1 autotest: add test home is restored persistently on wdog reset 2021-08-03 10:36:50 +10:00
Andrew Tridgell e6f15ed6c0 autotest: cope with WriteStreaming() in doc tests 2021-08-03 10:23:36 +10:00
Josh Henderson 1cb11a5ff2 Tools: autotest change smartbatt param names 2021-08-03 09:36:26 +10:00
Iampete1 27b324742e Tools: sim_vehicle: pass on slave comandline CMD 2021-08-03 09:22:19 +10:00
Andrew Tridgell a0da76243d autotest: reboot after AHRS_ORIENTATION test
the EKF can be left very unhappy by this test
2021-07-31 10:01:14 +10:00
Braedon O'Meara de91058b1a Tools: Add tmux support to run_in_terminal_window.sh
Added in an option so that if running SITL in a tmux session it will open a new window in tmux.
More or less an alternate option to screen.
It will detect if its running in a tmux session by checking the $TMUX and $TERM env variables.
I put it before other options because when I am running a tmux session even in a GUI environment
I would prefer a new Tmux window compared to a new terminal.
This will only run if youre already in a tmux session it will not launch a new session.
2021-07-30 12:05:15 +10:00
Peter Barker 2ae483cee0 autotest: stop uploading artifacts to autotest server
github action's CI is good at this
2021-07-30 11:32:59 +10:00
Peter Barker 7929122f49 autotest: improve AHRS trim test 2021-07-28 17:20:28 +10:00
Peter Barker 909decc5be autotest: move wait_attitude up to common.py 2021-07-28 17:20:28 +10:00
Peter Barker da3ff2c142 autotest: add test for live change of AHRS orientation 2021-07-27 17:28:09 +10:00
Peter Barker 04ddc9de03 autotest: correct order of progress vs action in set-param 2021-07-27 16:51:48 +10:00
Peter Barker e1884bcd6e autotest: run dumpstack/dumpcore on stuck SITL process 2021-07-27 16:51:48 +10:00
Paul Riseborough 9207744152 Tools: Rework Plane.EKFlaneswitch autotest 2021-07-22 18:20:45 +10:00
Paul Riseborough 7f3980c1f4 Tools: Rework Copter VibrationFailsafe test to use commanded land 2021-07-22 18:20:45 +10:00
Paul Riseborough ef1dda005f Tool: Allow more time for quadplane autotest to land and disarm 2021-07-22 18:20:45 +10:00
Paul Riseborough ff1c465a17 Tools: relax navigation test accuracy 2021-07-22 18:20:45 +10:00
Paul Riseborough a0ae998a4d Tools: Fix AIRSPEED_AUTOCAL test failure
The mission plan for this test causes a lot of overshoot when turning onto final approach with the result that there is still some lateral offset when passing the landing waypoint that is not a measure of estimator accuracy.
2021-07-22 18:20:45 +10:00
Peter Barker eff4bc4cfb autotest: drain pexpects in set_parameters loop
This loop doesn't self.mav.recv(), so the idle loop isn't called, so the
pexpects aren't drained.  That can cause ArduPilot to block on stderr if
it is trying to print a stacktrace, for example
2021-07-21 17:05:17 +10:00
Peter Barker 27de0a3d23 autotest: add new Copter yaw tests 2021-07-21 17:05:01 +10:00
Peter Barker 43a4ea734f autotest: add some diagnostics for missing processes 2021-07-21 15:50:50 +10:00
Peter Barker 571ae46b0f Tools: split yaw-vehicle-for-mount-roi test out 2021-07-19 18:16:13 +10:00
Andrew Tridgell 618fa156c7 autotest: added --replay option to autotest
make for easy creation of EKF replay logs
2021-07-16 21:13:53 +10:00
Andrew Tridgell e52b9f78c2 autotest: fixed tuning of tilthvec quadplane model 2021-07-16 08:41:47 +10:00
Peter Barker 2ae6030f0c autotest: add baro i2c drivers autotest 2021-07-14 17:46:15 +10:00
Peter Barker 14d271776e autotest: break out a fly_mission method 2021-07-14 17:46:15 +10:00
Peter Barker 53e980bada autotest: add test for two consecutive drops with no reboot 2021-07-14 16:38:36 +09:00
Peter Barker 9fb7ef915e Tools: add support for ms5525 i2c sensor 2021-07-13 12:00:37 +10:00
Pierre Kancir 8234fd4c39 Tools: autotest: add IRLock SITL test 2021-07-12 17:50:31 +10:00
Peter Barker 9ff77d8f1c Tools: remove AC_TERRAIN compilation option
Use AP_TERRAIN_AVAILABLE instead
2021-07-12 17:34:44 +10:00
Leonard Hall 33ec8b965b Tools: Autotest update guided bitbask to include acceleration 2021-07-10 20:25:05 +09:00
DaijiroYamazaki 1e545052f4 Tools: autotest: add 2 locations in Japan 2021-07-10 09:24:32 +09:00
Andrew Tridgell a6a01cf432 autotest: added --ekf-single and --postype-single options to autotest 2021-07-10 07:20:41 +10:00
Andrew Tridgell 5a5018cda2 autotest: adjust test_altitude_types for small change in longitude_scale 2021-07-10 07:20:41 +10:00
Andrew Tridgell 4f7630e29c Tools: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell b8e934ccf1 autotest: added --udp option to sim_vehicle.py
this makes running with high speedups easier
2021-07-09 19:19:24 +10:00
Peter Barker aa27479e95 autotest: show output from Replay run 2021-07-08 16:20:12 +10:00
Peter Barker 743ed05367 autotest: detect ap-*.core as we do core.* files 2021-07-08 15:46:07 +10:00
Peter Barker fd803ddafc autotest: remove stray diagnostic files before run 2021-07-08 15:46:07 +10:00
Andrew Tridgell 3a7075fc65 autotest: fixed config error loop test 2021-07-08 07:56:51 +10:00
bugobliterator 236eecc494 autotest: add option for running sim with ONVIF camera 2021-07-07 18:57:25 +10:00
Siddharth Purohit 2750b361aa autotest: move to using tool instead of tools program group 2021-07-07 17:31:09 +10:00
Peter Barker 70a161a583 autotest: create SITL debug binaries by default 2021-07-07 17:11:27 +10:00
Peter Barker df02289493 autotest: add test for two consecutive drops with no reboot 2021-07-07 12:01:07 +10:00
Michelle Rossouw 8017e528c8 Tools: Add Blimp to param_parse.py 2021-07-06 14:56:02 +10:00
Peter Barker c1a5ca6060 autotest: add test to ensure we get a log if arming is forced 2021-07-04 08:54:54 +10:00
Peter Barker 85f36f957d autotest: add force option to arm_vehicle 2021-07-04 08:54:54 +10:00
Andrew Tridgell d81b758d77 autotest: support using geocoder for -L location
this allows for location names from OSM, for example:

  sim_vehicle.py -L '26 Carstensz St Griffith' --console --map
2021-06-29 15:41:26 +10:00
Peter Barker 99a0f5a86a autotest: disable quadplane ConfigErrorLoop test
failing on the autotest server (and locally).

AT-1474.6: RC values bad: (ch=1 want=1500 got=0)
AT-1474.6: AP: Config error: Baro: unable to initialise driver
AT-1474.6: AP: Config Error: fix problem then reboot
AT-1474.6: RC values bad: (ch=1 want=1500 got=0)
AT-1474.6: RC values bad: (ch=1 want=1500 got=0)
AT-1474.6: RC values bad: (ch=1 want=1500 got=0)
2021-06-27 11:09:39 +10:00
Randy Mackay 5ec75578ab Tools: add copter gps_glitch_loiter_test2
checks for twitches in Loiter after GPS glitch
2021-06-25 16:52:57 +09:00
Andrew Tridgell 220107b2a6 Tools: added boat circuit for Rabi 2021-06-25 15:33:55 +10:00
Andrew Tridgell 396094a82c Tools: added a mission around Rabi, close to -180 degrees lon 2021-06-25 15:33:55 +10:00
Andrew Tridgell 75ae2548a7 Tools: added some locations close to the date line 2021-06-25 15:33:55 +10:00
Andrew Tridgell 3204ce4bf1 Tools: added --postype-single for sim_vehicle.py 2021-06-24 21:34:30 +10:00
Peter Barker 4c173e01ef autotest: increase number of parameter retries
sets were failing just after we uploaded very large numbers of
parameters.  I'm guessing the parameter queue in ArduPilot is still
full.
2021-06-24 17:58:31 +10:00
Peter Barker 4bb91d1ec1 autotest: shift where we print which attempt we are doing 2021-06-24 17:58:31 +10:00
Randy Mackay f3c96b438b Tools: autotest of vibration failsafe 2021-06-24 08:34:56 +10:00
Peter Barker b58e7bedaa autotest: correct placement of not-alive-after-test message
This was misplaced with bad conflict resolution
2021-06-24 08:34:06 +10:00
Peter Barker d6f619fb1a autotest: emit 'attempt 1/3' when retrying set_parameter
Also reterm things in terms of attempts rather than retries
2021-06-24 08:30:03 +10:00
Peter Barker 99c7d3aabc autotest: ensure no stray message listeners after test 2021-06-23 21:55:32 +10:00
Peter Barker 6a8ca9e45b autotest: timeout in wallclock time in config error loop test
SYSTEM_TIME is not sent in config error loop
2021-06-23 21:55:32 +10:00
Peter Barker b6d5569244 Tools: param_metadata: disallow @Values and @Bitmask at same time 2021-06-23 18:37:34 +10:00
Peter Barker 7842f55a3b Tools: add rc channel option to disable all airspeed sensors 2021-06-23 15:13:13 +10:00
Peter Barker d82a229584 autotest: revert to subprocess.check_call
.run is only Python3
2021-06-22 20:24:07 +10:00
Peter Barker 8395bf617f autotest: disable autotesting of tri frame as it is still busted 2021-06-21 21:17:10 +10:00
Peter Barker 697fbb0db0 autotest: verify roll/pitch are not adversely affected by yaw inputs 2021-06-21 21:17:10 +10:00
Peter Barker 4c20bc2d9d autotest: ensure reasonable yawrate on takeoff in FlyEachFrame 2021-06-21 21:17:10 +10:00
Peter Barker d3f90bde7f autotest: add FlyEachFrame test for Plane 2021-06-21 14:13:18 +10:00
Pierre Kancir 39c96f63c8 Tools: autotest.py: total flake8 compliance. 2021-06-18 16:03:51 +10:00
Pierre Kancir 7ddb4d681d Tools: autotest: correct exception handling on unit test run. 2021-06-18 16:03:51 +10:00
Peter Barker 723d2dee00 autotest: improve diagnostics around touchdown/takeoff expected tests
Also looks at last result as we don't appear to have a consistent number
in our tests
2021-06-18 09:03:34 +09:00
Peter Barker 210818cd6e autotest: let arming failure messages get spit out 2021-06-17 21:01:23 +10:00
Peter Barker 47a778d033 Tools: remove HIL support 2021-06-15 09:47:31 +10:00
Peter Barker 61fda691f2 autotest: add trivial test for smart battery logging 2021-06-15 09:46:26 +10:00
Peter Barker cea0d7c971 autotest: move autotest tlog files into buildlogs directory 2021-06-11 22:14:11 +10:00
Peter Barker e77512ba08 autotest: add method to create simple relative-to-home mission 2021-06-11 16:59:51 +10:00
Peter Barker 14b2af84ab autotest: break out a home_relative_loc_ne for getting a home-rel loc 2021-06-11 16:59:51 +10:00
Peter Barker 96e14d470a autotest: retry SITL connect many times while running under GDB
Allows for easier debugging under gdb when checking startup code
2021-06-11 11:15:58 +10:00
Peter Barker 0b517cfc57 autotest: start GDB in tui mode by default 2021-06-10 20:52:48 +10:00
Peter Barker fd792bebf8 autotest: wipe SITL state after temperature cal test
ArduPilot internals are fiddling state that the autotest suite is
unaware of, so wipe the eeprom after the test
2021-06-09 14:14:06 +10:00
Peter Barker 79de738266 autotest: wait for a few seconds for arm-failure messages to appear
If prearms never come true then we try to arm the vehicle so it tells us
what is wrong.  Since we no longer push statustexts hard, we have to
wait for the reasons to come out at normal clocked rates.
2021-06-09 14:13:54 +10:00
Peter Barker 6af6d2fc2a autotest: add a progress message for looking for a message in a log 2021-06-09 14:13:31 +10:00
Peter Barker 6944ef6af1 autotest: fly each working Helicopter frame 2021-06-09 12:15:42 +10:00
Randy Mackay 058d4299ad Tools: update SITL tri and hexa gains 2021-06-08 19:11:32 +10:00
Andrew Tridgell 3be7f1ae23 autotest: removed tri from doesn't fly list 2021-06-08 19:11:32 +10:00
Andrew Tridgell 0876cb9cd6 autotest: fixed defaults for tricopter 2021-06-08 19:11:32 +10:00
arsh 45f1d03bda autotest:Copter test fix for some frames
removed some lines

Whitespace messages removal
2021-06-08 16:50:37 +10:00
Peter Barker 0bd9610687 autotest: add trivial test for BodyFrameOdom 2021-06-04 15:09:51 +10:00
Randy Mackay e8947dfb47 Tools: reduce copter autotest rate yaw P and I gains
affects quad, hexa, octa, octa-quad, deca, tri, y6, dodeca-hexa
2021-06-03 12:20:43 +09:00
yaapu b14dcf1df5 Tools:autotest: updated FRSky SPort test to use new 2 byte data IDs 2021-06-02 17:33:15 +10:00
Pierre Kancir cf350a52e9 Tools: Autotest: add --coverage option 2021-06-02 14:42:59 +10:00
Peter Barker 2439587c5a autotest: add tests for ground effect compensation active in EKF 2021-06-02 11:13:16 +09:00
Peter Barker 8925c2830b autotest: check fence upload/download when creating from locs 2021-06-01 15:54:59 +10:00
Peter Barker c1a20ceab4 autotest: add test to catch bug with opticalflow if no rangefinder 2021-06-01 11:31:42 +10:00
Randy Mackay 26ea80fc62 Tools: update default params for copter-optflow.parm 2021-06-01 09:57:16 +10:00
Pierre Kancir 7e389afbec Tools: allow to build examples and tests with debug 2021-05-26 18:46:03 +10:00
Pierre Kancir 58358d9f97 Tools: correct arguments passing on autotest.py 2021-05-26 18:46:03 +10:00
Leonard Hall 1326dbe2ee AutoTest: Sub: Add appropriate pid parameters for highly damped system 2021-05-24 20:13:37 +10:00
Leonard Hall 41c437b768 AutoTest: Copter: fly_poshold_takeoff increase acceptable range 2021-05-24 20:13:37 +10:00
Pierre Kancir 458b6084fa Tools: don't make report test failure on coverage 2021-05-20 14:54:47 +10:00
Peter Barker c7a9fb3c9c autotest: retry dynamic notches 8 times before failing
This test is flapping.

This is a poor - but serviceable - workaround.
2021-05-18 11:13:10 +10:00
Peter Barker 0a06a9e446 param_metadata: reinstance @Values/@Bitmask magic for excluding params from vehicle output 2021-05-17 10:18:35 +10:00
Peter Barker eb2b1b3231 Tools: param_meteadata: correct @Values{Plane} etc handling 2021-05-17 10:18:35 +10:00
Peter Barker 3eb164fb6a autotest: move script helper functions from rover to common 2021-05-14 13:21:36 +10:00
Peter Barker 3d562046da autotest: add accuracy option to guided_achieve_heading 2021-05-14 13:21:36 +10:00
Peter Barker c18c4ad6ec Tools: param_metadata: remove use of dirname when creating Vehicle
So a Vehicle object takes a truename - i.e. Copter, not ArduCopter, but
can also take a "reference", which is used for e.g. constructing RST
tags.
2021-05-13 21:09:45 +10:00
Peter Barker 3ea9307419 Tools: param_metadata: flake8 cleanliness 2021-05-13 21:09:45 +10:00
Peter Barker 1123de112c Tools: param_metadata: tidy finding of Vehicle parameter file 2021-05-13 21:09:45 +10:00
Peter Barker 97e57932c4 Tools: param_metadata: remove more multi-vehicle support
This script hasn't supported emitting multiple vehicles for a very long
time, but this was enforced using a check and we kept a list of vehicles
around for no very good reason.
2021-05-13 21:09:45 +10:00
Andy Piper 2df7b5453e autotest: add test for ESC telemetry driven notches. 2021-05-12 17:01:11 +10:00
Peter Barker d2f78c69be autotest: add a simple test for SMART_RTL 2021-05-12 13:01:50 +10:00
Peter Barker 9965f1a31d autotest: add some helpers for local-position movement 2021-05-12 13:01:50 +10:00
Peter Barker 7ab094f3a1 autotest: tidy fly_guided_move_local 2021-05-12 13:01:50 +10:00
Peter Barker 1d6efbd56f autotest: fix loiter_to_ne
Co-Authored-By: leonardthall@gmail.com
2021-05-11 14:51:28 +10:00
Peter Barker 04aed49572 autotest: adjust GyroFFT threshold to make it pass
From Andy:

Can you make this 0. The test should then pass. I'm not terribly happy about it but its better than disabling the test and I can't tell whether there is actually a problem or not.
2021-05-07 18:30:08 +10:00
Peter Barker 0a235ce094 autotest: remove retry loop from within GyroFFT
This effectively removes an infinite loop from the GyroFFT test.
2021-05-07 18:30:08 +10:00
Peter Barker 765889b827 autotest: don't send statustext during exception
During an exception we don't want to be trying to print these
2021-05-07 14:21:44 +10:00
Peter Barker f78cf73726 autotest: don't fail completely if ArduPilot process dies 2021-05-07 12:22:11 +10:00
Peter Barker b04dfda9fb autotest: enable deca and dodeca frames in FlyEachFrame test 2021-05-06 16:26:28 +10:00
Peter Barker cf4acaa2aa autotest: re-enable quadplane QAutoTune test 2021-05-05 23:43:59 +10:00
James O'Shannessy bc38d8a78c AutoTest: Fix autotest from failing due to state from earlier test
Autotest was failing because there was an expectation that the plane would fly relatively north from the takeoff point.
This assumption may not be true. We work around it by using a tin can instead of an exclusion polygon so that we breach no matter the direction we fly.
2021-05-05 10:59:10 +10:00
James O'Shannessy 0e656c1504 AutoTest: Ensure Plane uses home as Fence Return Point if one is not present and no exclusion fence is present 2021-05-05 10:59:10 +10:00
Peter Barker 9a13b5c9b6 autotest: add test for auxfunc triggering via script 2021-05-05 07:13:18 +10:00
Iampete1 aa72b7da46 Tools: autotest: Plane: add loiter terrain following test 2021-05-02 18:51:27 +10:00
Peter Barker 57abaf0dec autotest: remove retry loop from within GyroFFTHarmonic 2021-05-01 21:30:28 +10:00
Peter Barker 4928ec18af autotest: remove retry loop from within fly_dynamic_notches
We retried externally to the test - may as well do so within
2021-05-01 21:30:28 +10:00
Peter Barker 8fdfdebe55 autotest: pass sitl_commandline_customised up the context stack
We're running tests on the Callisto frame when we shouldn't in Copter as
the information was lost in nested Contexts.

We can only reset the SITL commandline at an actual Test level - if a
defaults file has been used then it is unclear as to what the state of
any parameter is in storage as we move between contexts
2021-05-01 17:22:36 +10:00
Peter Barker 117a44b589 autotest: remove corefiles at start of run
These lead to false-positive failures in the test suite
2021-05-01 17:22:36 +10:00
Peter Barker 2cd0099bbc autotest: exclude decarotor from fly-each-frame-test 2021-05-01 13:25:13 +10:00
Peter Barker 76678ffaf3 autotest: fix octa-cwx in SITL 2021-05-01 13:25:13 +10:00
Peter Barker 5172e767df autotest: fix octa-dji in SITL 2021-05-01 13:25:13 +10:00
Peter Barker c7c4c17c68 autotest: improve change_mode debug 2021-05-01 13:25:13 +10:00
Peter Barker 63ba484087 autotest: add test which flies each frame we can 2021-05-01 13:25:13 +10:00
jbarrozo 3b1f5f0b15 autotest: added Boquig 2021-04-29 13:35:22 +10:00
Peter Barker e4c405b77b autotest: add a test for Spline missions showing terrain requirement 2021-04-28 18:40:26 +10:00
Iampete1 3bea2fd89b Tools: autotest: defualts: setup direct acutated wing servo 2021-04-28 08:22:47 +01:00
Iampete1 0628aa9e29 Tools: autotest: add sailboat autotest 2021-04-28 15:16:35 +10:00
Peter Barker fc426e01c2 autotest: stop using start_test for things that aren't actually tests
start_test should only be used for top-level tests, not parts of
top-level tests
2021-04-28 13:53:46 +10:00
Peter Barker 6af0f460af autotest: add duplicate-logmessage-field sanity check 2021-04-27 16:38:40 +10:00
Peter Barker 30e8160aa1 autotest: sort logs before moving
Makes it easier to find last log in output.

Also removing pointless lamdaing of some functions
2021-04-21 13:16:24 +10:00
Pierre Kancir 927a875133 Tools: param_parse: fix vehicle specific parameter with multiple fields 2021-04-21 11:30:54 +10:00
Peter Barker 0ee0228883 autotest: fix flapping fly-home-land-and-disarm
One of the tests just happened to be within acceptance radius of
waypoint 8 - so when we set that as a waypoint we never saw it actually
be our waypoint so the set_waypoint failed
2021-04-20 23:04:24 +10:00
Peter Barker 8643322f06 autotest: correct string we expect from MAVProxy
Was APM: now AP:
2021-04-20 14:08:12 +10:00
Peter Barker c12d1938c2 autotest: add a test for button change for changing modes 2021-04-19 14:27:45 +10:00
Andrew Tridgell be161744db autotest: adjust default plane tune 2021-04-15 06:57:16 +10:00
Andrew Tridgell 0be24c4946 Tools: convert old param files to new plane PID params 2021-04-15 06:57:16 +10:00
Andrew Tridgell 0d9d952aea autotest: added SpringValley2 2021-04-15 06:57:16 +10:00
Peter Barker 31c889f583 autotest: accept Copter/Plane/Sub for sim_vehicle.py 2021-04-12 13:35:16 +10:00
Andrew Tridgell affff0fc84 Tools: test mission from Leonards S-curve talk 2021-04-11 19:16:09 +10:00
Peter Barker 27b6637c2d Tools: param_parse.py: add support for generation for AP_Periph 2021-04-11 11:31:41 +10:00
Peter Barker b107740542 Tools: param_parse: add --sitl to emit only SIM_ parameters 2021-04-10 11:28:22 +10:00
Randy Mackay 0b9753b12f Tools: autotest add vehicle info for rover-vectored 2021-04-08 08:47:07 +09:00
Randy Mackay d00e63d14b Tools: add default params for rover-vectored
Co-authored-by: srmainwaring <rhys.mainwaring@me.com>
2021-04-08 08:47:07 +09:00
Peter Barker b369e86c0c Tools: param_parse: remove references to APM in parameter generation 2021-04-07 17:08:25 +10:00
Peter Barker 229b25d916 Tools: param_parse: add *args and **kwargs to emitters 2021-04-07 17:08:25 +10:00
Peter Barker 5a927d84c8 Tools: param_parse: rejig selection of emitters 2021-04-07 17:08:25 +10:00
Peter Barker 5ef5fc9d84 Tools: param_parse: stop generating old .wiki format 2021-04-07 17:08:25 +10:00
Peter Barker c3414a5767 Tools: param_parse: move init of variable lower 2021-04-07 17:08:25 +10:00
Peter Barker 4c6b07e950 Tools: param_parse: remove support for Parameters.pde 2021-04-07 17:08:25 +10:00
Peter Barker c350268918 autotest: correct compilation of Replay in autotest suite 2021-04-05 16:39:36 +10:00
Peter Barker ea4bbcf6ee autotest: add test for copter position reset 2021-04-05 00:02:42 +10:00
Randy Mackay ab2e429f32 Tools: Copter.fly_square descends more quickly 2021-04-03 12:07:59 +09:00
Randy Mackay f341429977 Tools: Copter.RTLSpeed gets increased speed tolerance 2021-04-03 12:07:59 +09:00
Randy Mackay c04f686ce7 Tools: extend copter NavDelay test by 80sec
s-curves slows missions slightly
2021-04-03 12:07:59 +09:00
Peter Barker f0094bac40 autotest: remove copied-in duplicate of pymavlink rotmat 2021-04-03 13:26:06 +11:00
Peter Barker dfa342a79f autotest: correct rc-values-good debug 2021-04-03 08:59:14 +11:00
Peter Barker 7d9daccdf7 autotest: fix mavproxy switch test
The order in which we fix the environment means that we need to be
listening on the correct port for rc values - so just fix it in the test
2021-04-03 08:58:52 +11:00
Peter Barker d384ba6585 autotest: increase time permitted for Copter to turn east
Sometimes they turn almost 360 which takes a while
2021-04-02 21:29:43 +11:00
Peter Barker 2c6bdd200c autotest: fix make_safe_filename for Valgrind
Valgrind treats this as a format string so the % is bad
2021-04-02 20:51:18 +11:00
Peter Barker 18ded114ae Tools: param_metadata; stop prettifying XML before emitting
indent is not available on our documentation server:

[build_parameters.py]
Traceback (most recent call last):
  File "./param_parse.py", line 422, in <module>
    do_emit(XmlEmit())
  File "./param_parse.py", line 415, in do_emit
    emit.close()
  File "/home/wiki/build_wiki/ardupilot/Tools/autotest/param_metadata/xmlemit.py
", line 24, in close
    etree.indent(self.paramfile)
AttributeError: module 'lxml.etree' has no attribute 'indent'
2021-04-02 14:39:39 +11:00
Peter Barker cee348d082 Tools: make and declare bisect-helper.py flake8-compliant 2021-04-01 19:11:50 +11:00
Peter Barker ee79895a4e Tools: make and declare examples.py flake8-compliant 2021-04-01 19:11:50 +11:00
Peter Barker fff4aa8bde autotest: increase allowed time for climb_before_turn to get home 2021-04-01 19:11:31 +11:00
Peter Barker f988064e48 Tools: add a tool to help determine best speedup for autotest 2021-04-01 11:27:17 +11:00
Peter Barker d2c00f7b26 autotest: ensure RC thread is killed after each run_test
Every run_test starts a thread.  del is not being called.  So clean it
up in the caller
2021-04-01 11:00:54 +11:00
Peter Barker 500679ec5b autotest: correct creation of default parameters
Simulation won't start if nothing is connected to 5760 - so just connect
mavproxy there
2021-03-31 23:29:47 +11:00
Peter Barker ba972b6b46 autotest: fix --map option 2021-03-31 16:30:25 +11:00
Peter Barker d621fe0cde autotest: correct sub gripper mission
Ordinarily not run because gripper is disabled
2021-03-31 13:43:31 +11:00
Peter Barker e8f96efe72 autotest: wait for stats initialisation before rebooting
If the RTC time we reset parameters (STAT_RESET) is zero then we reset all parameters.

In SITL we only set that time if we see a GPS due to the AP_RTC RTC_TYPES parameter default bitmask value of 1

So if you reboot SITL fast enough while STAT_RESET is zero you can see that STAT_BOOTCNT does not increase. Easily reproducible in SITL; start with -w and type reboot in several times before SITL sees the GPS come up and you can see STAT_BOOTCNT doesn't increase.

Fix is to ensure STAT_RESET is non-zero before rebooting.
2021-03-31 13:33:39 +11:00
Michelle Rossouw cd18e16ffb autotest: added blimp simulator type 2021-03-31 12:27:07 +11:00
Peter Barker 30ebe6cde9 autotest: augment test DO_AUX_FUNCTIION test for FAILED AND DENIED 2021-03-31 11:36:09 +11:00
Peter Barker b2f47ba367 autotest: add test for auxilliary functions in missions 2021-03-31 11:36:09 +11:00
Peter Barker b55094fef4 autotest: Test triggering Auxillary Functions via mavlink 2021-03-31 11:36:09 +11:00
Peter Barker ef4ebbf126 autotest: add a do-nothing --autotest-server option
This option is currently ignored, but if given allows the script to
continue normally.

This allows us to change the autotest server to pass the option in - and
then we can change autotest.py so that unless the option is given we
spit out a help message rather than completely stuff up the user's
development environment
2021-03-26 22:52:35 +11:00
Peter Barker e2a350f12e autotest: reduce race condition in fly_square mission
We end up where we started, so when we start to play the mission back we
might immediately be at the first waypoint.  That's a problem as we may
never see the NAV_CONTROLLER_OUTPUT mention waypoint 1 and thus we
fail the test
2021-03-25 02:13:44 +11:00
Peter Barker 240e2d6b28 autotest: correct pexpect handling of supplementary programs 2021-03-24 23:10:27 +11:00
Peter Barker ae7b21843e autotest: remove useless mavproxy set heartbeat directive
This has never actually worked:

2021-03-24T04:53:03.7594996Z AT-0040.3: Starting MAVProxy
2021-03-24T04:53:03.7595674Z PYTHONPATH: /__w/ardupilot/ardupilot/Tools/mavproxy_modules
2021-03-24T04:53:05.8106006Z Running: "mavproxy.py" "--master" "tcp:127.0.0.1:5762" "--aircraft" "test.ArduCopter" "--sitl=127.0.0.1:5502" "--streamrate=5" "--cmd="set heartbeat 8"" "--target-system=1" "--target-component=1" "--quadcopter" "--default-modules" "misc,terrain,wp,rally,fence,param,arm,mode,rc,cmdlong,output"
2021-03-24T04:53:05.8108569Z ERROR LOADING MAVNATIVE - falling back to python implementation
2021-03-24T04:53:05.8109340Z Connect tcp:127.0.0.1:5762 source_system=255
2021-03-24T04:53:05.8109962Z no script test.ArduCopter/mavinit.scr
2021-03-24T04:53:05.8110739Z Unknown command '"set heartbeat 8"'
2021-03-24 23:10:06 +11:00
Peter Barker 8bf1ac0347 autotest: fix and tidy the log download test
We were requesting past the end of the file
2021-03-24 14:46:48 +11:00
Peter Barker fdbbcaa506 autotest: bump default speedups for several vehicles
These tests seem to run stabley on my box with essentially no speedup
limit
2021-03-24 14:46:48 +11:00
Peter Barker 6f2de67ead autotest: augment delay_sim_time debug 2021-03-24 14:46:48 +11:00
Peter Barker d9501766c7 autotest: augment delay_sim_time debug 2021-03-24 08:57:03 +11:00
Peter Barker 9f15689850 autotest: wait longer for prearm failure in IE24 autotest
we only emit prearm failures every 30 seconds - we just weren't waiting
long enough here
2021-03-23 20:34:47 +11:00
Peter Barker 073a9e3390 autotest: fix frsky passthrough test
Mainly through polling much faster, but also allowing for statustexts in
different orders from frsky/statustext
2021-03-22 18:08:44 +11:00
Peter Barker e567cca230 autotest: drain mav before receiving system_time in get_sim_time 2021-03-19 09:46:45 +11:00
Peter Barker 8901efd69d autotest: start and stop MAVProxy for alttype and surface tracking tests
autotest doesn't currently supply terrain tiles, so MAVProxy must be
started
2021-03-19 09:46:45 +11:00
Peter Barker 19e5351631 autotest: start and stop mavproxy for setpoint tests
These work in terrain frame - but autotest won't satisfy terrain
requests yet
2021-03-19 09:46:45 +11:00
Peter Barker 462ac255a3 autotest: start MAVProxy only as needed for testing 2021-03-19 09:46:45 +11:00
Peter Barker 4269cf52a2 autotest: split application of default parameters and defaultfile parameters
ensures all vehicles have LOG_DISARMED
2021-03-19 09:46:45 +11:00
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 dbee2e5d71 autotest: ignore type=0 heartbeat packets on SITL start
Until ArduCopter allocates its motors backend we emit a generic type,
for which there is no mode map in pymavlink.

So don't consider the reboot complete until we see a valid heartbeat.
2021-03-19 09:46:45 +11:00
yaapu ec15614e11 Tools:autotest: added frsky passthrough autotest for terrain message frame 0x500B 2021-03-18 21:43:48 +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 21c124ab47 autotest: tidy set_parameters
Remove commented code, add more to the verbose option
2021-03-18 11:29:45 +11:00
Stavros Korokithakis f6fc6d22da autotest: Fix the climb-before-turn test 2021-03-18 07:37:21 +11:00
Samuel Tabor 36428f5074 Tools: Handle repeated add-param-file arguments to sim_vehicle.py. 2021-03-17 19:43:03 +11:00
Pierre Kancir ebe841ba70 Tools: param_parse: validate empty description and fields 2021-03-17 18:54:53 +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 0c7f3d20a4 autotest: fix attitude test
autotest: add a get_messages_frame method

Attempts to get a set of messages as close as reasonable in time.
2021-03-16 14:19:44 +11:00
Stavros Korokithakis 29043d62e9 Add FLIGHT_OPTION to climb before RTL 2021-03-16 11:58:47 +11:00
Peter Barker 4b3adb806c autotest: add test for tailsitter throttle 2021-03-16 10:41:44 +11:00
Hwurzburg d15e01d390 Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes 2021-03-16 10:09:34 +11:00
Peter Barker eb702b0f82 Tools: add support for ATTITUDE_QUATERNION 2021-03-13 09:44:12 +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
yaapu 3bfa07d35a Tools:autotest, frsky passthrough fix for long status text message test 2021-03-13 00:14:27 +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
Peter Barker f78d7c3b25 autotest: add option to not check current wp after set_current_wp
Sometimes a waypoint is set which we'll never emit as our current
waypoint (e.g. a JUMP)
2021-03-10 09:12:39 +11:00
Peter Barker 4a251bebbd autotest: fix fly_home_land_and_disarm; wp 7 is never current wp
This is never a current waypoint, so we can't wait for it
2021-03-10 09:12:39 +11:00
Peter Barker 3ddffdab9b autotest: correct wait_current_waypoint timeout behaviour 2021-03-10 09:12:39 +11:00
Randy Mackay 78ddd0512c Tools: autotest for copter spelling fix 2021-03-09 11:49:42 +11:00
Randy Mackay 4abae23306 Tools: disable QuadPlane.GyroFFT autotest 2021-03-08 08:52:05 +09:00
Peter Barker bdeadce95b autotest: improve deadreckoning test
autotest: use location_offset rather than coordinates in Deadreckoning test
2021-03-05 21:34:58 +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 bcc0da9c47 AutoTest: Adds additional autotests to capture mode change while breached
AutoTest: Adds test for fence breach switching to guided mode when no fence return point is present. In upstream, this results in a vehicle fly-away.
2021-03-05 14:52:46 +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 dac5996d93 AutoTest: Fix autotest conflicts after rebase on upstream 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 fa7be629e5 AutoTest: Make fence tests flake8 compliant 2021-03-05 14:52:46 +11:00
James O'Shannessy 01b27bdb61 AutoTest: revert change that breaks quadplane 2021-03-05 14:52:46 +11:00
James O'Shannessy 2353b55452 AutoTest: Address race conditions in changes to fence tests 2021-03-05 14:52:46 +11:00