Commit Graph

54196 Commits

Author SHA1 Message Date
Andrew Tridgell 9ce11159b0 AP_UAVCAN: support OpenDroneID 2022-08-09 14:37:08 +10:00
Joshua Henderson ed47b10e0c AP_Arming: add OpenDroneID Mandatory Arming Check 2022-08-09 14:37:08 +10:00
Roel Schiphorst 3bd792295c GCS_MAVLINK: add OpenDroneID messages 2022-08-09 14:37:08 +10:00
Joshua Henderson c52ae2edb4 AP_Vehicle: add OpenDroneID library 2022-08-09 14:37:08 +10:00
Roel Schiphorst d346633996 AP_OpenDroneID: add OpenDrone ID library 2022-08-09 14:37:08 +10:00
Joshua Henderson 378dff5568 AP_GPS: added get_undulation support 2022-08-09 14:37:08 +10:00
Andrew Tridgell b96fcd31fc mavlink: update for OPEN_DRONE_ID_ARM_STATUS 2022-08-09 14:37:08 +10:00
Joshua Henderson 68360571d1 Tools: ardupilotwaf add OpenDroneID lib 2022-08-09 14:37:08 +10:00
Peter Barker 541cfa022b AP_Terrain: fix bad prearms-pass-when-they-shouldn't issue
The squares surrounding the current location were only checked when we went to send a terrain request.  This means it was possible that:
 - the number of pending requests could go to zero
 - prearm checks would pass
 - vehicle arm is attempted by the user (or a script, or ....)
 - the code would call AP_Terrain::send_requests which would create more pending requests
 - the arming sequence would fail

It's also possible for the arming to succeed, and then we're flying in violation of the intended prearm checks.

Doing things in the update function has the additional advantage of making things more efficient as we can push out terrain requests more often.
2022-08-09 14:31:14 +10:00
Peter Barker 5ee8f99e7b autotest: adjust for terrain arming requirements
Lots of tests really did need terrain stuff but weren't able to get it
2022-08-09 14:31:14 +10:00
Peter Barker c2d91a3bdb AP_Mission: mark mission as changed upon mission clear 2022-08-09 14:31:14 +10:00
Peter Barker 50fb56a74f AP_Mission: memoise result of contains_terrain_relative
527 items takes ~2200us on CubeOrange which is way too long
2022-08-09 14:31:14 +10:00
Peter Barker 4c674b64fb AP_Terrain: correct wait-for-terrain prearm check
looking at pending is insufficient as we may have more mission items to check to see if they need other pieces of terrain.  That is, terr_pending can go to zero momentarily and then go back to a non-zero number as Terrain's update method checks the mission and rally libraries for more terrain requirements.

