Commit Graph

1260 Commits

Author SHA1 Message Date
Peter Barker 7772279785 Tools: param_parse.py - fix vehicle-specific values 2018-08-06 12:27:56 +10:00
Peter Barker 81b1270db9 Tools: autotest: use tcp for mavproxy-to-autotest mavlink 2018-08-05 16:07:15 +10:00
Peter Barker af37e10126 Tools: autotest: factor out starting of our our mavlink connection 2018-08-04 10:07:22 +10:00
Peter Barker dab93750a0 Tools: add test for rc overrides 2018-08-03 13:07:50 +10:00
Pierre Kancir a262099d35 Tools: arducopter.py: set submode change as test 2018-08-03 08:57:50 +10:00
Pierre Kancir a930822d9d Tools: unify exception on os.link 2018-08-03 08:40:33 +10:00
Peter Barker 0f50cf96ca Tools: Frame_Params: correct for CH7 -> RC7 change 2018-08-02 08:26:03 +10:00
Pierre Kancir d507805891 Tools: move guided_achieve_heading to common 2018-08-01 16:33:55 +10:00
Pierre Kancir ef6db4da4a Tools: correct run_cmd 2018-08-01 16:33:07 +10:00
Pierre Kancir facc254138 Tools: move run_cmd to common 2018-08-01 16:33:04 +10:00
Andrew Tridgell 6090820bdc autotest: disable the Drive Brake test in rover
this test fails far too often
2018-08-01 14:03:26 +10:00
Peter Barker b8030816b8 Tools: autotest: add tests for mode changes for Copter and Rover 2018-08-01 12:11:30 +09:00
Michael du Breuil 90216f7cb6 Tools: Slow rover test down for CI, remove unneeded variable 2018-08-01 09:19:20 +10:00
Peter Barker baf869f8d6 Tools: autotest: add test for autotune 2018-07-31 13:37:43 +09:00
Peter Barker 20c1c4c684 Tools: autotest: add test for guided changing submode after takeoff 2018-07-31 10:40:57 +10:00
Peter Barker 56a4cd43d4 Tools: autotest:eliminate parameter restore using contexts 2018-07-31 10:40:57 +10:00
Peter Barker 9cd8745394 Tools: autotest: allow use of --gdb when no DISPLAY available
OTOH, screen will be required....
2018-07-30 11:18:40 +10:00
Andrew Tridgell 037d7d2e74 autotest: raised timeout on set_rc()
when under load at high speedup the msgs can take a while to get
through
2018-07-28 18:05:12 +10:00
Ebin 9c3b7e7c7d Tools: Autotest for balance bot 2018-07-28 08:44:18 +10:00
Ebin d3846420aa Tools: new default params for balance bot 2018-07-28 08:44:18 +10:00
Peter Barker 6dd8dbeb40 Tools: autotest: add ability to add breakpoints in autotest 2018-07-27 09:58:15 +10:00
Peter Barker 8c44a0d8c8 Tools: autotest: add contexts to ease reverting parameter values 2018-07-27 09:55:25 +10:00
Peter Barker b47c63c7bd Tools: autotest: wait_ekf_happy checks status bits rather than value
Based on discussions prompted by @khancyr's PR
https://github.com/ArduPilot/ardupilot/pull/8022

