Commit Graph

37788 Commits

Author SHA1 Message Date
Peter Barker
6efe210549 AP_Proximity: add sample data from LD06 sensor 2025-01-09 15:39:34 +11:00
Peter Barker
67bbe83167 SITL: add LD06 simulator 2025-01-09 15:39:34 +11:00
Peter Barker
c1ce04a0ce AP_HAL_SITL: add LD06 simulator 2025-01-09 15:39:34 +11:00
Peter Barker
3e2428334b AP_Proximity: correct length sanity check
the length field is actually the count of 3-byte data elements
2025-01-09 15:39:34 +11:00
Marco Walther
adf05ea0e6 AP_Proximity: LD06: correct data collection
incorrect distances+angles being returned
2025-01-09 15:39:34 +11:00
Peter Barker
c57672a529 hwdef: remove AP_SERVO_TELEM_ENABLED on minimized boards 2025-01-08 18:37:58 +00:00
Ryan Friedman
20c77ae762 AP_GSOF: refactor GSOF to expect packets by ID
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-08 08:52:21 +11:00
Ryan Friedman
da1cc33018 AP_GPS: refactor GSOF to expect packets by ID
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-08 08:52:21 +11:00
Ryan Friedman
a5ed6ee6d4 AP_Common: Add cont array constructor to AP_Bitmask
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-08 08:52:21 +11:00
Peter Barker
f236a6c6fc AP_Math: tests: we no longer expect an exception when limiting corner case 2025-01-07 16:08:03 +11:00
Peter Barker
9dc992619b AP_Math: prevent FPE in SITL when limiting accel vectors
The cross-product code can produce something slightly negative. Fix
safe_sqrt to avoid barfing on that, as was originally intended, and
clarify why it's being used.

Co-authored-by: Leonard Hall <leonardthall@gmail.com>
Co-authored-by: Thomas Watson <twatson52@icloud.com>
2025-01-07 16:08:03 +11:00
Peter Barker
a968ce8d33 AP_Math: add test for FPE in control code 2025-01-07 16:08:03 +11:00
Peter Barker
1f8067d8a3 hwdef: default HAL_GCS_ENABLED to false on iomcu firmwares 2025-01-07 13:11:15 +11:00
Peter Barker
f46f3f4bca AP_HAL_ESP32: remove use of HAL_NO_UARTDRIVER
we can emit GCS_SEND_TEXT messages via mechanisms that don't involve the UART, so stop looking at that define when including reporting code
2025-01-07 13:11:15 +11:00
Peter Barker
d834dafdca AP_HAL_ChibiOS: remove use of HAL_NO_UARTDRIVER
we can emit GCS_SEND_TEXT messages via mechanisms that don't involve the UART, so stop looking at that define when including reporting code
2025-01-07 13:11:15 +11:00
Peter Barker
226fc5c53c AP_Networking: correct closing comment on #if 2025-01-07 12:39:42 +11:00
Peter Barker
5e6cbc0c63 AP_CANMananger: fix awful defaulting of AP_CAN_LOGGING_ENABLED 2025-01-07 12:39:42 +11:00
Peter Barker
c0618e7a0a hwdef: remove bad flashing-last-sector comment
the original file these were copied from has a lower limit, so deserves this comment.  These hwdefs are making the entire space available, so remove this comment.
2025-01-07 12:24:13 +11:00
Andy Piper
2b46f5a20b AP_HAL: allow individual boards to define HAL_INS_RATE_LOOP
allow fast rate loop on F4 with one IMU
2025-01-07 12:23:13 +11:00
Andrew Tridgell
bb96db5466 SITL: support up to 32 rotors in a frame 2025-01-07 09:32:33 +11:00
Bill Geyer
592031cc5f AC_AutoTune_Heli: fix rate and accel limiting 2025-01-06 16:23:37 -05:00
Peter Barker
e7655f344d AP_BattMonitor: document BATTn_OPTIONS bit 8 (internal-use-only) 2025-01-06 22:12:53 +11:00
Rhys Mainwaring
44fdd0b4ab AP_HAL_ESP32: check UART thread ownership
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2025-01-05 16:28:35 -06:00
Rhys Mainwaring
4abee61b1a AP_DDS: configuration fixes
- Resolve variable may be uninitialised error when compiling for ESP32.
- Exclude definition of clock_gettime for HAL_BOARD_ESP32
- Use #if not #ifdef for AP_DDS_GOAL_PUB_ENABLED
- Format #endif AP_DDS_GOAL_PUB_ENABLED
- Use #if not #ifdef for AP_DDS_STATUS_PUB_ENABLED
- Enclose rx_dynamic_transforms_topic declaration in #if ... #endif
- Enclose quaternion initializer in #if ... #endif
- AP_DDS_GOAL_PUB_ENABLED must also have AP_SCRIPTING_ENABLED

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>

