Commit Graph

30467 Commits

Author SHA1 Message Date
Peter Barker 46aebe3020 AP_OpticalFlow: allow use of OpticalFlow on SimOnHardWare 2022-08-24 18:27:32 +10:00
rishabsingh3003 6926466d88 AP_Proximity: Fix comments 2022-08-24 18:26:27 +10:00
rishabsingh3003 6e603418eb AP_Proximity: Remove primary_instance 2022-08-24 18:26:27 +10:00
rishabsingh3003 3a347374c8 AP_Proximity: Cycle through all drivers to check for upward distance 2022-08-24 18:26:27 +10:00
rishabsingh3003 5d29dd98c1 AP_Proximity: Make new Utils file for PRX utility functions 2022-08-24 18:26:27 +10:00
rishabsingh3003 7cd77f266e AP_Arming: shift pre-arm check to AP_Proximity 2022-08-24 18:26:27 +10:00
rishabsingh3003 f0f24dde99 AP_Proximity: Make sure all sensors are used for pre arm check 2022-08-24 18:26:27 +10:00
rishabsingh3003 b0108f2c0c AP_Proximity: Increase number of available proximity sensor 2022-08-24 18:26:27 +10:00
Randy Mackay 0cbba4fdd0 AP_Proximity: distance_min/max checks all backends 2022-08-24 18:26:27 +10:00
Randy Mackay 1f0a633425 AP_Proximity: fixup handle_msg comment 2022-08-24 18:26:27 +10:00
Randy Mackay 7dbbca8d58 AP_Proximity: remove public get_orientation and get_yaw_correction
this are only used by backends
2022-08-24 18:26:27 +10:00
Randy Mackay 965cdd7e72 AP_Proximity: fixup detection of serial drivers 2022-08-24 18:26:27 +10:00
Randy Mackay 826cf558eb AP_Proximity: log if any drivers created
allows logging even if only 2nd proximity sensor is configured
2022-08-24 18:26:27 +10:00
Randy Mackay 436f77d673 AP_Proximity: boundary uses shortest dist from multiple backends
Co-authored-by: Rishabh <f20171602@hyderabad.bits-pilani.ac.in>
2022-08-24 18:26:27 +10:00
Randy Mackay 3941598a10 GCS_MAVlink: integrate proximity-distance-array scope change 2022-08-24 18:26:27 +10:00
Randy Mackay 7432a20394 AP_Proximity: move boundary to frontend
Co-authored-by: Rishabh <f20171602@hyderabad.bits-pilani.ac.in>
2022-08-24 18:26:27 +10:00
Randy Mackay eff86c88ab AP_Proximity: reorder method declarations and implementations 2022-08-24 18:26:27 +10:00
Randy Mackay b6d133e285 AP_Proximity: reduce ignore areas to 4 per backend 2022-08-24 18:26:27 +10:00
Randy Mackay 5fbaa4f136 SITL: integrate PRX parameter rename 2022-08-24 18:26:27 +10:00
Randy Mackay 6025b1dcaa AP_Proximity: move params to separate class
simplies increasing the maximum number of backends
2022-08-24 18:26:27 +10:00
Andrew Tridgell c05b7271c4 AP_OpenDroneID: fixed cpp check for cygwin 2022-08-24 18:08:40 +10:00
Randy Mackay 119c8b7363 AP_Mount: get_angle_target_to_location checks for valid location 2022-08-24 18:07:08 +10:00
Andy Piper 41c319e257 AP_Declination: avoid undefined floating point exceptions on macOS when using implicit casts 2022-08-24 17:34:17 +10:00
Andy Piper 16b1a28cc9 AP_HAL_ChibiOS: bdshot version of MatekF405-Wing 2022-08-24 17:20:15 +10:00
Henry Wurzburg 61b0f23ee2 SRV_Channel: add ARM/MOTOR_EMERGENCY_STOP Aux Switch 2022-08-24 16:03:52 +10:00
Henry Wurzburg 451ed0aede RC_Channel: add ARM/MOTOR_EMERGENCY_STOP Aux Switch 2022-08-24 16:03:52 +10:00
Andrew Tridgell 8014f96235 AP_GPS: fixed handling of DroneCAN GPS without vertical velocity
detect first vertical velocity to set flag
2022-08-23 11:17:06 +10:00
Andrew Tridgell 3fdae69413 AP_Arming: allow arming with BRD_IO_ENABLE=0 2022-08-23 10:46:29 +10:00
Andrew Tridgell 9d1adae141 HAL_ChibiOS: fixed safety control with BRD_IO_ENABLE=0 2022-08-23 10:46:29 +10:00
Iampete1 08b458c995 AP_Scripting: add Quadplane low altitude forward flight mode aplet 2022-08-23 10:17:48 +10:00
rishabsingh3003 5af59abb8f AP_Proximity: Add orientation param to Cygbot 2022-08-22 19:12:45 -04:00
Peter Barker c0ae7fa5f6 SITL: examples: sitl-on-hw.sh add -m for more defaults 2022-08-23 09:01:30 +10:00
Peter Barker d7d7bb6e77 SITL: allow sitl-on-hw.sh to be invoked from any directory 2022-08-23 09:01:30 +10:00
Randy Mackay adac463154 AR_Motors: remove arming check to allow ackerman and skid-steering 2022-08-22 07:46:50 -04:00
Peter Barker 0665f9c32b AP_NavEKF3: store and use lastKnownPositionD
When returning our last-known-position we were supplying lat/lng but not
altitude.

