Commit Graph

37227 Commits

Author SHA1 Message Date
Peter Barker 423daaa71f GCS_MAVLink: split sending terrain report from terrain request 2024-10-01 10:13:06 +10:00
Peter Barker a401c98c74 AP_Terrain: split sending terrain report from terrain request 2024-10-01 10:13:06 +10:00
Bob Long 11014cae06 AP_BattMonitor: add option minimum volt option 2024-10-01 10:05:01 +10:00
Andrew Tridgell 52169f25da HAL_ChibiOS: replace volatile bools with mutexes
this replaces the two booleans used to mediate TX and RX buffer
protection with mutexes.

The booleans were a hangover from the very early HAL_ChibiOS code, and
can lead to a deadlock. The sequence is as follows:

 - a very high CAN bus bandwidth usage, triggered by MissionPlanner
   requesting CAN_FORWARD on a CAN serial port. That causes a
   "infinite" number of CAN_FRAME messages which saturates the bus,
   and leads to the DroneCAN thread looping with no pause

 - a serial port configured as GPS type AUTO, auto-probing for a GPS
   that isn't there. This calls begin() periodically

 - the UART TX thread assocated with that UART not making progress as
   the TX thread priority is below the DroneCAN thread priority

 - this causes the begin() in main thread waiting for _in_tx_timer to
   loop forever, which triggers a watchdog
2024-10-01 09:54:26 +10:00
Peter Barker 0cd6e330a5 AP_BattMonitor: add more-specific prearm failure when SUM backend not available 2024-10-01 09:48:13 +10:00
Peter Barker 721a9b846e AP_BattMonitor: print unhealthy message if battery backend not as expected
a backend which fails to allocate, or where the user has changed the backend type without rebooting will cause an "unhealthy" message to be emitted
2024-10-01 09:48:13 +10:00
Henry Wurzburg 4b5f490e9f Tools:remove BATTRY_SUM from <1K builds 2024-10-01 09:48:13 +10:00
tompsontan 84fbaa3abc AP_HAL_ChibiOS: add board X-MAV-AP-H743v2
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2024-10-01 09:39:55 +10:00
Thomas Watson 8e5ee61b02 AP_NavEKF3: derivation: don't generate unused equations
The code is left in for the future when they might be used.
2024-10-01 09:28:54 +10:00
Thomas Watson f9fa2565c4 AP_NavEKF3: document provenance of tilt error variance equations
This is also from the older version of the generator.

Note that as documented, some of the equations have been removed and
rearranged slightly as it is assumed their terms are zero. Additionally,
the result is taken as the sum of the diagonal entries of the matrix.
2024-10-01 09:28:54 +10:00
Thomas Watson 34fba4dfd7 AP_NavEKF3: document provenance of drag force fusion equations
It's from the older version of the generator as well.

Update variable names in the real code to be the same as the generated
code. Skip generation of the unused alternate form of the equations.

Delete `acc_bf_generated.cpp` as we know exactly how to generate it now.
2024-10-01 09:28:54 +10:00
Thomas Watson ef1c31bd50 AP_NavEKF3: document provenance of yaw fusion equations
Requires digging up old versions of the generator script.

The equations have been rearranged somewhat after generation to choose
the appropriate method but they do match overall. The auto-substitution
of the power functions caused slight changes to the generated syntax so
we make those to the real code as well.

Delete `yaw_generated.cpp` as we know exactly how to generate it now.
2024-10-01 09:28:54 +10:00
Thomas Watson ad5da01077 AP_NavEKF3: document provenance of covariance matrix equations
Validated that the generated code matches exactly the code in AP_NavEKF3
(except for the early exits).

Delete `covariance_generated.cpp` as we know exactly how to generate it
now (and it was out of date anyway).
2024-10-01 09:28:54 +10:00
Thomas Watson 4184980537 AP_NavEKF3: derivation: pin generator library versions
Document exactly which versions were used when generating the code.
Sympy is the most important so it is explicitly checked.