Check that we have bits set we want set and that bits we don't want set
aren't set.  In the future we might take these bit sets as parameters.
2018-07-27 09:55:20 +10:00
Ebin 830a3bbacf Tools: modified default params for Balance Bot 2018-07-20 14:41:32 +10:00
Andrew Tridgell d49d5cbb85 autotest: fixed tailsitter default params for SITL 2018-07-18 19:58:02 +10:00
Peter Barker 8fdcd7e1f5 Tools: hide parameter in documentation if no values present 2018-07-17 12:08:27 +10:00
Pierre Kancir 0af97529ba Tools: common.py : fix empty returned_value variable 2018-07-12 21:13:02 +10:00
Pierre Kancir 065a459df8 Tools: common.py : make some method statics 2018-07-12 21:13:02 +10:00
Pierre Kancir 6c43ab27c1 Tools: remove trailling semilocons 2018-07-12 21:13:02 +10:00
Peter Barker b23ea9a47b Tools: autotest: fix race condition on parameter values 2018-07-05 11:48:08 +10:00
Peter Barker 4c581a0522 Tools: autotest: correct invocation of build_all 2018-07-05 09:02:02 +10:00
Peter Barker fa19c3a680 Tools: autotest: fix sub autotest 2018-07-04 14:48:41 +10:00
Peter Barker 0ae82751b8 Tools: autotest.py: flake8 compliance
Also fixed a bug where CalledProcessError has not been imported
2018-07-04 14:05:07 +10:00
Peter Barker 8f15a76327 Tools: autotest: sim_vehicle.py: whitespace changes for flake8 compliance 2018-07-04 09:36:48 +10:00
Michael du Breuil 7e7bbb8df6 Tools: sim_vehicle.py fixups
limit pkill to 15 characters, fix GDB arguments for python3
2018-07-04 09:36:48 +10:00
Andrew Tridgell b527dce08d autotest: use --enable-sfml for graphics 2018-07-02 10:43:48 +10:00
Andrew Tridgell 00b2cc4a93 Tools: support --osd option to sim_vehicle.py 2018-07-01 21:21:28 +10:00
Peter Barker 38898dc793 Tools: autotest: add test for vision position estimate 2018-06-30 10:11:10 +10:00
Peter Barker b197d05476 Tools: autotest: allow for return of negative values in parameters 2018-06-29 21:39:59 +10:00
Peter Barker 975b8c2e5f Tools: autotest: use reboot to apply parameter changes; avoid sim restart
Previously we stopped the simulation to ensure parameter changes are
applied to the simulated vehicle.  We can now reboot the simulated
autopilot, so these patches make use of those changes.

One big advantage is that the --gdb option is in play for the applying
of the parameters to the vehicle.
2018-06-29 10:54:27 +10:00
Ebin fd92475ce9 autotest: added more default params for balance bot 2018-06-28 21:55:20 +09:00
Ebin 6bb5aa5d36 autotest: added default params for balancebot 2018-06-28 21:55:20 +09:00
Evan Hammac 37accc96f6 Tools: Added Tyndall AFB to locatons.txt file 2018-06-27 09:37:25 +10:00
Peter Barker 7cdb05ccc0 Tools: add default-parameter-filename sanity check 2018-06-21 19:32:46 +10:00
Randy Mackay ccb1042074 Tools: update sitl rover default params 2018-06-08 09:19:25 +09:00
Peter Barker 0b8b23baf6 Tools: adjust tests for vfr_hud getting absolute altitude 2018-06-05 09:38:20 +10:00
Michael du Breuil 177c4c2d44 Tools: Accept mAh as a unit 2018-05-26 08:49:02 +09:00
Tom Pittenger c59be8bafe Tools: add "octal" param unit 2018-05-23 14:02:45 -07:00
Jesse Millwood 014702fc64 Changed Argument Parsing for sim_vehicle.py
The arguments now properly pare the arguments passed through to the
ardupilot instance and to mavproxy.
2018-05-23 17:34:24 +10:00
Andrew Tridgell a17979383d autotest: fixed single and coax motor ranges 2018-05-21 13:04:13 +10:00
Peter Barker ee01687c55 Tools: fix autotest/valgrind on Vagrant virtual machines 2018-05-17 17:27:43 +10:00
murata 47b0e00b11 autotest: Added test field location. 2018-05-16 09:57:08 +09:00
Peter Barker fd4463de68 Tools: add more information on test failure 2018-05-15 20:06:05 +09:00
Peter Barker 23a2ea4084 Tools: autotest: set rc to 1500 on RTL 2018-05-15 20:06:05 +09:00
Guilherme Sousa dab3b93dc3 autotest: Improved motor failure test
This is based on https://github.com/ArduPilot/ardupilot/pull/6028 by
GuilhermeGSousa
2018-05-15 20:06:05 +09:00
stephen.dade ce31c55091 Tools - added extra packages for Cygwin environment setup scripts 2018-05-12 10:59:10 +09:00
Peter Barker 167553e8a5 Tools: autotest: tidy usage and simplify vehicle build steps 2018-05-11 13:43:33 +10:00
Peter Barker f3d6d8e236 Tools: autotest: make Copter tests more reliable
RTL may disarm the vehicle on completion.  We RTL at several times in
the testing, and the subsequent tests were not rearming.  This means we
had a race condition.