Without this patch the prearm checks can momentarily pass, allowing the vehicle to arm.  The vehicle could hit a terrain failsafe later if it doesn't manage to get the data while in flight.
2022-08-09 14:31:14 +10:00
Peter Barker d688e6068b AP_Terrain: move terrain prearm checks to AP_Terrain 2022-08-09 14:31:14 +10:00
Peter Barker 96ef34acac AP_Arming: move terrain prearm checks to AP_Terrain 2022-08-09 14:31:14 +10:00
Peter Barker fecf7c2e0c autotest: augment Plane TerrainMission to check we *do* follow the terrain 2022-08-09 14:31:14 +10:00
Peter Barker 127bf7aa09 ArduPlane: make terrain checks common between Copter and Plane 2022-08-09 14:31:14 +10:00
Peter Barker 67d8965cad ArduCopter: make terrain checks common between Copter and Plane 2022-08-09 14:31:14 +10:00
Peter Barker 3bcd4fa22a AP_Arming: make terrain checks common between Copter and Plane 2022-08-09 14:31:14 +10:00
Andrew Tridgell 2e32c753b9 Plane: added arming check for terrain data 2022-08-09 14:31:14 +10:00
Andrew Tridgell bad0120d3c AP_Mission: added contains_terrain_relative()
used in plane arming check
2022-08-09 14:31:14 +10:00
Iampete1 2d06261be3 AP_Gripper: apply auto close to all backends. 2022-08-09 13:23:35 +10:00
Leonard Hall 4bf622dbaf AP_Gripper: Add feedback when already in state 2022-08-09 13:23:35 +10:00
Leonard Hall 64d69c5977 AP_Gripper: Servo Gipper enhancments 2022-08-09 13:23:35 +10:00
Tamas Nepusz 1ae299b717 RC_Channel: reserve RX aux functions 248-249 for Skybrush 2022-08-09 13:22:07 +10:00
Tamas Nepusz 5e7622d593 Copter: reserve mode number 127 and param group 62 for Skybrush 2022-08-09 13:22:07 +10:00
Iampete1 ee778dbd3a Plane: Quadplane: add option_is_set helper for Q_OPTIONS 2022-08-09 13:21:00 +10:00
Henry Wurzburg 1f819e11fb Rover: update logging bitmask metadata to new style 2022-08-09 11:38:16 +10:00
Henry Wurzburg 20c0448165 Blimp: update logging bitmask metadata to new style and correct errors 2022-08-09 11:38:16 +10:00
Henry Wurzburg 905572eff5 ArduPlane: update logging bitmask metadata to new style 2022-08-09 11:38:16 +10:00
Andy Piper 6ce3bb6a84 scripts: add back in bdshot targets for KakuteF7 and CubeYellow 2022-08-09 11:14:44 +10:00
Andy Piper d6ba508cb9 AP_ESC_Telem: keep RPM updates in the correct order 2022-08-09 11:13:11 +10:00
Andy Piper 2c22bca1a9 AP_Vehicle: make sure that if ESC telemetry is missing notch updates are not misordered 2022-08-09 11:13:11 +10:00
Henry Wurzburg a5b373e912 AP_AHRS: modify AHRS type check for compass-less setups 2022-08-09 11:02:24 +10:00
Iampete1 821053e580 Plane: Quadplane: allow servo auto trim for motors only tailsitter assist 2022-08-09 10:56:41 +10:00
Leonard Hall 1e3e5e5577 AP_Math: Control: Add velocity limits to shaping functions 2022-08-08 20:54:37 -04:00
Peter Barker a54321ad12 Copter: remove pointless clause in motor_checks
check_failed doesn't make any state changes and we return true in either case
2022-08-08 20:42:26 -04:00
Peter Barker a5dadd2694 Copter: move motors check to be must-run prearm
motors check would be run twice on arm without this.

After this change, even if ARMING_CHECKS is 0 the user will be warned they need to set FRAME_CLASS and FRAME_TYPE, rather than just when they try to arm the vehicle.
2022-08-08 20:42:26 -04:00
Peter Barker f5a8561fde AP_Arming: display 'Arm: ' instead of 'PreArm: ' for arming failures
Before this patch we would display PreArm: even if the checks were being performed as part of the arming sequence.

This lets us distinguish betwee checks failing because the user is trying to arm the vehicle and when the prearms are running while disarmed (or triggered via GCS)
2022-08-09 10:18:52 +10:00
Henry Wurzburg 8b02f11c23 AP_Motors: refactor to allow frame type symbols to be created for ELF 2022-08-09 10:06:18 +10:00
Henry Wurzburg 44ce44b2fa Tools: fix errors in build_options.py 2022-08-09 10:00:03 +10:00
Iampete1 a209a391df Tools: FilterTool: allow query string param config and add get link 2022-08-09 09:48:52 +10:00
Iampete1 ea3f5877c9 Tools: FilterTool: remember scale 2022-08-09 09:48:52 +10:00
Joshua Henderson e338e4cdb6 AP_TECS: use TECS log bitmask in constructor 2022-08-09 09:44:50 +10:00
Joshua Henderson a9da91bc8d Plane: add TECS Logbitmask to TECS constructor 2022-08-09 09:44:50 +10:00
Henry Wurzburg cea1e29f4e Tools: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg aafc0789f0 SITL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg a46c774698 AP_RangeFinder: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg e682296b58 AP_HAL_SITL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Henry Wurzburg 4c24b89dde AP_HAL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00