AP_DDS: configuration fixes

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2025-01-05 16:07:18 -06:00
Rhys Mainwaring
8d4d575be9 AP_HAL_ESP32: ensure task is deleted if member proc returns
- FreeRTOS task functions must not return or exit.
- vTaskDelete(NULL) deletes the calling task.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2025-01-05 15:16:28 -06:00
Ryan Friedman
87b0de79df AP_Airspeed: Fix spelling in GCS message
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-05 17:43:49 +00:00
Iampete1
50c45cff75 AP_Scripting: applets: fix luacheck issues in sport aerobattics and script controller 2025-01-05 14:17:10 +00:00
Peter Barker
044b4bbcfe AP_HAL_SITL: tidy creation of simulated serial rangefinders 2025-01-05 13:37:48 +11:00
Peter Barker
27662bd106 SITL: tidy creation of simulated rangefinders 2025-01-05 13:37:48 +11:00
Peter Barker
98a06c566b AP_HAL_SITL: create structures to hold serial rangefinder init info 2025-01-05 13:37:48 +11:00
Thomas Watson
f630357dc7 AP_HAL: clarify semaphore recursion
We haven't had non-recursive semaphores since PR #13323
(commits 1284f1bd8a).
2025-01-05 13:35:13 +11:00
Iampete1
78d9e5a875 AP_Filesystem: Don't try and rename between backends 2025-01-05 13:33:42 +11:00
Randy Mackay
c7228419ef AP_Mount: Topotek pitch rate direction fix 2025-01-05 10:51:44 +11:00
Thomas Watson
01964d8cc0 AP_Scripting: demystify require test
Explain more thoroughly how the test works using lessons learned from
studying the compiled bytecode and function data.

Tested that it still fails after reverting the patches in PR #27652.
2025-01-05 10:36:10 +11:00
Thomas Watson
716a9dc433 AP_HAL_ESP32: ensure malloc is wrapped to zero memory
The relevant linker flag needed to be put in the CMake script.
2025-01-05 10:27:32 +11:00
Rhys Mainwaring
b0ebbd7823 AP_MultiHeap: initialize only if heap allocation succeeded
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2025-01-05 10:27:32 +11:00
Ryan Friedman
5f8a655f35 AP_Soaring: Move define to config file
* Prepare for more compile time features in soaring

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-04 08:43:52 +11:00
Minderring
9e035518c7 AP_HAL_ChibiOS: add hwdef MicoAir743v2
Update README.md: add bluetooth introduction to features

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: fix description about SERIAL8

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: fix description about RC

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: add description about "LED" pin

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: fix description about Loading Firmware

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: fix description about update firmware

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

remove defaults.parm and defined default params in hwdef file

Update README.md: fix description about osd

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

remove parameter define about serial4

Update README.md: add a section about BlueTooth
2025-01-03 14:24:47 +11:00
Peter Barker
244e66ad39 AP_RangeFinder: add sample data for Ainstein LR-D1 2025-01-03 14:19:55 +11:00
Peter Barker
c12a014515 GCS_MAVLink: remove MOUNT_CONFIGURE and MOUNT_CONTROL support 2025-01-03 14:18:25 +11:00
Peter Barker
786df975f0 AP_Mount: remove MOUNT_CONFIGURE and MOUNT_CONTROL support 2025-01-03 14:18:25 +11:00
muramura
8dc7fdb771 AP_VideoTX: Change division to multiplication 2025-01-02 23:22:42 +11:00
muramura
2cfa6afd87 AP_Vehicle: Change division to multiplication 2025-01-02 23:22:42 +11:00
muramura
b85ecb9526 AP_RangeFinder: Change division to multiplication 2025-01-02 23:22:42 +11:00
muramura
5b56d9104d AP_IOMCU: Change division to multiplication 2025-01-02 23:22:42 +11:00
muramura
4a9ddef8ee AP_HAL_ChibiOS: Change division to multiplication 2025-01-02 23:22:42 +11:00
muramura
049f989037 AP_EFI: Change division to multiplication 2025-01-02 23:22:42 +11:00
muramura
ee1cb4d35b AP_Devo_Telem: Change division to multiplication 2025-01-02 23:22:42 +11:00
Minderring
97b58506fd AP_HAL_ChibiOS: support for MicoAir743-AIO
Update README.md: uses internal esc

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: introduction about RC input

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

Update README.md: introduction about PWM groups

Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