We now explicitly wait to be disarmed by the RTL mode, and rearm the
vehicle.

This is an interim patch until we decide whether to make each "test"
self-contained, and have a precondition of "on ground and disarmed".
2018-05-11 08:07:21 +09:00
Peter Barker 4847a61868 Tools: build all vehicles in build-with-disabled-features 2018-05-10 17:55:13 +09:00
Peter Barker 58f4b4b65d Tools: autotest: correct copter auto mission test 2018-05-09 14:23:51 +10:00
Peter Barker 513865ae4d Tools: autotest: flake8 compliance 2018-05-09 14:23:51 +10:00
Karthik Desai 40cd0cd17f Tools: autotest: Use the generic run_test.
If any of the tests throws an exception, it will be caught by the generic test function
that collects all errors and displays them before passing the result to the vehicle testcode.
Hence the name of the test and the exception that got raised get printed in a single
location. This nicely reduces code duplication.
2018-05-09 14:23:45 +10:00
Karthik Desai 7a20dd8b73 Tools: autotest: Added a generic run_test.
This function is called from every vehicle to run a test. If any of the tests throws an exception, it will be caught here, and the name of the test and the exception that got raised will be added to the fail_list
2018-05-09 14:23:40 +10:00
Karthik Desai b485867db3 Tools: autotest: Check if the mode exists in the dictionary 2018-05-09 14:23:35 +10:00
Karthik Desai d26c09ccac Tools: autotest: Add and raise exceptions for wait_* helper functions 2018-05-09 14:23:26 +10:00
Dimitri Vasilkov d2c247bb90 Added to success.txt, added UChicago to locations.txt 2018-05-08 13:42:31 -07:00
Peter Barker cb2e3424ee Tools: add kilobytes as known unit 2018-05-08 09:36:01 +10:00
Randy Mackay f8711f70c9 Tools: correct sitl rover-skid default params
steering rate P gain was too high, default is better
2018-05-05 10:13:06 +09:00
Andrew Tridgell 3b143a99bf autotest: removed sitl-debug varient 2018-05-04 18:33:53 +10:00
Andrew Tridgell 9e76555152 autotest: added --no-extra-ports option for sim_vehicle.py 2018-05-02 19:24:20 +10:00
Pierre Kancir a43183ec14 Tools: sim_vehicle.py: Allow to pass custom param file 2018-04-26 22:40:49 +01:00
Peter Barker 5b03835103 Tools: autotest: correct pattern match in get_parameter 2018-04-18 20:31:55 +09:00
Peter Barker 802e4c6315 Tools: autotest: add tests for relays 2018-04-18 20:31:55 +09:00
Karthik Desai 75ae59c0c8 Autotest: Remove frame initialisation.
This will otherwise override the --frame parameter. The init() function takes care of the initialisation
2018-04-17 23:00:04 +10:00
Pierre Kancir 332560bdf7 Tools: add Skeytech location 2018-04-12 16:34:59 +01:00
murata 0fd71f909c autotest: Add the home ground of ArduPilot drone software engineer training school in Japan. 2018-04-12 14:21:58 +09:00
Randy Mackay 8186ce0d32 Tools: add deg/s/s to valid parameter units 2018-04-05 12:14:59 +09:00
Peter Barker a03ddc6798 Tools: autotest: correct default parameter names and paths 2018-03-29 09:19:36 +11:00
Michael du Breuil 69cf009898 AutoTest: Update copter battery failsafe test 2018-03-27 22:12:21 +01:00
Peter Barker dca866c98d Tools: make parameter generation failure clearer 2018-03-26 12:39:23 +11:00
Karthik Desai 9de1813ae6 Autotest: Fix a race condition on the regression tests on Windows 2018-03-23 09:13:37 +09:00
Peter Barker 5aa8890e5b Tools: autotest: fail convertgpx if zip or gpsbabel fail 2018-03-22 09:11:44 +11:00
Peter Barker 338af9e142 Tools: correct misleading comment on per-vehicle parameter descriptions 2018-03-21 21:05:42 +11:00
Peter Barker 15450b956d Tools: sim_vehicle.py: make --tracker work again 2018-03-21 11:46:47 +11:00
chobits 8b72809e37 Tools: fix motor rpm display in flightgear 2018-03-21 08:50:04 +09:00
Peter Barker 8511c2c04b Tools: autotest: factor out apply_parameters_using_sitl
Three of our models start a SITL instance to apply parameters
then restart it so that the parameter changes can take effect.

