Commit Graph

54274 Commits

Author SHA1 Message Date
Peter Barker 46dacd3b61 autotest: add tests for disallowing flying mid-air 2022-08-12 09:44:08 +10:00
Peter Barker 48fd37cd25 AP_DroneID: add missing element to constructor 2022-08-11 21:06:04 +01:00
Peter Barker 445ee86734 autotest: tidy resetting of parameters after battery failsafe test 2022-08-11 13:32:24 +10:00
Peter Barker 67a87800f9 AP_OpenDroneID: correct compilation under gcc 7.5.0 2022-08-11 13:31:59 +10:00
Peter Barker df2e354828 build_binaries.py: print not-found-on-boardlist message
Makes it clearer in the output that we're skipping a board because it isn't in the configure list.  Currently it just does the submodule updaet then goes onto the next build, without telling you why it's not doing anything more
2022-08-10 23:28:14 +10:00
Peter Barker f345c16fda AP_Math: add dignostic message for SCurve internal error 2022-08-10 22:18:42 +10:00
Peter Barker e29374fa04 Tools: extract_features.py: allow for regular expressions for features
Also switch to keying off the define in build_options.py rather than the label as the label is not unique and we'd have to munge them badly (and enforce shape) where we can just use the ArduPilot defines which are all pretty well-formed.
2022-08-10 18:05:54 +10:00
Peter Barker 5b3a6daa7b AP_Mission: rename contains_terrain_relative->contains_terrain_alt_items
can we rename "constains_terrain_relative" to "contains_terrain_alt"? No big deal of course but "terrain_alt" is what we use in Copter so it's more likely to show up in searches.
2022-08-10 18:04:22 +10:00
Peter Barker 6709c6d72d AP_Arming: rename contains_terrain_relative->contains_terrain_alt_items
can we rename "constains_terrain_relative" to "contains_terrain_alt"? No big deal of course but "terrain_alt" is what we use in Copter so it's more likely to show up in searches.
2022-08-10 18:04:22 +10:00
Peter Barker 1c7e2f5094 AP_HAL_SITL: correct bind-value SIM_RC_FAIL handling
If SITL is not receiving any sitl rc input (so _sitl_rc_in.recv(...) is allways returns -1 then the bind-values code would never be crossed so the RC input values would remain at their initialisation values rather than honouring the SIM_RC_FAIL setting which says they should go to bind values (notably throttle-to-950)
2022-08-10 17:14:21 +10:00
bugobliterator 760436c282 bootloaders: update bootloaders for CubeOrange and related hardware 2022-08-10 17:06:29 +10:00
bugobliterator fce49232b2 hwdef: disable power reset on peripheral line 2022-08-10 17:06:29 +10:00
Peter Barker 0632b9a0c4 Tools: powr_status.py: remove MAV_POWER_STATUS_ from bit descriptions 2022-08-10 10:05:48 +10:00
Andrew Tridgell 204a8cdc55 Plane: release notes for 4.2.3beta2 2022-08-10 06:09:23 +10:00
Andrew Tridgell 33f6c42bd4 Tools: rebuilt bootloaders
rebuild bootloaders impacted by
https://github.com/ArduPilot/ardupilot/pull/21308
2022-08-10 05:04:22 +10:00
Andrew Tridgell cc2589777f AP_Periph: pass correct WGS84 height on GPS peripherals 2022-08-10 05:04:18 +10:00
Andrew Tridgell cdf8cad801 AP_GPS: fixed undulation for DroneCAN GPS 2022-08-10 05:04:18 +10:00
Andrew Tridgell 74a66ede95 AP_OpenDroneID: prevent sending of lost transmitter msg too fast 2022-08-10 05:04:18 +10:00
Andrew Tridgell 0e037c99f3 hwdef: support moving baseline yaw with Holybro G4 CAN GPS 2022-08-09 21:05:08 +10:00
Andrew Tridgell 6c3de20569 hwdef: support moving baseline GPS yaw on MatekL431-Periph 2022-08-09 21:04:37 +10:00
Shiv Tyagi 998119d011 SITL: fix var naming for precland device center 2022-08-09 18:00:11 +10:00
Andy Piper 9a450a05bb Copter: add fast harmonic notch logging 2022-08-09 03:45:08 -04:00
Andy Piper 1c8d206dfb Copter: fast attitude logging should be at loop rate 2022-08-09 03:45:08 -04:00
Andrew Tridgell a34ff49bac Tools: added ODID bootloaders 2022-08-09 14:37:08 +10:00
Andrew Tridgell f6e233fb98 Tools: added ODID board types 2022-08-09 14:37:08 +10:00
Andrew Tridgell 2f4a3ea4e8 CI: added CubeOrange-ODID build 2022-08-09 14:37:08 +10:00
Andrew Tridgell 23744819dc hwdef: added two OpenDroneID enabled builds 2022-08-09 14:37:08 +10:00
Andrew Tridgell bfc5e90e9c DSDL: added DroneCAN messages 2022-08-09 14:37:08 +10:00
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