remove defaults.parm and defined default params in hwdef file
2025-01-02 11:37:19 +00:00
Henry Wurzburg
f3c837ed80 AP_Mount: add CADDX gimbal support
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2025-01-02 22:18:19 +11:00
Peter Barker
e1fd90bc6c AP_DroneCAN: correct narrowing-conversion errors 2025-01-01 16:24:05 -06:00
rishabsingh3003
d6e0411e0d hwdef: Add GPS moving baseline 2025-01-02 09:04:01 +11:00
Iampete1
efb5800d07 RC_Channel: re-instate init_aux_function call. 2025-01-02 08:25:34 +11:00
Peter Barker
6d7fccecf0 AP_DroneCAN: correct compilation when AP_DRONECAN_VOLZ_FEEDBACK_ENABLED enabled 2024-12-31 12:45:41 +11:00
Peter Barker
942039d18b AP_DroneCAN: correct enable/disable of AP_DRONECAN_VOLZ_FEEDBACK_ENABLED
recent servo-feedback library didn't record appropriate dependencies in build_options.py
2024-12-31 12:45:41 +11:00
Thomas Watson
9d7024f89e AP_HAL_ChibiOS: Storage: fix up delay comment
EXPECT_DELAY_MS was used in direct contravention of the comment so it
must be okay. Even when it wasn't and the comment was accurate,
expecting a delay off the main thread never worked properly anyway.
2024-12-31 11:31:53 +11:00
Thomas Watson
d758bad64d Revert "HAL_ChibiOS: expect a long delay on flash page erase"
This reverts commit 8dabd6cefc.

Setting up expected delays from a non-main thread never worked properly
due to the redundant main thread check, and isn't used today.
2024-12-31 11:31:53 +11:00
Thomas Watson
c57ac3b916 AP_Filesystem: FATFS: remove redundant delay expectations
The delays will be canceled on return by the EXPECT_DELAY_MS(3000)
destructor at the start of the function. The current behavior will
unexpectedly cancel delays from higher levels up the stack and is likely
not what was intended.
2024-12-31 11:20:21 +11:00
Peter Barker
d230e9c552 AP_AHRS: remove not-needed virtual methods from backends
we will add them to the data structure rather than having callbacks
2024-12-31 11:12:12 +11:00
Peter Barker
5a62983fba AP_AHRS: remove unused airspeed_vector_true method from backend iface 2024-12-31 11:12:12 +11:00
Peter Barker
2ac92d934f AP_AHRS: remove unused have_inertial_nav method 2024-12-31 11:12:12 +11:00
Peter Barker
25b19f0a08 AP_AHRS: Backend: remove unused methods 2024-12-31 11:12:12 +11:00
Peter Barker
a794688f3b AP_NavEKF3: move definition of MAX_EKF_CORES
if you're not including the AP_NavEKF3 header then you don't get this definition and then you won't be able to compile the DAL.
2024-12-31 10:55:51 +11:00
Andy Piper
e5656f0cc4 AP_HAL_ChibiOS: add CBUnmanned CBU-H7-LC-Stamp 2024-12-31 09:31:33 +11:00
santhoshini
4e92fc91ec AP_HAL_ChibiOS: add board support for CrazyF405 2024-12-31 09:25:10 +11:00
mateksys
f3fc148e2a AP_HAL_ChibiOS: add MatekG474-GPS hwdef 2024-12-31 09:22:59 +11:00
Henry Wurzburg
a7f7b37c80 AP_Landing: add AutoLand fixed-wing mode 2024-12-31 09:18:49 +11:00
Henry Wurzburg
b684d4cc81 AP_Vehicle: add AutoLand fixed-wing mode 2024-12-31 09:18:49 +11:00
Peter Barker
88754798eb AP_AHRS: remove stale comment
not associated with relevant state; the relevant state names make things clearer than this comment does
2024-12-29 20:54:28 +11:00
Thomas Watson
f62f1cdeab AP_HAL_ESP32: RCOutput: add support for brushed PWM mode
Also adds some infrastructure for changing PWM group mode, though this
is likely the complete set that can be supported with the ESP32 PWM
peripheral.
2024-12-27 16:20:26 +00:00
Thomas Watson
881c5fbd78 AP_HAL_ESP32: RCOutput: rework to properly support output groups
Each of the six available timers now handles two consecutive PWM output
channels. This also implements support for changing the group PWM
frequency in a similar manner to the ChibiOS HAL.
2024-12-27 16:20:26 +00:00
Thomas Watson
b2df646b86 AP_HAL_ESP32: RCOutput: appropriately assert PWM array size
Avoid over-running the pending PWM and safe value PWM arrays in case
future chip revisions come out with more channels.
2024-12-27 16:20:26 +00:00
Thomas Watson
f6e01dbee9 AP_HAL_ESP32: RCOutput: fix channel enable/disable
Enabling/disabling the timer would apply the setting to whole groups of
channels. Fix to poke the comparator so that the setting only applies to
the particular channel.