Factor that functionality out.
2018-03-20 08:39:12 +11:00
Peter Barker fe3b882bea Tools: autotest: move close method up to common.py 2018-03-20 08:39:12 +11:00
Peter Barker 31ba99e58a Tools: autotest: use buildlogs_path for all buildlogs 2018-03-20 08:39:12 +11:00
Peter Barker b2cb6e196c Tools: autotest: pull common MAVProxy options into common.py 2018-03-20 08:39:12 +11:00
Peter Barker b908af10b7 Tools: autotest: remove non-working dump-logs script
We removed CLI from ArduPilot; this script will no longer work
2018-03-20 08:39:12 +11:00
Peter Barker 5fbb385c31 Tools: autotest: avoid exception when using Python3 on MacOSX
File "./Tools/autotest/sim_vehicle.py", line 999, in <module>
location)
File "./Tools/autotest/sim_vehicle.py", line 573, in start_vehicle
run_in_terminal_window(autotest, cmd_name, cmd)
File "./Tools/autotest/sim_vehicle.py", line 476, in
run_in_terminal_window
tabs = p.findall(out)
TypeError: cannot use a string pattern on a bytes-like object
SIM_VEHICLE: Killing tasks
2018-03-19 12:36:55 +11:00
Peter Barker b348cfa985 Tools: autotest: flake8 compliance
Taking the opportunity to make massive changes while we're destroying
history anyway.
2018-03-15 07:54:21 +09:00
Pierre Kancir 259dda810d Tools: use base class to share code between vehicle tests
Autotest: common.py add new base class and test

Autotest : Common add heartbeat handling on wait_mode timeout

Autotest: common.py add reach_heading_manual and reach_distance_manual

Autotest: new autotest implementation for Rover

Autotest : rover add drive_square test

Autotest: new autotest implementation for Copter

Autotest: new autotest implementation for Plane

Autotest: new autotest implementation for Sub

Autotest: new autotest implementation

Autotest: new autotest implementation for QuadPlane

Autotest : Sub disable GCS_Failsafe on autotest to prevent timeout. The failsafe aren't currently tested on Sub
2018-03-15 07:54:21 +09:00
Peter Barker b1b978381a Tools: correct quoting in run_in_terminal_window.sh 2018-03-15 07:40:23 +09:00
Peter Barker 5ac5a68d17 Tools: param_parse.py: replace @PREFIX in values with library prefix 2018-03-14 15:44:00 +11:00
chobits 9405c19e85 Tools: fix copter propeller animation in FlightGear multiplayer 2018-03-14 09:42:55 +09:00
Pierre Kancir b3c2e134f9 Autotest: raise set_rc timeout to prevent mavproxy to miss msg on speedup 2018-03-13 08:40:05 +09:00
Pierre Kancir 4558ef5b1e Autotest: correct Rover expected name in banner 2018-03-13 07:53:41 +09:00
Peter Barker 8b9ce3869c Tools: add bisect-helper.py
This is the start of a tool to help bisect problems with ArduPilot.

Currently it only helps bisect build errors.
2018-03-09 10:38:48 +11:00
Peter Barker 18135b4764 Tools: build-with-disabled-features: update deps 2018-02-27 07:43:13 +09:00
Peter Barker 67257e545e Tools: add how-to-use comment to build-with-disabled-features 2018-02-22 10:18:44 +10:00
Peter Barker 705e6287b9 Tools: add a build-with-disabled-features script 2018-02-22 10:18:44 +10:00
Pierre Kancir fe36c09bb0 Tools: correct Gazebo-iris param 2018-02-14 09:45:25 +09:00
Peter Barker 50ccbb5d0c Tools: autotest: correct speedup parameter handling 2018-02-13 17:15:05 +11:00
Peter Barker aeb99c675b Tools: autotest: remove racey mavproxy.expect
The autopilot could well have emitted the statustext before we
start to expect() it
2018-02-13 17:15:05 +11:00
Siddharth Purohit 8f074d52c1 autotest: fix setup of sitl for macosx 2018-01-31 12:22:23 +11:00
Andrew Tridgell ec81f905f4 autotest: added some new locations for testing 2018-01-15 11:46:02 +11:00
Stephen Dade aa7389b455 Tools: Fixed Cygwin SITL package names and made install easier for new users 2018-01-09 14:40:43 +00:00
Peter Barker 8a15c69aff Tools: add --fresh-params option to sim_vehicle.py
This will rebuild and use the XML file we generate from our
source code which conveys information about our parameters.

