Commit Graph

66414 Commits

Author SHA1 Message Date
Peter Barker
cdfe93918a Plane: remove dead store of cruise_speed
../../ArduPlane/quadplane.cpp:4260:15: warning: Value stored to 'approach_speed' during its initialization is never read [deadcode.DeadStores]
        float approach_speed = cruise_speed;
              ^~~~~~~~~~~~~~   ~~~~~~~~~~~~
1 warning generated.
2025-02-04 11:34:39 +11:00
Henry Wurzburg
a2ca9be645 Plane:adjust CTUN.Pitch to remove PITCH_TRIM 2025-02-04 11:29:06 +11:00
Shiv Tyagi
505b373f09 gitignore: ignore .python-version file used by pyenv 2025-02-04 11:24:16 +11:00
Peter Barker
5dc7751654 Tools: move REQUIRE_POSITION_FROM_ARMING bit to AP_arming
while Copter is the only user at the moment, will be useful on Rover shortly
2025-02-04 09:02:16 +09:00
Peter Barker
569386cfa5 ArduCopter: move REQUIRE_POSITION_FROM_ARMING bit to AP_arming
while Copter is the only user at the moment, will be useful on Rover shortly
2025-02-04 09:02:16 +09:00
Peter Barker
fe0a0dbf92 AP_Arming: move REQUIRE_POSITION_FROM_ARMING bit to AP_arming
while Copter is the only user at the moment, will be useful on Rover shortly
2025-02-04 09:02:16 +09:00
Bob Long
4eab74fbc5 AP_Vehicle: add comment for ESC Telem update rate 2025-02-04 10:46:34 +11:00
Bob Long
0b7a56e2fd AP_ESC_Telem: fix RPM timeout race
The RPM telemetry data structure can get updated by another thread at
any time. This can cause (now - last_update_us) to be negative, which
looks like the data is nearly UINT32_MAX microseconds stale. To fix
this, we copy the last_update_us value before we get the current time
so it's guaranteed to be positive.

We also minimize the number of places we explicitly check the timestamp
and rely on the `data_valid` where possible to minimize the performance
impact of this change.
2025-02-04 10:46:34 +11:00
Iampete1
31fe3d31f3 Tools: autotest: suite: add check_parameter_value to to check parmamter is withing a given percentage of the expected value 2025-02-04 10:41:56 +11:00
Iampete1
f59f28b03a Tools: autotest: arduplane: check param values after autotune 2025-02-04 10:41:56 +11:00
Iampete1
022c43c644 AP_HAL_SITL: Add getter for SITL_State 2025-02-04 10:41:56 +11:00
Iampete1
63fecc76d4 APM_Control: examples: AP_FW_Controller_test: update to use HAL SITL 2025-02-04 10:41:56 +11:00
Iampete1
44d2fc1ac1 AMP_Control: move pitch and roll autotune_start into base AP_FW_Controller 2025-02-04 10:41:56 +11:00
Iampete1
790290d359 APM_Control: AP_AutoTune: add static axis_string method 2025-02-04 10:41:56 +11:00
Iampete1
f8dd0b2d76 APM_Control: add AP_FW_Controller as common base class to roll and pitch controllers 2025-02-04 10:41:56 +11:00
Iampete1
4db73d3883 APM_Control: add test for roll and pitch controllers 2025-02-04 10:41:56 +11:00
Wdiy
9a1dc96a67 board_types.txt: add SULILGH7-P1-P2 2025-02-04 09:41:13 +11:00
Peter Barker
e5e3e9a40b autotest: do not assert COMPASS_LEARN value after we set it
the autopilot can instantly reset this back to 0 after we set it, so we never receive the set value:

2025-01-30T06:49:04.2029371Z AT-0931.7: COMPASS_LEARN want=3.000000 autopilot=0.0 (attempt=3/10)
2025-01-30T06:49:04.2029876Z AT-0931.7: Sending set (COMPASS_LEARN) to (3.000000) (old=0.000000)
2025-01-30T06:49:04.2030299Z AT-0931.7: AP: CompassLearn: Initialised
2025-01-30T06:49:04.2030653Z AT-0931.7: AP: CompassLearn: Finished
2025-01-30T06:49:04.2031166Z AT-0931.7: Received wanted PARAM_VALUE COMPASS_LEARN=0.000000
2025-01-30T06:49:04.2031653Z AT-0931.7: Received wanted PARAM_VALUE COMPASS_LEARN=3.000000
2025-01-30T06:49:04.2032117Z AT-0931.7: Received wanted PARAM_VALUE COMPASS_LEARN=0.000000
2025-01-30T06:49:04.2032732Z AT-0931.7: COMPASS_LEARN want=3.000000 autopilot=0.0 (attempt=4/10)
2025-02-04 09:31:40 +11:00
ES-Alexander
a1421e7ece AP_Baro: update MS5837_BA30 temperature compensation 2025-02-03 15:40:52 -03:00
Clyde McQueen
ab46ca2098 Sub: support MASK_LOG_IMU_FAST (loop rate logging) 2025-02-03 13:05:22 -03:00
Clyde McQueen
1df67446f6 autotest: test poshold bounceback 2025-02-03 13:05:01 -03:00
Clyde McQueen
2a28b77ef6 Sub: limit poshold xy velocity to PILOT_SPEED to avoid bounceback 2025-02-03 13:05:01 -03:00
Clyde McQueen
025df2550a Sub: poshold requires GPS 2025-02-03 13:05:01 -03:00
Clyde McQueen
7667a04e03 Sub: remove dead variable 2025-02-03 13:05:01 -03:00
Iampete1
e5efe490d9 Plane: takeoff: use tkoff_option_is_set helper 2025-02-03 10:14:00 +00:00
Iampete1
3e37b01e35 Plane: remove unused method set_target_altitude_current_adjusted 2025-02-03 10:14:00 +00:00
Iampete1
4ddd78e310 Plane: plane.h: remove unused definitions 2025-02-03 10:14:00 +00:00
Iampete1
f6a6e356bf AP_AIS: fix multi part message decoding 2025-02-03 10:13:42 +00:00
D.J. Morvay
8c94c6e992 Reserving IDs for Lumenier. 2025-02-03 13:09:03 +11:00
Shiv Tyagi
c324143866 Tools: create and use AP_PERIPH_RANGEFINDER_ENABLED 2025-02-03 10:06:04 +11:00
Shiv Tyagi
5790e0e38e AP_HAL_ChibiOS: use AP_PERIPH_RANGEFINDER_ENABLED in place of HAL_PERIPH_ENABLE_RANGEFINDER 2025-02-03 10:06:04 +11:00
Peter Barker
2cd3970e36 GCS_MAVLink: add capability to send autopilot to config error loop
Co-authored-by: Bob Long <robertlong13@gmail.com>
Co-authored-by: Michelle Rossouw <michelleros128@gmail.com>

another one of our "do nasty thing to autopilot" commands, useful for testing what ground control stations do when the autopilot is in this state
2025-02-02 21:33:27 +11:00
Leonard Hall
e5f719b65a Copter: SystemID: Fix unutilized variables 2025-02-01 18:59:07 +11:00
Andrew Tridgell
0cacc900d6 Tools: added TBS periph bootloader 2025-02-01 16:59:29 +11:00
Andrew Tridgell
70305ba949 hwdef: added TBS-L431-Airspeed 2025-02-01 16:59:29 +11:00
Andrew Tridgell
05dd0f8b48 Tools: define board type for TBS_L431_Periph 2025-02-01 16:59:29 +11:00
Andrew Tridgell
30e3533cef AP_Periph: support CAN switch and LED defines
this allows for hwdef entries like this:

PB1 GPIO_CAN1_TERM OUTPUT PUSHPULL SPEED_LOW LOW
PB3 GPIO_CAN1_TERM_LED OUTPUT PUSHPULL SPEED_LOW LOW
PB0 GPIO_CAN1_TERM_SWITCH INPUT FLOAT

