Commit Graph

2680 Commits

Author SHA1 Message Date
Dr.-Ing. Amilcar do Carmo Lucas
d53299ecb0 Tools: comment out the FETtecESC_safety_switch() function for now because it is failing
I do not understand why it is failing, and failed at fixing it.
2021-08-13 16:22:37 +10:00
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