When using this option, "param help PARAMETERNAME" should reflect
changes made to the parameter metadata for PARAMETERNAME.
2018-01-08 14:49:35 +00:00
Patrick José Pereira 560d8b88d8 Tools: Add gazebo-bluerov2 on vehicleinfo.py
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-12-26 09:12:56 +11:00
Patrick José Pereira 0e6fc54a0e Tools: Add BATT_MONITOR on sub.parm
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-12-21 11:26:51 -05:00
Peter Barker 0b4dcdde35 Tools: param_parse.py: allow whitespace between vehicles
Also add sanity check that the vehicles you're limitting to we know
about
2017-12-16 11:08:35 +11:00
Peter Barker d1128e7be4 Tools: param_parse.py: replace comments with debug statements 2017-12-16 11:08:35 +11:00
Peter Barker eeb15d7fd5 Tools: param_parse.py: make comment consistent 2017-12-16 11:08:35 +11:00
Peter Barker 825832be93 Tools: param_parse.py: add a map for vehicle name to a true-name to be used in code
Where true-name is something like "Rover" and the normal name remains
the directory name (e.g. "APMrover2")
2017-12-16 11:08:35 +11:00
Peter Barker e0125a68e7 Tools: param_parse.py: use single regex for params everywhere 2017-12-16 11:08:35 +11:00
Peter Barker a45ab6b84c Tools: param_parse.py: correct example comment 2017-12-16 11:08:35 +11:00
Peter Barker 94afaebdb7 Tools: autotest builds each vehicle parameters individually 2017-12-16 11:08:35 +11:00
Peter Barker ea2c156c7f Tools: param_parse.py: understand tagging of parameters for specific vehicles 2017-12-16 11:08:35 +11:00
Peter Barker 8c516fb29c Tools: autotest: add max-alt fence 2017-12-13 10:04:50 +09:00
Randy Mackay 19af2f7d1d Tools: add decibel as valid param Unit 2017-12-12 07:59:41 +09:00
Andrew Tridgell 20d44136b0 autotest: fixed handling of core files 2017-12-12 08:45:56 +11:00
Peter Barker 75e8424e3f Tools: autotest: add a test for driving a simple RTL mission
In particular, we weren't setting NAV_CONTROLLER_OUTPUT.wp_dist
correctly before a recent commit from Randy
2017-12-09 22:34:07 +11:00
khancyr fac89ed437 Tools: autotest: move common functionality to common.py
Tools: don't need to pass option on first mavproxy

Tools: reformat common.py and add commun function

Tools: use new common functions

Tools: move functions from rover to commun and reorder

Tools: add and use set_rc function with timeout

Tools: fix style for pep8
2017-12-02 22:28:22 +11:00
Guglie 42e5b180cb Tools: fix sim_vehicle.py terminal tab when using --no-mavproxy 2017-12-02 09:34:10 +11:00
Peter Barker b7a293ca5f Tools: autotest: move fetching of banner and version
Moved these to before log download.

They fail randomly after log download.
2017-11-28 09:47:46 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 5c07a44a6d Tools: Fix a race condition on the regression tests on Windows
Added \r\n to the expect() string as recomended at:
http://pexpect.readthedocs.io/en/stable/overview.html#find-the-end-of-line-cr-lf-conventions
this should work on both windows and linux systems