that specifies a termination pin controllable by either a parameter or
a hardware switch, with an LED to indicate if termination is active
2025-02-01 16:59:29 +11:00
Andrew Tridgell
0679282ce2 AP_Bootloader: support CAN termination switch and LED 2025-02-01 16:59:29 +11:00
Andrew Tridgell
46d99a47f7 HAL_ChibiOS: support LSE for clock on STM32L4xx
this allows for lower pin count devices with CAN
2025-02-01 16:59:29 +11:00
Peter Barker
4e35eb3673 SITL: fix array-bounds warning in tsys01 sim
... if the driver ever asked for prom0 then we would do Very Bad Things here.

File:	build/sitl/../../libraries/SITL/SIM_Temperature_TSYS01.cpp
Warning:	line 38, column 13
Assigned value is garbage or undefined
2025-02-01 16:52:26 +11:00
Thomas Watson
63afcae8a7 AP_Filesystem: ROMFS: fix open race conditions
Lua opens scripts to load them into memory, then the logger opens them
after to stream them into the dataflash log. When loading multiple large
Lua scripts from ROMFS, decompression takes a significant amount of
time. This creates the opportunity for the Lua interpreter and logging
threads to both be inside `AP_Filesystem_ROMFS::open()` decompressing a
file.

If this happens, the function can return the same `fd` for two different
calls as the `fd` is chosen before decompression starts, but only marked
as being used after that finishes. The read pointers then stomp on each
other, so Lua loads garbled scripts (usually resulting in a syntax
error) and the logger dumps garbled data.

Fix the issue by locking before searching for a free record (or marking
a record as free). Apply the same fix to directories as well. This
doesn't protect against using the same `fd`/`dirp` from multiple
threads, but that behavior is to be discouraged anyway and is not the
root cause here.
2025-02-01 16:51:49 +11:00
Peter Barker
6bf29eca70 AP_AIS: remove incorrect use of strncat
the third argument is space remaining in buffer, not size of buffer...

../../libraries/AP_AIS/AP_AIS.cpp:183:71: warning: Potential buffer overflow. Replace with 'sizeof(multi) - strlen(multi) - 1' or use a safer 'strlcat' API [unix.cstring.BadSizeArg]
                    strncat(multi,_AIVDM_buffer[msg_parts[i]].payload,sizeof(multi));
                                                                      ^~~~~~~~~~~~~
../../libraries/AP_AIS/AP_AIS.cpp:185:49: warning: Potential buffer overflow. Replace with 'sizeof(multi) - strlen(multi) - 1' or use a safer 'strlcat' API [unix.cstring.BadSizeArg]
                strncat(multi,_incoming.payload,sizeof(multi));
2025-01-31 15:52:50 +11:00
Peter Barker
c3f2b4013f Copter: free allocations in case of allocation failure
these would be leaked if the "new" call for the ModeGuidedCustom object failed.

Since resgister_custom_mode may be called multiple times we could leak memory continuously
2025-01-31 08:53:20 +09:00
Peter Barker
2ef98e18ce Tools: size_compare_branches.py: mark navigator64 as a Linux board
... so we don't try to buld bootloaders for it
2025-01-31 09:20:03 +11:00
Peter Barker
46973652d4 AP_HAL_ESP32: add get_device_ptr to HAL I2CDevice API 2025-01-31 09:19:33 +11:00
Peter Barker
d5922b2cf1 AP_Notify: avoid use of OwnPtr for ToshibaLED 2025-01-31 09:19:33 +11:00
Peter Barker
51d1cee5eb AP_HAL_SITL: add get_device_ptr to HAL I2CDevice API 2025-01-31 09:19:33 +11:00
Peter Barker
049ad3928d AP_HAL_QURT: add get_device_ptr to HAL I2CDevice API 2025-01-31 09:19:33 +11:00
Peter Barker
07d5938d68 AP_HAL_Linux: add get_device_ptr to HAL I2CDevice API 2025-01-31 09:19:33 +11:00
Peter Barker
0a617b500b AP_HAL: add get_device_ptr to HAL I2CDevice API 2025-01-31 09:19:33 +11:00