Commit Graph

32258 Commits

Author SHA1 Message Date
Andrew Tridgell 3e039eb372 AP_Scripting: fixed float register save/restore in setjmp/longjmp
the register save must happen before the setjmp() call, which means
outside of the LUAI_TRY() macro. We also should be saving all 32
floating point registers
2024-05-29 10:12:32 +10:00
Andrew Tridgell 610b7135bd AP_UAVCAN: don't update hobbywing ESC table while armed
some hobbywing ESCs have a bug where requesting the ID table can cause
the ESC to stutter
2023-12-05 20:23:49 +11:00
Andy Piper 378d586feb AP_HAL_ChibiOS: return success status from serial_led_send and set_serial_led_rgb_data 2023-12-05 20:23:49 +11:00
Andy Piper 586e8f756f AP_HAL: return success status from serial_led_send and set_serial_led_rgb_data 2023-12-05 20:23:49 +11:00
Andy Piper a333587b58 AP_SerialLED: return success status from send and set_RGB 2023-12-05 20:23:49 +11:00
Andy Piper 2750bda430 AP_Scripting: add success status to serialLED:send and serialLED:set_RGB 2023-12-05 20:23:49 +11:00
Andy Piper 7d5b86958b AP_HAL_SITL: return success status from serial_led_send and set_serial_led_rgb_data 2023-12-05 20:23:49 +11:00
Andy Piper a4b543e4ea AP_HAL_ChibiOS: correct neopixel bitwidth
Use 64-bit timestamps for dshot send checks
2023-12-05 20:23:49 +11:00
Andy Piper 204a993963 AP_HAL: correct neopixel bitwidth 2023-12-05 20:23:49 +11:00
Andy Piper f398756ffe AP_HAL_ChibiOS: fix race condition in sending serial LED data 2023-12-05 20:23:49 +11:00
bugobliterator 0f18844c7a AP_Stats: initialise parameter defaults 2023-12-05 20:23:49 +11:00
Randy Mackay bc61e2ab61 AR_WPNav: pos control updated during pivots 2023-12-05 20:23:49 +11:00
Randy Mackay 218ba75bbb AR_PosControl: no min speed when stopping 2023-12-05 20:23:49 +11:00
Randy Mackay fa6a7abe8a AP_Scripting: simplify Rover quick tune
Only tunes FF.  P and I are set as ratio to FF
2023-12-05 20:23:49 +11:00
Iampete1 926896eb3a AP_Param: check dynamic param tables are avalable before adding a param 2023-12-05 20:23:49 +11:00
Andy Piper 3748192173 hwdef: fixes for SpeedyBee F4 v4 on 4.4 2023-12-05 20:23:49 +11:00
Andy Piper e6aa357fb4 AP_HAL_ChibiOS: add support for SpeedyBeeF405v4 2023-12-05 20:23:49 +11:00
Peter Barker cc115a661f hwdef: correct compilation of CubeOrange-SimOnHW
../../libraries/AP_InertialSensor/AP_InertialSensor_config.h:20:2: error: #error "INS_AUX_INSTANCES must be zero if INS_MAX_INSTANCES is less than 3"
   20 | #error "INS_AUX_INSTANCES must be zero if INS_MAX_INSTANCES is less than 3"
      |  ^~~~~
2023-12-05 20:23:49 +11:00
Randy Mackay b6d607c2b0 AP_Torqeedo: error code reporting fix 2023-12-05 20:23:49 +11:00
Martin Luessi 9fab634f7a RADIX2HD: Set HAL_I2C_INTERNAL_MASK 2023-12-05 20:23:49 +11:00
Andrew Tridgell e2ccb1d49c AP_BattMonitor: fixed battery percentage with aux info
when we have aux battery information we had assumed the CAN device
would provide the battery remaining percentage. We should obey the "do
not use CAN SoC" with or without an AUX message

This fixes CAN battery monitors with a cell monitor
2023-12-05 20:23:49 +11:00
Martin Luessi df1d9e0e7a AP_HAL_ChibiOS: RADIX2HD Probe external I2C compasses 2023-12-05 20:23:49 +11:00
Peter Barker b1219f5bef AP_Notify: add IS31FL3195 to default LED types 2023-11-16 17:59:38 +11:00
Peter Barker d4f62e30b2 AP_Notify: document IS31FL3195 LED type for LED_TYPES parameter 2023-11-16 17:59:38 +11:00
Peter Barker 936e0ab1be AP_GPS: correct uBlox M10 configuration on minimised boards 2023-11-14 12:49:15 +11:00
yjuav 6797625bc6 hwdef: add YJUAV_A6SE_H743 board support (4.4 backport) 2023-11-07 11:17:04 +11:00
Andrew Tridgell f24ee8f800 AP_ESC_Telem: expose update_telem_data for scripting 2023-11-07 11:17:04 +11:00
Andrew Tridgell 0852044e9e AP_Scripting: added bindings for telemetry data for ESCs
allows more complete ESC protocol implementation in scripting
2023-11-07 11:17:04 +11:00
Peter Barker ae0fada9e6 GCS_MAVLink: correct mavlink result when airspeed not available
only in progress if we have started a task running
2023-11-07 11:17:04 +11:00
Andrew Tridgell 763bbc509e hwdef: bugfixes for BETAFPV-F405 2023-11-07 11:17:04 +11:00
bugobliterator 8242a10e44 AP_HAL_ChibiOS: enable save/restore of SPI SCK pin during spiStop Start for CubeOrangePlus 2023-11-07 11:17:04 +11:00
bugobliterator 14093ab2a0 AP_HAL_ChibiOS: add option to set HAL_SPI_SCK_SAVE_RESTORE 2023-11-07 11:17:04 +11:00
bugobliterator 1f1c0714df AP_HAL_ChibiOS: fix mode setting for ICM45686 on CubeOrangePlus 2023-11-07 11:17:04 +11:00
bugobliterator 829fcf5f33 AP_HAL_ChibiOS: add support for saving and restoring SCK pin state
when SPI goes into undefined state during reset
2023-11-07 11:17:04 +11:00
Andrew Tridgell 6a97817fa6 AP_Mount: fixed SIYI parser bug
this caused lots of lost packets
2023-11-07 11:17:04 +11:00
Andrew Tridgell 36dabc0985 AP_GPS: implement the GPS_DRV_OPTION for ellisoid height in mode drivers
this allows a lot more drivers to use the GPS_DRV_OPTION but to use
ellisoid height. Particularly useful for DroneCAN GPS modules