pexpect says it will always do a minimal (non greedy) matching and docs explicitly say that a .+ expression will always return only one character. These lines in autotest are looking for \S+, which, believing the documentation, would only return one character of the log file path.
Now we know that's not true, neither for Linux or for Windows (given the logs from @karthikdesai), so I can only assume that it does a greedy match but only for the characters it has received at the time expect is called.
Apparently, in the machines we are using autotest, it isn't a problem since MAVProxy is likely fast to give its output to pexpect before the expect method is called. On @karthikdesai's machine that wasn't happening since his machine was more or less loaded.
Concluding, this looks like a correct fix in the sense that it extends the regex pattern to wait for the end of line (and probably other places could benefit from it too).
2017-11-22 17:01:05 +09:00
Patrick José Pereira df6d2659ac autotest: Add RAT Beach for ArduSub
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-11-20 17:27:47 +09:00
Peter Barker 2f76f83ab7 Tools: autotest: add and use progress function
Based on work done by khancir
(https://github.com/ArduPilot/ardupilot/pull/6360)

Tools: arduplane.py change print to progress function
Tools: quadplane.py change print to progress function
Tools: ardusub.py change print to progress function
2017-11-14 16:02:05 +11:00
Pierre Kancir 76bb081d60 Tools: autotest: add python headers to scripts
Tools: arduplane.py add python header

Tools: apmrover2.py add python header

Tools: arducopter.py add python header

Tools: ardusub.py add python header

Tools: quadplane.py add python header
2017-11-14 14:47:32 +11:00
Andrew Tridgell bf9779b63a autotest: default plane simulator to 'plane'
this is good enough for most people and avoids an external dependency
2017-11-06 15:44:26 +11:00
guglie e741cb28d2 fix wait_unlimited with an infinite sleep loop
this fixes issue #7180
2017-11-06 13:39:59 +11:00
Andrew Tridgell d55b66efe1 autotest: added HMAS location 2017-10-31 18:02:52 +11:00
Peter Barker 8c03425f37 Tools: enable INS batch logging during Rover autotest 2017-10-27 16:33:45 +11:00
Peter Barker c498f17bc8 Tools: autotest: fix apmrover2 race condition on banner 2017-10-26 17:20:38 +11:00
Peter Barker 93810ab42a Tools: sim_vehicle.py: clarify comment about vagrant and mavlink-out 2017-10-26 15:03:58 +11:00
Peter Barker 89fa44a224 Tools: sim_vehicle.py: flake8 compliance 2017-10-26 15:03:58 +11:00
Peter Barker 163b354448 Tools: autotest: rover: add test for braking 2017-10-26 14:45:19 +11:00
Peter Barker 47ffad7cdc Tools: autotest: copy generate_manifest aside for build_binaries.py 2017-10-26 07:57:48 +11:00
Peter Barker e3320ca953 Tools: autotest.py: run build_binaries.py instead of build_binaries.sh
Note we still copy the script sideways.  This is probably not
required for a python script.
2017-10-25 12:02:19 +11:00
Andrew Tridgell b88f2f1da3 autotest: fixed exception in convertgpx 2017-10-22 16:26:24 +11:00
Andrew Tridgell 71e2c86783 autotest: added more CMAC startup locations
this allows matching to RealFlight positions
2017-10-21 13:01:07 +11:00
Andrew Tridgell 776355ef2b autotest: fixed heli test
need to wait for motor runup
2017-09-27 20:54:21 +10:00
Peter Barker 5a19301606 Tools: autotest: add a test for setting of modes using CMD_DO_SET_MODE 2017-09-19 01:24:11 +01:00
mirkix 6bc4ab638a Tools: Add SITL tilthvec frame and default parameters 2017-09-18 21:20:39 +10:00
Peter Barker 27650c08aa Tools: autotest: use -z in place of -v for checking variable settedness
Some bash versions out there don't like -v
2017-09-18 08:26:22 +10:00
Peter Barker 78a0298af0 Tools: autotest.py: look at EKF flags to determine armability 2017-09-15 15:57:11 +01:00
Marco Robustini b4f46b14f0 Tools: add Marco's flying field to locations file 2017-09-11 17:58:01 +01:00
Peter Barker 20bfb82a7b Tools: autotest.py: add --no-clean and --no-configure options 2017-09-11 12:45:27 +10:00
Peter Barker e505635ddd Tools: sim_vehicle: make gdb-stopped work again 2017-09-11 12:30:00 +10:00