This usually really doesn't matter as this result generally isn't used,
especially for altitude.  OTOH, it may prevent a bug into the future.
2022-08-22 19:48:03 +10:00
Henry Wurzburg c5451260ac SRV_Channel: add airbrake option metadata omitted in prev commits 2022-08-21 17:34:03 -07:00
Henry Wurzburg 7014fde866 RC_Channel: add airbrake option metadata omitted in prev commits 2022-08-21 17:34:03 -07:00
Andrew Tridgell 9a453bfc82 APM_Control: removed use of "blended" earth frame accel 2022-08-21 18:51:59 +10:00
Andrew Tridgell 56bb13420d AC_AttitudeControl: removed use of "blended" earth frame accel 2022-08-21 18:51:59 +10:00
Andrew Tridgell f80ba734c8 AP_AHRS: removed use of "blended" accel values
calculate a single EF accel based on primary IMU
2022-08-21 18:51:59 +10:00
Andrew Tridgell 924759510d AP_AHRS: fixed use of filtered gyro with DCM active
we need to overwrite _omega with the filtered gyro value, so we get
both the low pass filter and the notch filters. Otherwise we will fly
with very high noise gyro data

this also fixes the accel_ef_blended to use the filtered accel. It is
not blended, and removing "_blended" from the API will be worthwhile
as a followup
2022-08-21 18:51:59 +10:00
Peter Barker 19973f783b AP_Module: correct ModuleTest example for lack of GCS object 2022-08-19 18:34:19 +10:00
Peter Barker f0fc23bdcb AP_Scheduler: fix examples 2022-08-19 18:33:58 +10:00
Peter Barker 402d9708a5 AP_RCProtocol: fix examples 2022-08-19 18:33:58 +10:00
Peter Barker 03ce5f62d2 AP_RangeFinder: fix examples 2022-08-19 18:33:58 +10:00
Peter Barker 8a035590cd AP_FlashIface: fix examples 2022-08-19 18:33:58 +10:00
Steve Borenstein 95370ce74f Outgoing ARM message over MAVLINK 2022-08-19 11:36:14 +10:00
Iampete1 b399ed3044 AP_Scripting: unint32: remove integer range check 2022-08-19 10:29:39 +10:00
Peter Barker 6756c295df AP_Mission: add AP_Mission_config.h 2022-08-18 22:49:10 +10:00
Peter Barker 1e8e100409 AP_Terrain: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Peter Barker f9b409ce01 AP_Mission: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Peter Barker bf5817e108 AP_Logger: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Peter Barker e4bc7a0ef5 AP_HAL_ChibiOS: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Peter Barker 936fef11e2 AP_Filesystem: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Shiv Tyagi 5ff268fa97 AC_PrecLand: return target distance if enabled from SIM_Precland
For rover, we cant measure distance towards target using a rangefinder. Hence, we should must return target distance if enabled through SIM_Precland.
2022-08-18 22:47:43 +10:00
Shiv Tyagi 8411b2ec03 SITL: add param in SIM_Precland to enable return dist to target 2022-08-18 22:47:43 +10:00
nrt c3d8f0fa45 AP_AHRS: added a getter function to get active source set once the ekf3 filter is started 2022-08-18 02:05:27 -04:00
nrt 5decc08dd4 AP_NavEKF: added a getter function for active source set 2022-08-18 02:05:27 -04:00
nrt 0c65cd1b47 AP_NavEKF3: added a getter function to infer the source index used by ekf3 2022-08-18 02:05:27 -04:00
nrt 2c58206a75 AP_Scripting: added Lua example demonstrating the use of active source set 2022-08-18 02:05:27 -04:00
Peter Barker 35ab667e74 RC_Channel: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Peter Barker cd98fcec87 GCS_MAVLink: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Peter Barker 20f73ad55e AP_Scripting: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Peter Barker e45f938056 AP_OpticalFlow: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Peter Barker c95ff4b82b AP_MSP: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Peter Barker 4139b7a548 AP_AHRS: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Peter Barker 9b1b06fd95 hwdef: remove ICEngine support from many boards
Ran out of room on omnibusf4pro-bdshot.

