Peter Barker
6765838a3c
AP_Follow: factor out a should_handle_message method
2024-06-11 16:20:20 +10:00
Peter Barker
7ea2e60b5a
AP_AHRS: clarify frame of get_location_from_origin_offset
...
... by renaming it get_location_from_origin_offset_NED
2024-06-11 14:57:56 +10:00
Peter Barker
5994664bf9
SITL: add simulated tie-down clamp
2024-06-11 09:56:43 +10:00
Peter Barker
911375fa9a
AP_Common: rearrange get_vector_from_origin_NEU to be less destructive
...
this change means that if the origin call failes we don't half-update the object before returning false
2024-06-11 09:47:14 +10:00
Peter Barker
500ca22c75
AP_Follow: clarify what we're doing when rotating a vector
...
odd sort of a transform, make it clear what's happening
2024-06-11 09:41:32 +10:00
Peter Barker
9c42a5d9dd
GCS_MAVLink: warn on use of old fence point / rally point protocols
2024-06-11 09:39:56 +10:00
Peter Barker
c5f902919e
AC_Fence: warn on use of old fence point / rally point protocols
2024-06-11 09:39:56 +10:00
Peter Barker
2d7a4b318d
AP_NavEKF: tidy creation of vectors
2024-06-11 09:38:54 +10:00
Peter Barker
4fb8408e80
GCS_MAVLink: clarify timeline on removal of HIL_GPS and BATTERY2
...
try to move to a standard greppable pattern for code to be removed
2024-06-11 09:37:56 +10:00
Peter Barker
d250d9cb2b
GCS_MAVLink: remove MOUNT_CONFIGURE/MOUNT_CONTROL handling by default
2024-06-11 09:37:56 +10:00
Peter Barker
fc560e8219
GCS_MAVLink: avoid casting DroneCAN backend to incorrect type
...
- split get_type into allocated_type and configured_type
- check allocated type rather than configured type when looking at backends
Prevents overwrite of random memory when backends are changed at runtime.
2024-06-11 09:31:46 +10:00
Peter Barker
029e0b15b3
AP_BattMonitor: avoid casting DroneCAN backend to incorrect type
...
- split get_type into allocated_type and configured_type
- check allocated type rather than configured type when looking at backends
Prevents overwrite of random memory when backends are changed at runtime.
2024-06-11 09:31:46 +10:00
Peter Barker
dd56f2465b
SITL: make simulated SBP2 vastly more accurate
...
I have no idea if this is actually the sort of number which these devices will return.
However, for the EKF to be happy with the GPS the reported speed accuracy must be much lower than the SBP2 driver reports when we give it these numbers.
It might be that we are interpretting these fields incorrectly in the driver and that the simulator is, in fact, correct.
2024-06-11 09:29:14 +10:00
Brad Bosch
3b150d2e4c
GCS_MAVLink: Add support for parity to Serial passthrough
...
Add code to reflect USB ACM parity setting to the passthrough port alongside existing support for ACM baud rate changes. Some use cases for serial passthrough require specific parity settings.
For example, even parity is used and required by the USART protocol used in the STM32 system bootloader. This enhancement allows the use of standard flash programming tools such as STM32CubeProgrammer to flash connected STM based peripherals such as Receivers and Telemetry radios via serial passthrough. Some examples of such peripherals include the FrSky R9 receivers as well as various other STM based LoRa modules used by the mLRS project.
2024-06-11 09:24:32 +10:00
Brad Bosch
f2f9349419
AP_HAL: Add support for parity to Serial passthrough
...
Add code to reflect USB ACM parity setting to the passthrough port alongside existing support for ACM baud rate changes. Some use cases for serial passthrough require specific parity settings.
For example, even parity is used and required by the USART protocol used in the STM32 system bootloader. This enhancement allows the use of standard flash programming tools such as STM32CubeProgrammer to flash connected STM based peripherals such as Receivers and Telemetry radios via serial passthrough. Some examples of such peripherals include the FrSky R9 receivers as well as various other STM based LoRa modules used by the mLRS project.
2024-06-11 09:24:32 +10:00
Martin Luessi
3201622d38
AP_HAL_ChibiOS: Update readme for RADIX2HD
2024-06-11 09:11:09 +10:00
Peter Barker
6751bce0fc
SITL: log number of times sim paused on serial0 buffer
...
SITL pauses the simulation if we do not have a minimum amount of space in its out queue.
Log the number of times we do this.
2024-06-11 08:51:25 +10:00
Peter Barker
6ae0b5ec5b
AP_HAL_SITL: log number of times sim paused on serial0 buffer
...
SITL pauses the simulation if we do not have a minimum amount of space in its out queue.
Log the number of times we do this.
2024-06-11 08:51:25 +10:00
subashchandar
7e59b8c5a0
hwdef: update PixFlamingo_f767 README
2024-06-11 08:42:56 +10:00
Andy Piper
2af6358c07
AP_GPS: dynamically allocate config_GNSS
2024-06-10 06:53:23 +10:00
Andy Piper
90f7222f98
AP_HAL_ChibiOS: enable LEDs on Here4AP
2024-06-10 06:53:23 +10:00
Andy Piper
a9dc7b440f
AP_GPS: support GPSx_GNSS_MODE for F9P
...
support detecting F9P hardware variant
fix bug in extension buffer management
support NEO-F9P GNSS configuration
allow multiple configuration values to be set in one go
phase F9 configuration to account for GNSS reset
2024-06-10 06:53:23 +10:00
Bill Geyer
c77f688032
AP_Motors: fix spacing
...
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-06-09 13:24:38 -04:00
MattKear
3a311a9d69
AP_Motors: Heli: Fix SWSH logging for reversed collectives
2024-06-09 13:24:38 -04:00
Paul Riseborough
61874da020
AP_NavEKF3: Rework method of synthesising airspeed for dead reckoning
...
The previous method resulted in data incest and fusion of predicted airspeed on every EKF internal time step.
This was not apparent during flight where the vehicle was turning, but during long straight legs did not constrain along track drift.
2024-06-09 14:25:02 +10:00
Paul Riseborough
720c2da807
AP_NavEKF3: Rework GPS jamming resiliency
...
Make it user selectable.
Remove potential for a race condition between decisions based on latest data and the EKF fusion processing which operates on a delayed time horizon. This is achieved by preventing data entering the buffer if awaiting checks to pass ensuring that no EKF fusion time horizon processes can use data that hasn't passed checks.
Log the waitingForGpsChecks class variable
2024-06-09 14:25:02 +10:00
Paul Riseborough
996bf7d4df
AP_NavEKF3: Log gpsGoodToAlign
2024-06-09 14:25:02 +10:00
Paul Riseborough
eb2ff2192d
AP_NavEKF3: Don't block no compass planes from running GPS alignment checks
2024-06-09 14:25:02 +10:00
Paul Riseborough
6baeb1cd9d
AP_NavEKF3: Fix bug causing in flight yaw align to not complete
2024-06-09 14:25:02 +10:00
Paul Riseborough
ffde7f815c
AP_NavEKF3: Allow wind to relearn rapidly when GPS is re-enabled
2024-06-09 14:25:02 +10:00
Paul Riseborough
87bf8d9997
AP_NavEKF3: Treat wind as truth when deadreckoning with no airspeed sensor
2024-06-09 14:25:02 +10:00
Paul Riseborough
568972c0f0
AP_NavEKF3: Fix bug preventing use of default or synthetic airspeed
2024-06-09 14:25:02 +10:00
Paul Riseborough
2c3174b77b
AP_NavEKF3: Strengthen protection against GPS jamming
...
These changes prevent the EKF from consuming GPS data too soon when it is recovering from jamming if the EKF is able to navigate using dead reckoning.
2024-06-09 14:25:02 +10:00
Paul Riseborough
324d5da811
AP_NavEKF3: Use last observed wind states to enable dead reckoning
...
These changes enable the EKF to use the last observable wind velocity vector estimate to synthesise an airspeed measurement if operating without an airspeed sensor and when all other measurement types that can constrain velocoty drift are lost. This enables the EKF to use dead reckoning to continue after loss of GPS when there is no air speed sensor fitted and without the need to set a default airspeed value.
The logic used to fuse a default airspeed value has also been cleaned up and the call to FuseAirSpeed() from inside SelectBetaDragFusion() has been removed.
AP_NavEKF3: Fix error in default airspeed observation variance
AP_NavEKF3: Enable shadow fusion of airspeed when sensor is disabled
2024-06-09 14:25:02 +10:00
Paul Riseborough
e53416e77b
AP_NavEKF3: Apply GPS quality checks following loss of 3D fix if velocity error is bounded
2024-06-09 14:25:02 +10:00
MattKear
5784abde1f
AP_Motors: Heli dual: Constrain cyclic roll for intermeshing
2024-06-08 23:13:28 -04:00
Andrew Tridgell
c783f632c1
AP_Scription: added CANF logging to Halo6000 EFI driver
...
allows for easier debugging
2024-06-09 08:37:44 +10:00
Iampete1
1c5c80d244
AP_Scripting: Docs: remove stray grave
2024-06-08 07:29:53 +10:00
Andrew Tridgell
e9d39d80f4
AP_InertialSensor: fixed ICM42670
...
highres sampling is not working on the ICM42670 on some versions of
the Pixhawk6X. Disable for now.
2024-06-07 19:44:48 +10:00
Iampete1
cb22a6389d
AP_Scripting: add virtual class in docs to avoid need nil check warning
2024-06-07 06:30:22 +10:00
muramura
dfc04cd53a
AP_Notify: Convert the ENUM definition to a class
2024-06-06 15:15:14 -04:00
George Zogopoulos
d2901dc9c9
SITL: Removed trailing underscore
2024-06-05 19:03:31 +10:00
Peter Barker
78fcf7057c
GCS_MAVLink: move switch for sending camera messages into AP_Camera
...
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Peter Barker
5538f6735f
AP_Camera: move switch for sending camera messages into AP_Camera
...
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Iampete1
364419be81
AP_Scripting: docs: allow overload of manual bindings to allow documentation of optional arguments
2024-06-04 09:29:49 +10:00
Iampete1
f54ca766df
AP_Scripting: tests: luacheck.lua: ignore lua-language-server
2024-06-04 09:29:49 +10:00
Iampete1
93642026aa
AP_Scripting: tests: check.json: check files it gitignore but not self
2024-06-04 09:29:49 +10:00
Henry Wurzburg
3b86c0527f
AP_BLHeli:expand metadata of 3d and Reverse masks
2024-06-04 09:24:41 +10:00
Henry Wurzburg
887e4713e6
AP_HAL_ChibiOS:remove fetaures to allow boards to build
2024-06-04 09:23:43 +10:00
Andrew Tridgell
6233bc0e10
HAL_Empty: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
ceac4969d5
AP_Networking: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
e97a6c7089
AP_InertialSensor: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
35a8f6c7b2
AP_DroneCAN: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
265e2a4d6b
StorageManager: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
3682e3aad3
SRV_Channel: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
4e1b2b95d4
SITL: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
9b046f5a12
GCS_MAVLink: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
5859250651
Filter: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
db6bcdb725
AP_WindVane: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
76d16e2d78
AP_Winch: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
20a5ec4348
AP_WheelEncoder: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
659ecf6159
AP_VisualOdom: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
6a96df4792
AP_Vehicle: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
30228f5e6e
AP_Torqeedo: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
65822c01ed
AP_TemperatureSensor: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
93484ec81d
AP_TempCalibration: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
a2459c6e61
AP_Scripting: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
5af89a4291
AP_Scheduler: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
c1bdf15c1d
AP_RPM: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
01f02867a6
AP_RCTelemetry: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
51d5f85b83
AP_RCProtocol: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
8554081be5
AP_RangeFinder: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
5130e26f4c
AP_Radio: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
c681701f81
AP_Proximity: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
6bd2be548b
AP_Param: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
a5672b0105
AP_OSD: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
7235c146fa
AP_OpticalFlow: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
014b3bba70
AP_OpenDroneID: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
cead1ee264
AP_ONVIF: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
530cbf1eca
AP_Notify: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
4d5aa1b8e3
AP_Networking: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
242a3741e3
AP_NavEKF: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
94cbd7cbfb
AP_NavEKF3: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
5e88d67571
AP_NavEKF2: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
5ca4bdbd8d
AP_MSP: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
28da263e16
AP_Mount: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
e5a63eaad0
AP_Motors: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
3912c6a5e0
AP_Module: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
e180359757
AP_Menu: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
ad6502c9f1
APM_Control: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
72c77b3453
AP_Math: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
20070b7e37
AP_Logger: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
41cc776bd9
AP_LeakDetector: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
98697ba5d3
AP_KDECAN: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
6962c4080d
AP_JSON: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
2e6c5157e6
AP_IOMCU: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
a0acccb1f9
AP_InertialSensor: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
17e338d7f6
AP_HAL_SITL: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
f1c6538f34
AP_HAL_Linux: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
20959524b8
AP_HAL: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00