Also add an alternate generate script which uses `nix-shell` to make it
convenient to automatically use these versions.
2024-10-01 09:28:54 +10:00
Thomas Watson 57082257fd AP_NavEKF3: derivation: make generation slightly easier
Add a shell script to run the generate_1.py file. Foresight tells us
that we will need multiple such files.

Also ignore the generated code files as they are already out of date and
we are aiming to document provenance and make them unnecessary anyway.
2024-10-01 09:28:54 +10:00
Thomas Watson c880bf57cd AP_NavEKF3: derivation: auto-substitute optimized power functions
Avoids the need to manually insert them after generation.
2024-10-01 09:28:54 +10:00
ARg 1ef0f1a63f AP_HAL_ESP32: Migration of ESP32 targets from idf 4.4 to 5.3 consisting of:
- modification of CMakeLists to use new component names of idf 5.3;
- removing big sdkconfig, which changes a lot, when upgrading idf and to use sdkconfig.defaults, which contain only non default defines;
- Updated idf installation packages list, according to espressif documentation;
- Updated README.md to reflect changes in sdkconfig handling;
- Fixed WDT in Scheduler, it was broken with idf 5.3;
- fixed compilation issues with GCC 13 (which is used by idf 5.3);
- fixed bug in case when HAL_ESP32_WIFI defined as 0 (disable wifi)
- Added ESP32 targets sdkconfig (auto generated) to .gitignore
2024-10-01 09:25:35 +10:00
Peter Barker b234729398 AP_HAL_ChibiOS: CubeRedPrimary: probe external compasses 2024-10-01 09:22:42 +10:00
Nick Exton 2989d623bd AP_Scripting: Add binding for AP_Camera::set_stream_information() 2024-10-01 08:18:54 +09:00
Nick Exton cb620126b3 AP_Camera: Add capability to set VIDEO_STREAM_INFORMATION from Lua 2024-10-01 08:18:54 +09:00
Nick Exton 919a711f17 AP_HAL_ChibiOS: Disable VIDEO_STREAM_INFORMATION in minimize_common.inc 2024-10-01 08:18:54 +09:00
Nick Exton 67642867e3 GCS_MAVLink: Add handler for VIDEO_STREAM_INFORMATION request 2024-10-01 08:18:54 +09:00
Nick Exton e6ac9c3108 AP_Scripting: Add binding for AP_Camera::set_camera_information() 2024-10-01 08:18:54 +09:00
Nick Exton fed948c98d AP_HAL_ChibiOS: Disable CAMERA_INFO_FROM_SCRIPT in minimize_common.inc 2024-10-01 08:18:54 +09:00
Nick Exton 30a212b4cf AP_Camera: Add capability to set CAMERA_INFORMATION from Lua 2024-10-01 08:18:54 +09:00
Andrew Tridgell cb924d1363 AP_L1_Control: make reached_loiter_target() more reliable
if our target loiter radius is unachievable then we can reach the
loiter target on initial capture but be unable to maintain it. This
ensures that once we capture we return true on reached_loiter_target()

This is critical for any mission type where we take an action on
reached_loiter_target() and another condition (such as being lined up
for a waypoint). Otherwise we may continue loitering forever
2024-10-01 07:15:44 +10:00
Tdogb f282c8db65 hwdef: add DPS280 to baros present on FlyWooF745 2024-09-30 19:58:04 +10:00
Andrew Tridgell 1e310ac86f AP_AHRS: add option to disable the EKF check for airspeed
for some flight profiles (such as glider pullup) the EKF airpeed
consistency check may be triggered, leading to a valid airspeed being
ignored, which can lead TECS to be in non-airspeed mode
2024-09-29 11:06:05 +10:00
juvinski 413452aa1a AP_Baro: fix example: fixing missing objects
This fix  a crash running on beaglebone boards reported
       https://github.com/ArduPilot/ardupilot/issues/21321