Removed ICEngine in the same place we were removing OpticalFlow
2022-08-17 17:40:21 +10:00
Peter Barker dc8862822f AP_HAL_ChibiOS: remove unused HAL_RCIN_PULSE_PPM_ONLY define 2022-08-17 17:39:15 +10:00
Peter Barker b76e2316bb AP_HAL: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Peter Barker 4ca0f35943 AP_HAL_ChibiOS: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Peter Barker 680d158f59 AP_Filesystem: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Iampete1 259e70b2b1 AC_Fence: add options param on plane 2022-08-17 17:21:30 +10:00
Iampete1 e7cb949f5f AC_Fence: plane needs larger circle backup distance 2022-08-17 17:21:30 +10:00
Iampete1 df6a5f0e0d AP_Scripting: reuse uint32 dev operation for idiv 2022-08-17 17:18:26 +10:00
Iampete1 2c8a11885f AP_Scripting: Boxed numerics and maunal bindings use generated arg checker 2022-08-17 17:18:26 +10:00
Randy Mackay 63db93c6d7 AP_Proximity: minor format fix 2022-08-17 10:46:57 +09:00
Randy Mackay 1dd2fb695c AP_Proximity: minor format fix 2022-08-17 10:46:56 +09:00
murata f3da373beb SRV_Channel: Change the minimum value of minimum PWM for servo output 2022-08-17 09:58:52 +10:00
Henry Wurzburg db496cf256 AP_Airspeed: correct metadata in libraries failing checks on emitter 2022-08-16 11:50:11 +10:00
Henry Wurzburg eb3f80da7c AP_ADSB: correct metadata in libraries failing checks on emitter 2022-08-16 11:50:11 +10:00
Henry Wurzburg ec95f10b81 AC_WPNav: correct metadata in libraries failing checks on emitter 2022-08-16 11:50:11 +10:00
Henry Wurzburg 33ececf782 AC_AttitudeControl: correct metadata in libraries failing checks on emitter 2022-08-16 11:50:11 +10:00
Randy Mackay 1a54236862 GCS_MAVLink: forward mav-cmd-do-gimbal-manager-pitchyaw to AP_Mount 2022-08-15 20:29:25 -04:00
Randy Mackay c8996c04e1 GCS_MAVLink: replace send-mount-status with send-gimbal-device-attitude-status 2022-08-15 20:29:25 -04:00
Randy Mackay b4979e2cfa AP_Mount: replace send-mount-status with send-gimbal-device-attitude-status 2022-08-15 20:29:25 -04:00
Peter Barker e948f79db8 AP_Vehicle: move call to compass cal update up to AP_Vehicle 2022-08-16 10:06:44 +10:00
Michael du Breuil f5ca2c9e7a AP_Mission: Support storing VTOL_LAND options 2022-08-15 17:05:00 -07:00
Peter Barker 6fc7209c69 AP_OSD: add required include
Was getting APM_BUILD_COPTER_OR_HELI  transitively
2022-08-16 09:45:51 +10:00
Peter Barker a4186f6884 AP_Arming: remove intermediate method check_severity
this was using an undeclared dependency on GCS_MAVLINK.h
2022-08-16 09:45:51 +10:00
Peter Barker 1b13dd053b AP_NavEKF3: use send_mesage for sending status report 2022-08-16 09:45:51 +10:00
Peter Barker 35c2653a87 GCS_MAVLink: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Peter Barker 0443c8561b AP_NavEKF3: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Peter Barker c46a50f428 AP_NavEKF2: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Peter Barker 74e651e5d7 AP_ExternalAHRS: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Peter Barker a840af1ff5 AP_Airspeed: stop using GCS_MAVLINK.h in header files 2022-08-16 09:45:51 +10:00
Peter Barker cfb391dc2c AP_AHRS: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Peter Barker 59c6207a47 AP_HAL_ChibiOS: enable hardware debugging pins in SimOnHardware parameters 2022-08-16 09:39:03 +10:00
Peter Barker be0ce8c90a hwdef: make NucleoH743 SimOnHW by default
A user doesn't necessarily want to attach an IMU/baro to use their nucleo
2022-08-16 09:39:03 +10:00
Peter Barker 441d83f05e hwdef: split SimOnHW.inc from CubeOrange-SimOnHW config
makes this easier to reuse on other boards
2022-08-16 09:39:03 +10:00
TunaLobster 01035b81b3 AP_HAL_ChibiOS: Add macros for Fuel options
Adds macros for FuelFlow, FuelLevel_PWM, and FuelLevel_Analog. The features are enabled on all 2MB boards.
2022-08-16 09:36:31 +10:00
TunaLobster aa2c6b8d17 AP_BattMonitor: Add macros for Fuel options
Adds macros for FuelFlow, FuelLevel_PWM, and FuelLevel_Analog. The features are enabled on all 2MB boards.
2022-08-16 09:36:31 +10:00
TunaLobster 6733f75542 AP_BattMonitor: Add Fuel Level Analog driver 2022-08-16 09:36:31 +10:00
Peter Barker ecde9f8c3f AP_HAL_ChibiOS: make HAL_FLASH_PROTECTION a boolean, stop checking for definition 2022-08-16 08:10:16 +10:00
Andrew Tridgell b6186db24e AP_OpenDroneID: report if we lose operator location 2022-08-15 12:45:06 +10:00
Andrew Tridgell a9d97d90c4 hwdef: removed APP_DESCRIPTOR settings
not needed
2022-08-15 09:18:34 +10:00
Andrew Tridgell 8b9570975b hwdef: added AP_OPENDRONEID_ENABLED to hwdef-bl.dat 2022-08-15 09:18:34 +10:00
Andrew Tridgell a8ab7c3865 HAL_ChibiOS: auto-define AP_CHECK_FIRMWARE_ENABLED for AP_Periph 2022-08-15 09:18:34 +10:00
Andrew Tridgell f7e4b5c72d AP_Vehicle: use AP_CheckFirmware 2022-08-15 09:18:34 +10:00
Andrew Tridgell aeb6d2ab89 AP_CheckFirmware: added library for checking firmware ID and CRC 2022-08-15 09:18:34 +10:00
Andrew Tridgell 68f05c7386 AP_OpenDroneID: added AP_OpenDroneID_config.h 2022-08-15 09:18:34 +10:00
Andrew Tridgell 673fed92c7 AP_OpenDroneID: fixed checking of payload space
this fixes DroneCAN operation without a mavlink channel set
2022-08-15 08:54:48 +10:00
Peter Barker d092e767ea AP_Common: correct gtests
AFAIK it's invalid to new a zero-length array.
2022-08-15 07:39:39 +10:00
Andrew Tridgell 2a95ced697 GCS_MAVLINK: pass OPEN_DRONE_ID_SYSTEM_UPDATE to library 2022-08-14 22:02:43 +10:00
Andrew Tridgell b52c280704 AP_OpenDroneID: check available tx space and fixed message rates
ensure we don't lose messages due to lack of serial TX space, and
fixed update rate of LOCATION and SYSTEM_UPDATE msgs
2022-08-14 22:02:43 +10:00
Andrew Tridgell 0fc6c813a1 AP_OpenDroneID: implement OPEN_DRONE_ID_SYSTEM_UPDATE
this is a bandwidth efficient way to update the OPEN_DRONE_ID_SYSTEM message data when there is limited uplink bandwidth. Testing on real vehicles shows that with RFD900x radios at an air data rate of 125kbit/s with OPEN_DRONE_ID messages with 1Hz update (as required by FAA RemoteID standard) that there is significant impact on the ability of the GCS to give commands to the flight controller. For example, I got a high degree of packet loss in downloading parameter pre-flight, and many/most in-flight commands failed from the GCS.
By using this message we can use the minimum required bandwidth for updating operator location while remaining FAA RemoteID standard compliant
2022-08-14 22:02:43 +10:00
Peter Barker 26d3ffc27d GCS_MAVLink: correct INS_generic example
segfaults due to lack of singletoin objects in examples
2022-08-13 20:53:29 +10:00
Peter Barker a4773413e4 AP_InertialSensor: correct INS_generic example
segfaults due to lack of singletoin objects in examples
2022-08-13 20:53:29 +10:00
Andy Piper 3521090dd5 AP_HAL_ChibiOS: correct HAL_SPI_CHECK_CLOCK_FREQ build error 2022-08-12 20:53:36 +10:00
Andy Piper a6312ac893 AP_InertialSensor: correctly detect bad frames on regular ICM42xxx 2022-08-12 20:53:36 +10:00
Andy Piper 2b7bb84838 AP_HAL_ChibiOS: increase ICM42xxx SPI clock to 16Mhz on MatekH743 2022-08-12 20:53:36 +10:00
Andy Piper 221ab9752e AP_InertialSensor: synchronise fifo reads on the ICM42xxx 2022-08-12 20:53:36 +10:00
Peter Barker 48fd37cd25 AP_DroneID: add missing element to constructor 2022-08-11 21:06:04 +01:00
Peter Barker 67a87800f9 AP_OpenDroneID: correct compilation under gcc 7.5.0 2022-08-11 13:31:59 +10:00
Peter Barker f345c16fda AP_Math: add dignostic message for SCurve internal error 2022-08-10 22:18:42 +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 fce49232b2 hwdef: disable power reset on peripheral line 2022-08-10 17:06:29 +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
Andrew Tridgell 23744819dc hwdef: added two OpenDroneID enabled builds 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
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 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 3bcd4fa22a AP_Arming: make terrain checks common between Copter and Plane 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
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
Leonard Hall 1e3e5e5577 AP_Math: Control: Add velocity limits to shaping functions 2022-08-08 20:54:37 -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
Joshua Henderson e338e4cdb6 AP_TECS: use TECS log bitmask in constructor 2022-08-09 09:44:50 +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
Shiv Tyagi 5167cd1e48 SITL: set z component of precland device pos separately
The position vector passed to update method is relative to home and the precland device origin height is also relative to home. Hence, we
can set the height of precland origin separately in a 3d vec containing its position relative to home
2022-08-05 10:17:19 +10:00
Henry Wurzburg 50591d1adf AP_Landing: change logging to be designated as streaming 2022-08-05 10:16:18 +10:00
Iampete1 4e4bfda05d AP_InertialSensor: vector params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 b025a6d41d AP_Follow: vector params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 90780e52b3 AP_Param: remove AP_ParamV `=` operator 2022-08-03 13:43:48 +01:00
Iampete1 1a3391ebef AP_OpticalFlow: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 b3f09e5573 SITL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 d62508b273 AP_Math: tests: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 79b44b2517 SITL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 8618b085be PID: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 338779d27d Filter: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 67fd8a1e49 AR_Motors: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 5893df9d9e AP_WindVane: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 0ef78c2f8b AP_VideoTX: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 d03f917ef4 AP_Terrain: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 0cb825e64d AP_SmartRTL: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 a0fc8cc46a AP_Scheduler: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 63e58e4fa1 AP_PiccoloCAN: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 59d75813cc AP_Param: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 2241766ed6 AP_Parachute: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 28007bfc1e AP_OSD: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 47105f0b03 AP_Mount: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 c1a9f75034 AP_Motors: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 8352a7b2b3 AP_Logger: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 ea03ea320c AP_InertialSensor: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 3878e64f97 AP_GyroFFT: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 51540359e6 AP_GPS: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 0d32e6cbf3 AP_Follow: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 df470f6a34 AP_Compass: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 f3b2de9c15 AP_Camera: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 7a5ff6b51f AP_BoardConfig: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 cacbd2579d AP_Beacon: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 6e6fcf4880 AP_BattMonitor: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 4fa0bcaa91 AP_Baro: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 2f7f187e18 AP_Avoidance: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 d423f483a6 AP_AHRS: params always use set method 2022-08-03 13:43:48 +01:00
Iampete1 cb6e6c82e5 AP_ADSB: params always use set method 2022-08-03 13:43:48 +01:00