using ellisoid height instead of AMSL is useful in some specialised
application
2023-11-07 11:17:04 +11:00
Hayden 4bc82e4b3e AP_Compass: fix AK09916 hangup issue 2023-11-07 11:17:04 +11:00
Andrew Tridgell 2ab583d80b AP_InertialSensor: fix for ICM42688 stuck gyro issue
these undocumented bits in register 0x4d control the "adaptive full
scale range" mode of the ICM42688. The feature is enabled by default
but has a bug where it gives "stuck" gyro values for short periods
(between 1ms and 2ms):, leading to a significant gyro bias at longer
time scales, enough to in some cases cause a vehicle to crash if it is
unable to switch to an alternative IMU

this fixes https://github.com/ArduPilot/ardupilot/issues/25025
2023-11-07 11:17:04 +11:00
Andrew Tridgell 0bbea732a0 Filter: protect against extremely low notch filter frequencies
an incorrectly configured ESC telemetry source can lead to a notch
running at very low frequencies. A simple example is a lua script like
this:

function update()
   esc_telem:update_rpm(12, 0, 0)
   return update, 10
end
return update()

where motor 12 is unused.

with that script in place we get a 1.0078 Hz filter which leads to
massive phase lag and a crashed aircraft

this is a safety protection. We should also try to find out why the
INS_HNTCH_FREQ lower limit is not working
2023-11-07 11:17:04 +11:00
Andrew Tridgell dadffef92c AP_GPS: allow GPS moving baseline rover at 3Hz
users with busy CAN bus often get significiantly lower GPS rates on a
moving baseline rover, preventing arming. This PR relaxes the required
frame rate as the EKF is quite happy with 3Hz yaw and the yaw is the
only data consumed from a moving baseline rover
2023-10-13 16:40:51 +11:00
Andrew Tridgell cf6fe59a7a AP_Logger: added build directory to VER message
this allows log review tools to use right parameter and mode map when vendor has changed the
vehicle type strings
2023-10-13 16:40:51 +11:00
Andrew Tridgell 65ef005ea5 AP_RCProtocol: protect against invalid data in SBUS 2023-10-13 16:40:51 +11:00
Andrew Tridgell ddfa4c0ed7 AP_OpenDroneID: only load from persistent memory in init()
we do not want to do this from update() as it is an expensive call
2023-10-13 16:40:51 +11:00
Henry Wurzburg f1cc021b1c AP_OSD:Update/correct DisplayPort BF MSP symbols 2023-10-13 16:40:51 +11:00
Henry Wurzburg f2d9e3aa5b AP_OSD:add option to convert home,wind,waypoint and gndspd arrows for BF font set 2023-10-13 16:40:51 +11:00
Andrew Tridgell 1280e469f1 AP_BattMonitor: added SHUNT parameter to INS2xx driver
some vendors want different shunt resistors
2023-10-13 16:40:51 +11:00
Andrew Tridgell 799ccb32e2 AP_InertialSensor: fixed the error value for BMI088
the bad value is -32768 not 0xffff (which is -1)

-32768 badly corrupts the low-pass filter, and is what we see in logs
(a large negative spike on all 3 axes)

update to bug fix from:
https://github.com/ArduPilot/ardupilot/pull/23033
2023-10-13 16:40:51 +11:00
alexklimaj 26b6a1b7b8 hwdef: arkv6x default to no IO MCU 2023-10-13 16:40:51 +11:00
Henry Wurzburg 3a5b99f0d4 hwdef:add VTX power control to SpeedyBeeF405-Wing 2023-10-13 16:40:51 +11:00
Peter Barker 6a17a605d4 AP_TECS: ensure good TECS state before running update_pitch_throttle
update_pitch_throttle can be called when update_50hz hasn't run in a very long time, or ever.  This requires a main loop rate >50Hz, and for the mode change to occur in the same loop that update_50Hz doesn't run but update_pitch_throttle does.
2023-10-13 16:40:51 +11:00