2024-09-29 09:40:37 +10:00
muramura 8de103d6ee AP_RangeFinder: Move the flag setting location of has_data 2024-09-29 09:40:20 +10:00
muramura 637aec0085 SITL: Change division to multiplication 2024-09-28 11:01:41 +10:00
murata 946e148688 AP_Arming: mark ARMING_RUDDER as Plane,Rover,Copter and Blimp only 2024-09-27 21:51:06 +10:00
muramura 13a5dc8f71 AP_Arming: Set the message buffer size to twice the message size 2024-09-27 21:33:56 +10:00
muramura 0cb49559e1 AP_Mission: Change the IF statement to a SWITCH statement 2024-09-27 21:30:43 +10:00
Bob Long e57994f28f AP_ICEngine: fix send_text severities 2024-09-27 16:12:28 +10:00
Loki077 772cd1dae7 AP_ICEngine: add max retrial of cranking
Added Param MAX_RETRY which If set 0 or less, then there is no limit to retrials. If set to a value greater than 0 then the engine will retry starting the engine this many times before giving up.
2024-09-27 16:12:28 +10:00
Nick Exton eb4224b818 AP_RobotisServo: Send register write values as little-endian 2024-09-27 11:53:06 +10:00
Andrew Tridgell 9dc7dc32c8 AP_DroneCAN: prevent saturation of CPU with DroneCAN thread 2024-09-27 11:06:20 +10:00
Andrew Tridgell 070363e453 HAL_ChibiOS: limit RX timeout to 100ms
this prevents a very long timeout in begin(), replacement with a mutex
will happen in a separate PR
2024-09-27 11:06:20 +10:00
Peter Barker decf484702 AP_Mount: use NaN in place of 0 for camera information message
Co-authored-by: muramura <ma2maru@gmail.com>
2024-09-26 19:26:59 +10:00
Peter Barker 06b763ca94 AP_Param: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker edc0e46614 AP_Mount: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker 7710e3c9bc AP_Math: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker 54247833c0 AP_Logger: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker 08b4cc1374 AP_Camera: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Andy Piper eeda86ccb4 AC_AttitudeControl: rate_controller_run_dt() takes dt as last argument 2024-09-26 19:25:33 +10:00
Andy Piper 15de449d12 AC_AttitudeControl: raise a config error if rate_controller_run_dt() is called by accident 2024-09-26 19:25:33 +10:00
Andy Piper 053db86abc AC_AttitudeControl: ensure Write_Rate() can be called from autotune 2024-09-26 19:25:33 +10:00
Andy Piper 02a2c788da AC_AttitudeControl: ensure plane always gets the latest gyro 2024-09-26 19:25:33 +10:00
Andy Piper a647b3914c AC_AttitudeControl: remove unused functions 2024-09-26 19:25:33 +10:00
Andy Piper 70067ea7ae AC_AttitudeControl: Write_Rate() should be thread-safe 2024-09-26 19:25:33 +10:00
Andy Piper 829422ecfb AC_AttitudeControl: add commentary about functions which modify the rate loop target 2024-09-26 19:25:33 +10:00
Andy Piper 6b5da48641 AC_AttitudeControl: provide function to reset target modifiers 2024-09-26 19:25:33 +10:00
Leonard Hall 2cddea8d9f AC_Autotune_Multi: Use rate step command 2024-09-26 19:25:33 +10:00
Leonard Hall ddfccb3098 AC_AttitudeControl: Use rate step command 2024-09-26 19:25:33 +10:00
Andy Piper ff002cba3f AC_AttitudeControl: ensure the rate and attitude controllers can't interfere with the target at the same time 2024-09-26 19:25:33 +10:00
Andy Piper c28e38e9b5 AC_AttitudeControl: pass in gyro sample to rate controller 2024-09-26 19:25:33 +10:00
Andrew Tridgell 88957235d2 Scripting: added Lat,Lon to aerobatics POSM/POST
this makes "map POSM POST" work on aerobatic scripts
2024-09-26 16:44:13 +10:00
Rhys Mainwaring 00163ce988 AP_Camera: add Python examples for GStreamer UDP and RTSP video streams
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-09-26 09:32:27 +09:00
Robert Taylor d82e82635f hwdef: switch CAN port definiton on Nucleo-496 hwdef
The CAN port as it was is a valid CAN port for the nucleo, but on the development board the CAN silkscreen is actually on PD0 and PD1. This change makes it easier to get the example running on the Nucleo
2024-09-26 08:31:50 +10:00
Bob Long 8797a07833 AP_ICEngine: clarify ICE_OPTIONS:2 description 2024-09-25 23:44:52 +10:00
Bob Long 8d9ac6451f AP_ICEngine: don't run engine with safety engaged 2024-09-25 23:44:52 +10:00
Peter Barker 14332fad52 hwdef: -Os on MFT-SEMA-100 to avoid flash overflow 2024-09-25 23:44:05 +10:00
Peter Barker c9de940fc8 hwdef: JHEMCU-GSF405A becomes minimize-fpv-osd 2024-09-25 17:12:44 +10:00
Peter Barker 1e26441ae6 AP_Common: Integrate methods for converting hexadecimal characters to numbers
Co-authored-by: muramura <ma2maru@gmail.com>
2024-09-25 08:48:44 +10:00
muramura e4ca54b2e4 AP_CANManager: Integrate methods for converting hexadecimal characters to numbers 2024-09-25 08:48:44 +10:00
Iampete1 4894675977 AP_Scripting: add binding for vehicle `set_target_rate_and_throttle` 2024-09-25 08:47:30 +10:00
Iampete1 fc327fa370 AP_Vehicle: add support for `set_target_rate_and_throttle` 2024-09-25 08:47:30 +10:00
Peter Barker 8e6a1a2b02 AP_Arming: retrieve RC channels directly from RC_Channels
... instead of retrieving values from rcmap and then getting the channel from RC_Channels
2024-09-25 08:46:55 +10:00
Peter Barker 1871170f98 RC_Channel: add accessor for channel number
some places want to be able to report this to the user
2024-09-25 08:46:55 +10:00
muramura 1f5b88cf3b AP_Motors: Change to pass-through 2024-09-24 22:51:23 +10:00
timtuxworth bbd9148b4b AP_Scripting: example for use Location::AltFrame for guided_state.target_alt_frame 2024-09-24 22:51:02 +10:00
Peter Barker 3d4b57cd4a AP_HAL_QURT: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 27df5e0479 AP_HAL_Linux: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker cc9279713a AP_HAL_ESP32: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker ebe9a75a66 SITL: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 68e003fd74 AP_Baro: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker a40b3879fb AC_CustomControl: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker a0978d9d0a AR_WPNav: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 2447be861e AP_SurfaceDistance: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker bb9a0a5b2f AP_Scripting: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 1ce391c6e8 AP_RCTelemetry: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 87fa7a208d AP_RCProtocol: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 53c50b6bc7 AP_NavEKF3: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 8bd1f49a04 AP_NavEKF2: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 5f5fb40753 AP_Motors: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 7147a2deeb AP_InertialSensor: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 5a967a60ff AP_HAL: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 8b9154d115 AP_HAL_ChibiOS: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 2ddec1f9f4 AP_Frsky_Telem: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 291a1ced88 AP_ExternalAHRS: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 3a9f1c1f37 AP_DroneCAN: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker a29dca996e AP_Compass: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker b54c424842 AP_Camera: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 8290f15f2d AP_AHRS: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker aaec6824f6 AP_ADSB: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 6209f31d30 AC_PID: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 2c150f42bf AC_Avoidance: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker b480416c3d AC_AttitudeControl: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Rhys Mainwaring a75b8a9269 AP_DDS: add params for ping timeout and max retries
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-09-24 22:49:49 +10:00