Conveniently, though not necessarily intentionally, this avoids
truncating the output pulse and causing unexpected reactions from
servos. This also preserves the old behavior.
2024-12-27 16:20:26 +00:00
Peter Barker
dd1b843da4 AP_Logger: add metadata giving enum for RFND.Orient
2024-12-18 02:20:27.446: RFND
    TimeUS: 3111687840 µs
    Instance: 0 instance
    Dist: 0.23 m
    Stat: 4 (Good)
    Orient: 25 (ROTATION_PITCH_270)

(allows ROTATION_PITCH_270 to be filled in)
2024-12-27 16:06:30 +11:00
Thomas Watson
75da82605e AP_HAL_ESP32: set up EKF double like other boards
It's still not enabled.
2024-12-26 19:59:15 -06:00
Patrick José Pereira
c29815644f libraries: AP_HAL_ESP32: README: Add info about ESPPORT
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-12-27 09:12:12 +11:00
Iampete1
0dbbb87ce2 AP_Scripting: fix remaining luacheck issues 2024-12-24 14:48:58 -06:00
Eric Katzfey
5a8bc16170 AP_HAL_QURT: Added support for PWM channels 4 to 8 when using the IO board 2024-12-24 12:32:04 +11:00
Peter Barker
c438d8a28d AP_HAL: correct comments for ArduPlane.cpp rename 2024-12-24 12:26:42 +11:00
Iampete1
2851aaf76a RC_Channel: use @LoggerEnum to give name for three level source enum 2024-12-24 11:34:07 +11:00
Iampete1
7fd3106871 GCS_MAVLink: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
754fc867c2 AP_Scripting: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
440d49c7f3 AP_Mission: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
81c5697948 AP_Button: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
9ebb87816a RC_Channel: add source index to aux function trigger 2024-12-24 11:34:07 +11:00
Iampete1
f5dee94a5d AP_ICEngine: reinstate STARTCHN_MIN looking up PWM using source index 2024-12-24 11:34:07 +11:00
Iampete1
be86284f18 RC_Channel: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
a5741a53cb GCS_MAVLink: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
473c39a9e9 AP_Scripting: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
921b91930a AP_Mission: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
0732bf8c5f AP_Button: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
9185430797 AP_ICEngine: fully move to aux function removing dedicated min PWM and high low thresholds 2024-12-24 11:34:07 +11:00
Iampete1
6b0d59340e AP_Scripting: Examples: Flip_Mode: combine allow entry methods 2024-12-24 11:05:56 +11:00
Peter Barker
4a52e86131 AP_RangeFinder: tidy defines around bebop rangefinder inclusion 2024-12-23 18:03:55 -06:00
Michael du Breuil
5b961891ee AP_BattMonitor: Handle allocating too many analog channels
If you over allocate the number of analog channels this results in a
crash. It's easy to trigger this if you have voltage only monitors as we
still eat up a current input channel, regarless of if we use it. There
are only 16 channels at this time on ChibiOS, so if you have 9 voltage
only battery monitors you are out.

This PR improves that situation by only allocating channels when needed,
and in the case where we run out we now set a ConfigError, which on a
flight controller is much more friendly then a instant segfault the
moment we read a battery monitor. NOTE: on AP_Periph this takes the
node off the bus, rather then just sitting in the bootloader. This was
consideted acceptable as the current behaviour was to segfault and then
sit in the bootloader, unless you made new firmware that limited the
number of channels allocated it wasn't possible to recover in this
situation anyways.
2024-12-24 09:01:28 +09:00
Thomas Watson
54e3d74b51 AP_HAL_ESP32: drop spurious HAL_PARAM_DEFAULTS_PATH definition
It's already conditionally defined to nullptr in the top-level AP_HAL.
2024-12-24 10:50:21 +11:00
Thomas Watson
5de8da421d AP_HAL_ESP32: drop never-used defaults.parm 2024-12-24 10:50:21 +11:00
Peter Barker
6e62ff7ed2 hwdef: reduce number of RCOU channels skyviper has 2024-12-24 08:07:10 +09:00
Peter Barker
23872df5cd hwdef: remove ADSB entirely from SkyViper
drivers were still around
2024-12-24 08:07:10 +09:00
Peter Barker
cd95acbb6a hwdef: remove payload place from SkyViper-v2450 2024-12-24 08:07:10 +09:00