Commit Graph

29673 Commits

Author SHA1 Message Date
Iampete1 c4518e5cb7 SITL: motor: use postion and thrust vector 2022-04-19 09:43:51 +10:00
Iampete1 47f327b500 SITL: allow Vector3f inertia to be set via JSON 2022-04-19 09:43:51 +10:00
Iampete1 6272dc33dd SITL: move moments inertia to frame property 2022-04-19 09:43:51 +10:00
Iampete1 7936f3bb0a SITL: move motor related constants to motor object 2022-04-19 09:43:51 +10:00
Andrew Tridgell db14ba46dc AP_InertialSensor: call notch param update with semaphore held 2022-04-19 09:39:03 +10:00
Andrew Tridgell bccca9ed2e AP_GyroFFT: added defaults for FFT with no notch
allow for testing with FFT enabled, and defaulting number of
frequencies to look for
2022-04-19 09:39:03 +10:00
Andrew Tridgell dff0e5ecc1 AP_InertialSensor: fixed the last notch values to be per-instance
thanks to Andy for noticing this
2022-04-19 09:39:03 +10:00
Andrew Tridgell e0bb717231 AP_GyroFFT: skip disabled notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell 184f84f4ee AP_InertialSensor: don't update disabled notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell 492e203fd2 AP_GyroFFT: allow for 2 FFT based notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell 301c56d30a AP_Vehicle: implement common harmonic notch update code 2022-04-19 09:39:03 +10:00
Andrew Tridgell e6b56ce9ba AP_RPM: use HarmonicNotch class 2022-04-19 09:39:03 +10:00
Andrew Tridgell 86db91e3b4 AP_GyroFFT: use HarmonicNotch class 2022-04-19 09:39:03 +10:00
Andrew Tridgell ddab3f02ca AP_Arming: use HarmonicNotch class 2022-04-19 09:39:03 +10:00
Andrew Tridgell e2e1e74da5 AP_InertialSensor: switch to HarmonicNotch class
this makes the logic much easier to follow, without indexes into
arrays
2022-04-19 09:39:03 +10:00
Andrew Tridgell d7d04bc7cf Filter: removed parameters from the old notch filter
saves some flash space
2022-04-19 09:39:03 +10:00
Andrew Tridgell 782e4887bc AP_GyroFFT: only allow one harmonic notch filter to be linked to FFT 2022-04-19 09:39:03 +10:00
Andrew Tridgell ae1e9e06c1 AP_Arming: added arming check for conflicting notch modes 2022-04-19 09:39:03 +10:00
Andrew Tridgell 1cd1519a4f Filter: clarify meaning of 1st harmonic 2022-04-19 09:39:03 +10:00
Andrew Tridgell 7272a29b7b Filter: added RPM2 harmonic notch type 2022-04-19 09:39:03 +10:00
Andrew Tridgell a2fc4d909d AP_Vehicle: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell ac50d3cc9f AP_RPM: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell e67d9b4179 AP_InertialSensor: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell 622ad2a088 AP_GyroFFT: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Joshua Henderson 7cc2382a78 AP_AHRS_DCM: NFC comment on check_matrix() normalization reset 2022-04-19 09:27:00 +10:00
Randy Mackay 9d73cfb28f AP_NavEKF: GSF logging in deg from 0 to 360 2022-04-19 08:56:40 +10:00
Peter Barker 55517450bc AP_Scripting: correct script restart send_text message 2022-04-18 12:50:18 +01:00
Bill Geyer b8690ba109 AC_AutoTune: fix gain determination fail logic 2022-04-18 18:00:20 +09:00
Bill Geyer 8e35fd2658 AC_AutoTune: use failed state to exit 2022-04-18 18:00:20 +09:00
Bill Geyer b4059d3745 AC_AutoTune: use generic load gain method to save flash 2022-04-18 18:00:20 +09:00
Walter Dunckel b0c3fae662 AP_HAL_ChibiOS: add support for NucleoH755 board
This addition allows for cheap testing of a STM32H755 (dual core). This borrows the setup file STM32H757xx.py, as there are almost no changes between the chips. CRSF in and out, gps, ICM20948, BMP388, settings saving to on board flash all working.

PWM(3) pin change

Changed PWM(3) pin to one exposed on connector
2022-04-18 14:53:14 +10:00
QioTek 9909499a81 AP_HAL_ChibiOS: ICM4 series sensors as an alternative with IMU3.
AP_HAL_ChibiOS:  ICM4 series sensors as an alternative with IMU3.
2022-04-18 11:01:14 +10:00
Andrew Tridgell 9f58c73780 hwdef: Added MatekL431-Rangefinder 2022-04-17 17:40:04 +10:00
Peter Barker bca4fc9608 hwdef: disable serially-attached actuators on SkyViper 2022-04-17 09:10:10 +10:00
Andrew Tridgell 95ae150a21 AP_InertialSensor: catch FIFO overruns on BMI088
we have seen errors where the BMI088 gets out of sync, so that the 3
axes are rotated. The data is shifted by 4 bytes, so that X=Z, Y=X
and Z=Y

this changes the BMI088 to "stop on full" mode, which is what Bosch
use in their example drivers, and also catches FIFO overrun events and
triggers a full FIFO reset. This should fix the problem with the FIFO
sync
2022-04-16 19:24:16 +10:00
Andrew Tridgell 973befa5d8 GCS_MAVLink: prevent devop larger than buffer 2022-04-16 19:24:16 +10:00
Andrew Tridgell 4c9a851fc6 SITL: update for changed INS_NOTCH parameter name 2022-04-16 08:14:06 +10:00
Andrew Tridgell f5c3b56426 AP_HAL_ChibiOS: update for changed INS_NOTCH parameter name 2022-04-16 08:14:06 +10:00
Andrew Tridgell ab5e8419d8 AP_InertialSensor: move INS_HNTC2 to a new parameter table ID 2022-04-16 08:14:06 +10:00
Willian Galvani 6e326ee912 AC_PosControl_Sub.h: do not use our own input_vel_accel_z 2022-04-13 16:23:55 -03:00
mateksys 16a8400f85 AP_HAL_ChibiOS:add icm42688p as substitution 2022-04-13 20:59:07 +10:00
Peter Barker e788941f70 hwdef: turn off various GPS backends on on AP_Periph 2022-04-13 18:23:51 +10:00
Peter Barker ccca0e8e0f AP_GPS: stop using HAL_BUILD_AP_PERIPH to gate GPS backends 2022-04-13 18:23:51 +10:00
Andrew Tridgell cdfa682be0 AC_AttitudeControl: use deadzone for pitch
when pitch for nose-in and tail-in is enabled we should use the
deadzone
2022-04-13 18:19:02 +10:00
Andrew Tridgell f4548daa5a AC_AttitudeControl: added an option for pitch weathervaning
when nose-in or tail-in, if the aircraft has significant pitch
asymmetry in hover then we would spin around in no wind if we use
pitch as an input

this makes pitch input for nose-in and tail-in optional and off by
default to preserve existing behaviour
2022-04-13 18:19:02 +10:00
Peter Barker e5c40d0e54 AP_Logger: move logging of Beacon into Beacon library 2022-04-13 16:22:19 +10:00
Peter Barker bbcf0a0968 AP_Beacon: move logging of Beacon into Beacon library 2022-04-13 16:22:19 +10:00
Peter Barker a62e08ee40 AP_Proximity: move logging of Proximity into Proximity library 2022-04-13 16:22:19 +10:00
Peter Barker 795427e574 AP_Logger: move logging of Proximity into Proximity library 2022-04-13 16:22:19 +10:00
Peter Barker f023f0443d GCS_MAVLink: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker ab86dafda7 AP_RPM: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker 23f2055330 AP_Logger: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker c09f56112e AP_Arming: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker 04cc45de65 hwdef: remove non-ascii character from hwdef
Killing the custom build server
2022-04-13 12:14:17 +10:00
Randy Mackay 375ab84e56 SITL: correct suggestion to user re wind estimatation param value
EK3_MCOEF becomes EK3_DRAG_MCOEF
EK3_BCOEF_ becomes EK3_DRAG_BCOEF_
2022-04-13 07:57:35 +09:00
Randy Mackay 002bcca7f9 AP_Baro: correct param description refering to EK3 wind est params
AP_NavEKF3: correct wind estimate param descriptions

mention of EK3_BCOEF_X/Y becomes EK3_DRAG_BCOEF_X/Y
2022-04-13 07:57:35 +09:00
Randy Mackay 37e9ce3fb7 AP_NavEKF3: correct wind estimate param descriptions
EK3_MCOEF becomes EK3_DRAG_MCOEF
EK3_BCOEF_X/Y becomes EK3_DRAG_BCOEF_X/Y
2022-04-13 07:57:35 +09:00
Peter Barker e0a96eaa83 AP_GPS: remove more code based on GPS_MOVING_BASELINE 2022-04-12 11:20:01 +10:00
Peter Barker aa72559d00 AP_GPS: tidy initialisation of sending blobs 2022-04-12 11:20:01 +10:00
Peter Barker 4b6590734a AP_GPS: move gps blob initialisation out to method 2022-04-12 11:20:01 +10:00
Andy Piper 13464ebb20 AP_RCTelemetry: check EKF checks against failsafe defaults. 2022-04-12 11:14:44 +10:00
Peter Barker 961cf659d9 SRV_Channels: stop gating FETTECONEWIRE parameters on HAL_BUILD_BUILD_AP_PERIPH
This would break fettech on AP_Periph.  The define is off by default on
AP_Periph.
2022-04-12 10:35:01 +10:00
Peter Barker a5be9d0f18 SRV_Channel: allow RobotisServo protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker 9001058d12 AP_RobotisServo: allow RobotisServo protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker 73b86ccc04 AP_HAL_ChibiOS: allow RobotisServo protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker 3339d96573 SRV_Channel: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker d97c847966 AP_Volz_Protocol: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker 2e20e26403 AP_HAL_ChibiOS: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker 04a64a20fa AP_NavEKF2: remove instance id from EK2 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-12 10:25:29 +10:00
Peter Barker c1c18331f9 AP_AHRS: remove instance id from EK2 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-12 10:25:29 +10:00
Henry Wurzburg c770a2bd58 hwdef: minimal GPS support for Flywoo baords 2022-04-12 10:04:57 +10:00
Andy Piper 1a843f659f AP_HAL_ChibiOS: bdshot version of MatekF765-Wing 2022-04-12 10:03:11 +10:00
Andy Piper 29e8f96275 AP_InertialSensor: move frontend update into ramfunc. 2022-04-12 09:19:45 +10:00
Andy Piper 2d62da9298 AP_FlashIface: make sure XIP flash is ready before returning 2022-04-12 09:19:45 +10:00
Andy Piper e89eb34d55 AP_HAL_ChibiOS: add I2C and compass backend to drivers in memory on H750
move more of EKF into memory on H750
move rc handling into memory on H750
disable double math on SPRacing H7
2022-04-12 09:19:45 +10:00
Michel Pastor f4a3a65797 hwdef: add revo-mini-sd 2022-04-12 09:17:03 +10:00
Andrew Tridgell 0f230eec5a AP_Scripting: increase default heap size in SITL and on F7/H7
if we have 500k or more memory then use 100k heap for Lua, making
setup easier
2022-04-11 17:02:04 +10:00
Lokesh Ramina 729466358d hwdef: added CarbonixF405 AP_Periph node
added hwdef files for CarbonixF405 board
2022-04-11 12:58:48 +10:00
Peter Barker a9b90a3b5a AP_HAL: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 0b16c4063e AP_NavEKF3: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 65b00bcc2a AP_NavEKF2: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker df91effa4e AR_Motors: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 224c32edf0 AR_WPNav: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 6a0250bc85 AP_Winch: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker c452002ae4 AC_PrecLand: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker d319370080 RC_Channel: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker a10ed0e87f PID: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker c829b109bf AP_Vehicle: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker e1dd53eb17 AP_TECS: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker ce312a3750 AP_Scripting: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker df60565769 AP_Mission: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker dd589934cc APM_Control: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 0c32eeca2e AP_Logger: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 8ec0eed749 AP_Landing: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 6a97056736 AP_Camera: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker d73cd7d0e3 AC_WPNav: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker e5e4dee708 AC_PID: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 66f0a0f42b AC_AutoTune: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker c1e776fc46 AC_AttitudeControl: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andy Piper e0adbb978e AP_HAL_ChibiOS: fix dshot timeout bug where the elapsed pulse is longer than the send time
dshot timeouts should be no longer than the pulse interval
use correct timestamp for dmar send time
2022-04-07 07:21:21 +10:00
Peter Barker b80cc9a610 AP_Logger: remove old, unused log metadata for MON 2022-04-06 21:54:15 +10:00
Peter Barker 00de10d796 AP_HAL_ChibiOS: use structure for writing out WDOG,MON message 2022-04-06 21:54:15 +10:00
Peter Barker a546bc797c AP_Logger: source IDs and structs from HAL_ChibiOS 2022-04-06 21:54:15 +10:00
Peter Barker adf9c21d48 AP_NavEKF3: remove instance id from EK3 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-06 17:36:05 +10:00
Peter Barker b762aac6ce AP_AHRS: remove instance id from EK3 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-06 17:36:05 +10:00
Peter Barker c2112565b5 AP_GPS: remove redundant _blend_mask check
filling in of these values is already gated by checking the mask
2022-04-06 17:31:42 +10:00
Peter Barker 4332ed8f36 AP_GPS: use sq function for squaring numbers 2022-04-06 17:31:42 +10:00
Iampete1 2589fa1b3b AP_GPS: UBlox: add TIM-TM2 logging 2022-04-06 17:22:30 +10:00
Iampete1 0a0178988d AP_Logger: add 1e-9 log multiplyer 2022-04-06 17:22:30 +10:00
Peter Barker 717edae9ef hwdef: fix redefinition of Solo values in CubeSolo/CubeGreen-Solo
adding fmuv3 into the list of firmwares we might run on Solo was a late
addition to the recent PRs.  It was forgotten that the inheritance would
cause a redefition failure
2022-04-06 16:38:23 +10:00
Andrew Tridgell 37d8feb928 hwdef: disable GPS drivers on low flash boards
only leave uBlox enabled on boards that are running out of flash
2022-04-06 14:14:07 +10:00
Andrew Tridgell c9bbfd94c0 hwdef: set AUTOBUILD_TARGETS None on eval boards 2022-04-06 14:13:44 +10:00
李孟晓 2d37bc9c78 AP_HAL_ChibiOS: CUAV-Nora: add usart3 support 2022-04-06 11:04:08 +10:00
Andrew Tridgell 06b6632f30 AP_Logger: fixed @SYS file logging
the key fix is the reset of the fd to -1. Without that fix we only
ever log @SYS/uarts.txt

The timing change is needed to get the files out in a reasonable
time. The function is actually getting called at 100Hz or less, not
1kHz (measured on MatekH743 copter at 400Hz). So we need to run it
faster to get the files logged in a reasonable time
2022-04-06 07:46:29 +10:00
Peter Barker d2c3c578c2 hwdef: add hwdef for CubeOrange-SimOnHardware 2022-04-05 18:10:14 +10:00
Andrew Tridgell 392e80001f HAL_ChibiOS: fixed H7 flash storage
this fixes the flash re-init problem when flash storage fills on
H7. It was caused by rejecting writes where one or more of the 32 byte
chunks was not all 0xff but was equal to the current data. That
happens when writing to the sector header in AP_FlashStorage

it also moves the interrupt disable inside the loop to allow for
other interrupts to run between blocks
2022-04-05 17:46:52 +10:00
Andrew Tridgell 093acc1577 HAL_ChibiOS: use 16 byte lines for flash storage on H7
this halves the number of flash writes needed, and makes flash storage
twice as space efficient on H7

On H7 we need to write 32 bytes at a time to flash, which corresponds
to 30 bytes of data in AP_FlashStorage. By using a 16 byte storage
line we don't waste as much space
2022-04-05 17:46:52 +10:00
Andrew Tridgell 055ee6ba82 HAL_ChibiOS: increase monitor thread stack by 512
this is needed to ensure that the log writes of MON and WDOG don't
overflow monitor thread stack
2022-04-05 17:46:52 +10:00
Andrew Tridgell 1b6620b42f HAL_ChibiOS: added expected delays on flash writes
this prevents a long loop internal error on disarm after a large
amount of flash writes when armed on a board with flash storage
2022-04-05 17:46:52 +10:00
Andrew Tridgell a0c867bce7 HAL_ChibiOS: disable interrupts during flash operations
we have now shown that interrupts being enabled during flash
operations can cause the infamous "68ms" bug, or watchdog when using a
32 bit timer on boards using flash for storage

The issue is quite repeatable with a load of a very large waypoint
file (over 500 waypoints) using "wp ftpload" in MAVProxy. This puts a
huge load on flash storage.

Our current working theory is that while doing flash writes for
storage on dual-bank we block access to only one bank, so if another
thread uses a timeout function with a short timeout while the flash
write is happening and chVTDoTickI calls code which crosses the flash
bank boundary then it can cause chVTDoTickI to violate the assumption
that no more than CH_CFG_ST_DELTA ticks pass while it is calculating
the value to set in the system timer. In that case we get a delay of a
full timer wrap, which is 68ms on boards with 16 bit timer and 70
minutes on boards with 32 bit timer
2022-04-05 17:46:52 +10:00
Andrew Tridgell f6f6521b28 Revert "hwdef: changed MatekH743 to a 32 bit timer"
This reverts commit 7dc5911572.
2022-04-05 17:46:52 +10:00
Andrew Tridgell 5ef9c5aaa5 HAL_ChibiOS: constrain more timer timeouts 2022-04-05 17:46:52 +10:00
Andrew Tridgell 4c977eb7a0 HAL_ChibiOS: prevent long timeouts in DShot
this prevents bad calculated timeouts in DShot. The timeout would
sometimes come out as 0xFFFFFFFF, which led to an assert and could
block the thread

This fix is meant to be minimilistic to allow it to be merged easily
into 4.2. A better fix would fix all the uint32_t wrap handling in
DShot
2022-04-05 17:46:52 +10:00
Andrew Tridgell a95b429acc AP_Math: added unsigned versions of constrain functions
sometimes it really does matter that we use constrain_uint32() instead
of constrain_int32(). For example, if we have a value like 0xFFFFFFFF
then the result will be very different

we should use unsigned constrain when dealing with unsigned values
2022-04-05 17:46:52 +10:00
Henry Wurzburg 82235163a2 AP_Scripting: remove original aerobatics example to avoid confusion 2022-04-05 10:12:13 +10:00
Henry Wurzburg fa81f7813c AP_Airspeed: correct metadata for params for non-Plane vehicles 2022-04-05 09:58:10 +10:00
Lokesh Ramina 11b3eccf66 AP_Periph: Hwdef CarbonixL496 update
Modification of CarbonixL496 to add more features.
Features:
To use internal clock of MCU, Oscillator value is set to 0.
LED pin changed from PA13 to PA15
Enabled  JTAG
Add interface to GPS and ADSB.
2022-04-05 09:57:02 +10:00
Nicholas Kruzan d42a287db0 AP_HAL_ESP32: partitions.csv - increase app partition to 3M 2022-04-05 08:41:11 +10:00
Nicholas Kruzan c3e071579d AP_Filesystem: AP_Filesystem_ESP32 allow_absolute_paths in ::open() 2022-04-05 08:40:26 +10:00
Andrew Tridgell 1c5a954b24 HAL_ChibiOS: incorrect class of class in uart TX timeout
need to call chEvtGetAndClearEventsI() as we are in a system lock
state
2022-04-04 16:59:38 +10:00
Peter Barker fd666dc4f1 AP_AHRS: subtract accel bias from correct ins accel instance
In the case that you have INS_USE indicating IMUs should be used, but
EK3_IMU_MASK leaving some IMUs unused, we subtract the bias from the
wrong INS data
2022-04-03 11:41:09 +10:00
Andrew Tridgell a01ca35939 AP_Logger: increase stack of log_io thread by 256
This was seem on omnibusf4pro, it is a bit too close:

  log_io PRI= 59 sp=0x20015CC0 STACK=144/1656
2022-04-01 19:56:30 +11:00
Mirko Denecke c1e0e9c305 AP_HAL_ChibiOS: fix ms5611 probe for NucleoH743 2022-03-31 16:31:13 +11:00
Randy Mackay 0dd9a8028b AR_WPNav: integrate scurve snap 2022-03-30 15:34:14 +09:00
Randy Mackay c233f114bd AR_PosControl: fixup logging to record desired and target velocity and acceleration 2022-03-30 15:34:14 +09:00
Randy Mackay 74df1c0b22 AR_PosControl: reduce default I term to zero 2022-03-30 15:34:14 +09:00
Randy Mackay 995ff30cd6 AC_Avoid: enable slide behaviour for rover 2022-03-30 15:34:14 +09:00
Randy Mackay 5d96804ef3 AR_WPNav: add protection against zero accel max 2022-03-30 15:34:14 +09:00
Randy Mackay a1b9fe5097 AR_WPNav: jerk time reduced to 0.1 sec 2022-03-30 15:34:14 +09:00
Randy Mackay c6dffb990f AR_WPNav: add set_nudge_speed_max
allows pilot to override speed_max from RC input
2022-03-30 15:34:14 +09:00
Randy Mackay 394a5fd2fc AR_WPNav: get/set_desired_speed renamed to get/set_speed_max
set_speed_max updates position controller limits and triggers recalculation of scurves
local _desired_speed member is no longer required because max speed is held in position controller
2022-03-30 15:34:14 +09:00
Randy Mackay 1996085282 AR_WPNav: init accepts speed max
also remove unused set_desired_speed_to_default
also init previous leg in set_desired_location
init accepts speed but inforces minimum
2022-03-30 15:34:14 +09:00
Randy Mackay a91025fa16 AR_WPNav: remove unused speed_min 2022-03-30 15:34:14 +09:00
Randy Mackay 537874c075 AR_WPNav: jerk_max maintained in position controller 2022-03-30 15:34:14 +09:00
Randy Mackay 54eee7d311 AR_WPNav: simplify init 2022-03-30 15:34:14 +09:00
Randy Mackay d03e801b65 AR_WPNav: remove get_accel_max, get_jerk_max 2022-03-30 15:34:14 +09:00
Randy Mackay 653afbeb15 AR_WPNav: enable_overspeed added to improve sailboat support 2022-03-30 15:34:14 +09:00
Randy Mackay 2f6e098f23 AR_WPNav: always use local calculation of cross track
also calc_crosstrack_error may return negative values
2022-03-30 15:34:14 +09:00
Randy Mackay 729dfee01c AR_WPNav: pivot turns stop before turning 2022-03-30 15:34:14 +09:00
Randy Mackay e0a628bb8c AR_WPNav: add is_fast_waypoint accessor 2022-03-30 15:34:14 +09:00
Randy Mackay 0bcae12ceb AR_WPNav_OA: use wpnav's expect fast updates 2022-03-30 15:34:14 +09:00
Randy Mackay f769a18996 AR_WPNav: add set_desired_location_expect_fast_update 2022-03-30 15:34:14 +09:00
Randy Mackay 1fd9da710d AR_WPNav: add internal error if invalid destination received 2022-03-30 15:34:14 +09:00
Randy Mackay 461c5196e7 AR_WPNav: add ACCEL and JERK params and accessors
allows users to specify a different acceleration and jerk for Auto, Guided, RTL, etc compared with manual modes (Acro, etc)
2022-03-30 15:34:14 +09:00
Randy Mackay 47ab961f42 AR_WPNav: fix application of turn-max-g 2022-03-30 15:34:14 +09:00
Randy Mackay b1237ffe80 AR_WPNav: always pivot at corners of at least WP_PIVOT_ANGLE 2022-03-30 15:34:14 +09:00
Randy Mackay 3d048ddcc2 AR_WPNav: fix pivot activation when reversing 2022-03-30 15:34:14 +09:00
Randy Mackay 6515e71fc1 AR_WPNav: move OA path planning handling into a separate class 2022-03-30 15:34:14 +09:00
Randy Mackay 2a1013e896 AR_WPNav: set desired lat accel and crosstrack to zero when disarmed 2022-03-30 15:34:14 +09:00
Randy Mackay a185e78271 AR_WPNav: integrate AR_PivotTurn class
moves pivot turn feature to separate class
also does not advance along scurve path while pivotin
2022-03-30 15:34:14 +09:00
Randy Mackay 7225d74777 AR_PivotTurn: pivot turn controller
also reduces default pivot speed to 60deg/sec (was 90deg/sec)
add would_active and allow activation to be forced
2022-03-30 15:34:14 +09:00
Randy Mackay 9d629f5ecd AR_WPNav: use position controller and s-curves 2022-03-30 15:34:14 +09:00
Randy Mackay abc7bd446a AR_PosControl: rover position controller 2022-03-30 15:34:14 +09:00
Randy Mackay 8fcefb59b1 AP_Math: add Vector2f::dot 2022-03-30 15:34:14 +09:00
Andy Piper 23f8a00619 AP_HAL_ChibiOS: use narrower bitwidths for dshot and LEDs to allow more accurate prescaler calculation 2022-03-30 17:11:09 +11:00
Andy Piper fff82bed75 AP_HAL: update prescaler tests 2022-03-30 17:11:09 +11:00
Peter Barker d9f819085c AP_Math: add specialisation for sq(float)
avoids conversion to double
2022-03-30 08:44:19 +11:00
Henry Wurzburg 479b02e5b0 HWDEF: add SLCAN OTG port, correct defaults.param errors 2022-03-29 10:43:51 +11:00
Andrew Tridgell 0879b497a4 AP_Param: fixed param class conversion code
param class conversion was unconditionally overwriting the parameter
from the old parameter. This meant if the user has set a value in an
old firmware they could not change it in a new firmware.

I hit this with ARSPD_TYPE. I had previously set this to 0 in a
previous use of the board, and found that it kept resetting to 0 on
the new firmware when I tried to enable airspeed
2022-03-29 10:41:33 +11:00
Andy Piper eb996f28cc AP_HAL_ChibiOS: spro H7 extreme updates.
cannot currently use both IMUs on spro H7 extreme due to CPU load
2022-03-29 10:39:35 +11:00
Andy Piper 63229d7eca AP_HAL_SITL: correct disable channel maths
unilaterally write rcoutput to appease the sitl gods
2022-03-29 10:29:31 +11:00
Andy Piper 6511a65b67 SRV_Channel: don't count disabled channels in mask and setup functions
disable channels that are not in use
2022-03-29 10:29:31 +11:00
Andy Piper 4fa0e275fd AP_HAL_ChibiOS: fix ESCs constantly arming on rover with dshot commands
make sure debug will compile
take into account active channels when configuring bdshot
add channel mask debug output
correct set bdshot telemetry position at startup
make sure all channels in a bdshot group are pulled high to prevent spurious pulses
2022-03-29 10:29:31 +11:00
xianglunkai abb0bf34d2 test_3d_lines:fix test result for test_3d_lines 2022-03-29 08:26:39 +09:00
xianglunkai 4513546845 vector3:return w1 not zero vector 2022-03-29 08:26:39 +09:00
Peter Barker 29c2c40c41 hwdef: enable both OreoLED and Solo gimbal on fmuv3
for users running fmuv3 on their Solo
2022-03-29 08:24:59 +09:00
Peter Barker a30f33a674 hwdef: enable both OreoLED and Solo gimbal on CubeOrange
for users who have replaced their CubeSolo with a CubeOrange
2022-03-29 08:24:59 +09:00
Peter Barker f3bf6e56c8 AP_Mount: enable Solo Gimbal only on CubeGreen 2022-03-29 08:24:59 +09:00
Peter Barker f186f612f9 AP_HAL_ChibiOS: enable Solo Gimbal only on CubeGreen 2022-03-29 08:24:59 +09:00
Bill Geyer 7e09f68f26 AP_Math: add chirp function to support frequency sweeps in systemid and autotune 2022-03-29 08:05:41 +09:00
Bill Geyer f1a6865caa AC_Autotune: clean up variable init for dwell 2022-03-29 08:05:41 +09:00
Bill Geyer bd0df72863 AC_AutoTune: use chirp function in AP_Math for frequency sweeps 2022-03-29 08:05:41 +09:00
Bill Geyer ce725764d4 AC_AutoTune: combine dwell_run_test for angle and rate 2022-03-29 08:05:41 +09:00
Bill Geyer ba28227483 AC_AutoTune: combine dwell_init methods 2022-03-29 08:05:41 +09:00
Bill Geyer bbc259329d AC_AutoTune:tradheli-streamline gcs messages 2022-03-29 08:05:41 +09:00
Andrew Tridgell 7dc5911572 hwdef: changed MatekH743 to a 32 bit timer
the 68ms issue is still present on this board. Switching to a 32 bit
timer will fix it, but loses us the tonealarm support
2022-03-29 07:45:23 +11:00
Andrew Tridgell 4564140745 HAL_ChibiOS: display source of RC input
distinguish between IOMCU, RCInput with bytes and RCInput with pulses
2022-03-28 17:09:26 +11:00
Andrew Tridgell b46b0d61a6 HAL_ChibiOS: switch between IOMCU and RCProt rapidly
keep the RCProtocol decoder going when IOMCU being used, allowing for fast failover
between IOMCU RC input and uart RC input
2022-03-28 17:09:26 +11:00
Andrew Tridgell 5df38d0298 AP_RCProtocol: added using_uart() method 2022-03-28 17:09:26 +11:00
Andrew Tridgell ee6a7f21ec AP_Logger: added terrain correction logging field 2022-03-28 16:01:21 +11:00
Andrew Tridgell 62dc865321 AP_Terrain: added logging of terrain correction 2022-03-28 16:01:21 +11:00
Andrew Tridgell 54f6dbf476 AP_Scripting: restored corrected boolean in height_amsl binding 2022-03-28 16:01:21 +11:00
Andrew Tridgell f8aa4623ef HAL_SITL: don't use terrain adjustment 2022-03-28 16:01:21 +11:00
Andrew Tridgell ed8f028359 AP_Arming: setup for terrain adjustment on arming 2022-03-28 16:01:21 +11:00
Andrew Tridgell 536b59ed42 SITL: don't use adjusted terrain in SITL 2022-03-28 16:01:21 +11:00
Andrew Tridgell 5f2c5be84a AP_Terrain: added terrain reference adjustment
this restores the terrain adjustment functionality removed in #19946,
but without the problematic approach of always using home (which can
be moved in flight) and with a TERR_OFS_MAX parameter to limit the
amount of adjustment
2022-03-28 16:01:21 +11:00
Peter Barker cafad05b38 AP_GPS: rearrange send-text for consistency 2022-03-27 06:21:20 -07:00
Peter Barker 88feb74762 AP_GPS: improve parameter documentation in UAVCAN GPS 2022-03-27 06:21:20 -07:00
bugobliterator bd2bf7fedc AP_HAL_SITL: add support for CANFD in SITL 2022-03-27 06:07:34 -07:00
bugobliterator 7d2ded8de1 AP_HAL: add support for CANFD in SITL 2022-03-27 06:07:34 -07:00
Iampete1 1521760a17 Filters: HarmonicNotch: remove statment on max number of notches harmonics from parm descripstion 2022-03-25 07:14:06 +11:00
BhumilDepani 8fa6432e3a AP_GPS: added comments in GPS_AUTO_test example sketch
Added comments in libraries/AP_GPS/examples/GPS_AUTO_text/GPS_AUTO_test.cpp file

AP_GPS: added comments to GPS_AUTO_test example sketch

Added comments in libraries/AP_GPS/examples/GPS_AUTO_text/GPS_AUTO_test.cpp file

AP_GPS: added comments to GPS_AUTO_test example sketch

AP_GPS: add comments to GPS_AUTO_text example sketch

AP_GPS: added comments in GPS_AUTO_test example sketch
2022-03-24 22:07:36 +11:00
Randy Mackay fc668b4bca AP_Scripting: copter fast descent gets improved slowdown 2022-03-24 19:21:54 +09:00
HefnySco 53c1c235b8 AP_HAL:RPI read cpu by revision 2022-03-24 00:51:27 -07:00
Andrew Tridgell 7947494cab HAL_ChibiOS: prevent conflicting RC input
when we have RC from both IOMCU and from rcprotocol (eg. from
SERIALn_PROTOCOL=23) we need to only process one of them. This
prioritises IOMCU input
2022-03-24 16:09:43 +11:00
Andy Piper 458ff45fe6 AP_HAL_ChibiOS: correct channel offsets for dshot commands
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2022-03-24 11:20:09 +09:00
Randy Mackay 2d5d74b7a8 AP_BLHeli: add reboot required to some parameters 2022-03-24 11:20:09 +09:00
Randy Mackay 5561a5e82e AP_HAL_ChibiOS: reversible DShot fix
Co-authored-by: Andy Piper <github@andypiper.com>
2022-03-24 08:01:48 +09:00
MallikarjunSE bf0ce19942 hwdef: RM3100 no false rotation 2022-03-24 07:47:11 +11:00
MallikarjunSE 549883772c hwdef: RM3100 reversal mask 2022-03-24 07:47:11 +11:00
Andrew Tridgell ce27ec2276 AP_BattMonitor: fixed battery remaining of sum battery
and move to common function for update_consumed()
2022-03-23 20:21:38 +11:00
bugobliterator 79c45049e0 AP_GPS: only use PPS time when there is atleast 2D Fix 2022-03-23 19:10:47 +11:00
bugobliterator 2dceb9a3ed AP_HAL_ChibiOS: ensure that common ram is selected for bootloader/app comms in STM32H7 2022-03-23 19:09:21 +11:00
bugobliterator 39b771c3a9 AP_Scripting: add support for can_printf in lua 2022-03-23 18:59:43 +11:00
Andrew Tridgell 73eabb1fd0 GCS_MAVLink: send GCS voltage to GCS
may be resting voltage of option enabled
2022-03-22 11:12:54 +11:00
Andrew Tridgell 9c067f360f AP_BattMonitor: added option to send resting voltage to GCS 2022-03-22 11:12:54 +11:00
Peter Barker f1ec657c41 GCS_MAVLink: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker fe863b9567 AP_Vehicle: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker 38a1c4412a AP_Mount: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker 3dae386ae3 AP_InertialSensor: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker df4911cbcb AP_NavEKF3: avoid direct use of Location alt field 2022-03-22 10:33:37 +11:00
Peter Barker 83011580f3 AP_NavEKF2: avoid direct use of Location alt field 2022-03-22 10:33:37 +11:00
Andrew Tridgell ce0b7a8957 AP_IOMCU: fixed handling of RC_OPTIONS bit to ignore RC failsafe bit
this worked on FMU but not on IOMCU
2022-03-22 10:30:35 +11:00
Andrew Tridgell 522173328c AP_RCProtocol: added failsafe_active() API 2022-03-22 10:30:35 +11:00
Andrew Tridgell e8115a99bc AP_Scripting: added set_override method for scripting
useful for test code
2022-03-22 10:21:06 +11:00
Willian Galvani 19db542111 AP_Param: Use AP:FS for accessing files 2022-03-22 10:19:21 +11:00
Willian Galvani 0e62d561d9 AP_Filesystem: add allow_absolute_paths to open(), implement it for posix backend 2022-03-22 10:19:21 +11:00
Andrew Tridgell feb9e78f00 AP_GPS: prevent switching to a dead GPS
when we switch away from the blended GPS instance we need to ensure we
don't switch to a GPS that is timing out, and may be the instance that
is triggering the disable of blending
2022-03-22 10:10:07 +11:00
pacolate12 0d256da3b5 AP_UAVCAN: correct array inxexing
Allows the code to be run on hardware
2022-03-20 07:32:33 -07:00
bugobliterator 8574afb2e1 AP_BoardConfig: add WHOAMI for INV42688 2022-03-20 07:23:10 -07:00
bugobliterator 7abcf9ec46 AP_HAL_ChibiOS: add CubeOrangePlus 2022-03-20 07:23:10 -07:00
Andrew Tridgell 54e4c6e1be hwdef: leave MatekL431 ROMFS uncompressed
this allows for bl update when low on memory
2022-03-19 12:06:04 +11:00
mateksys 35ed87a5db AP_HAL_ChibiOS: add MatekL431 AP_Periph hwdef 2022-03-19 12:06:04 +11:00
Henry Wurzburg c48b7319bc AP_RSSI: convert floating point divides into multiplys 2022-03-18 15:26:44 +11:00
Andrew Tridgell 7bb129aa3e AC_AttitudeControl: added set_lean_angle_max_cd() 2022-03-18 13:36:16 +11:00
Andrew Tridgell 7dcdeac7ab AC_Autorotation: use accel_to_angle() 2022-03-18 13:36:16 +11:00
Andrew Tridgell f824be726c AC_WPNav: use angle/accel functions 2022-03-18 13:36:16 +11:00
Andrew Tridgell ca4151be2c AP_Math: added angle_to_accel() and accel_to_angle() 2022-03-18 13:36:16 +11:00
Peter Barker ebe2205ba7 SITL: add on-hardware example files 2022-03-17 14:39:55 +11:00
Peter Barker fa2e841387 AP_HAL: honour HAL_SIM_GPS_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker e0561b0ca1 GCS_MAVLink: split AP_HAL_SITL and HAL_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker 7ad9609fb7 AP_AHRS: split AP_HAL_SITL and HAL_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker 0bcda3c57e AP_Vehicle: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker 57f8b7c2a8 AP_Compass: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker daedebce2e AP_Baro: create and use HAL_SIM_BARO_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker a53af5277c AP_InertialSensor: assume accel cals are stored for sitl-on-hw
Same as for SITL - they don't need to actually be in storage to be valid
2022-03-17 14:39:55 +11:00
Peter Barker da21b48f7e AP_InertialSensor: split AP_HAL_SITL and HAL_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker a402dce95b AP_HAL: permit double-maths whe simulating 2022-03-17 14:39:55 +11:00
Peter Barker 650ef59be8 AP_HAL: create HAL::SIMState object to hold simulation state 2022-03-17 14:39:55 +11:00
Peter Barker f7608c22da AP_HAL_ChibiOS: set pwm output values in simstate object 2022-03-17 14:39:55 +11:00
Peter Barker 8b2f85756a AP_HAL_ChibiOS: instantiate SIMState object in HAL 2022-03-17 14:39:55 +11:00
Peter Barker 26d6c2413b AP_Scheduler: update simulation state on embedded 2022-03-17 14:39:55 +11:00
Peter Barker e07ddf95b4 AP_Math: provide rand_float on embedded hardware 2022-03-17 14:39:55 +11:00
Peter Barker a9aa5c2d60 AP_GPS: add a new AP_GPS_SITL object 2022-03-17 14:39:55 +11:00
Peter Barker edef2ceb56 SITL: usleep only on AP_HAL_SITL 2022-03-17 14:39:55 +11:00
Peter Barker b360521d0b SITL: permit double-precision maths in SITL even on embedded hardware 2022-03-17 14:39:55 +11:00
Peter Barker 2e809282e7 SITL: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker 0957131543 SITL: use AP_HAL::micros() for get_wall_time_us 2022-03-17 14:39:55 +11:00
Peter Barker 3cf7091525 SITL: make parsing of json files dependent on PICOJSON
picojson uses the standard library; this will be a problem on embedded
platforms
2022-03-17 14:39:55 +11:00
Peter Barker 4896f8a6d7 AP_AHRS: rename SITL backend to SIM 2022-03-17 14:39:55 +11:00
Andrew Tridgell 92a8964503 AP_Arming: display a warning if arming checks disabled when arming 2022-03-17 06:52:47 +11:00
Andy Piper ceef68e07b AP_HAL_ChibiOS: allow H7 480Mhz clock speed to be configured in hwdef via MCU_CLOCKRATE_MHZ 2022-03-16 20:37:30 +11:00
murata 8f1369f065 PID: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 82afaf70f6 AR_Motors: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata bb72f91dda APM_Control: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata bf738b03a6 AP_WheelEncoder: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 8f91fe9c2e AP_VisualOdom: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 5d2c49e202 AP_VideoTX: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata cad63eb6b6 AP_Torqeedo: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata a1a46b54e9 AP_Soaring: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata af3fbac118 AP_PiccoloCAN: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 4eca7383b8 AP_Mount: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata db7fe2ba4e AP_Mission: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata ae896ff8c2 AP_LTM_Telem: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 7897807a78 AP_Winch: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata e977f85647 AP_OSD: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 6d4a923cce AP_Motors: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata efe8427279 AP_InertialSensor: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata c90e42d10a AP_GyroFFT: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata be89285d10 AP_Generator: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 12b3b22dbc AP_Beacon: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 9d321c5c31 AP_BattMonitor: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata aabbda3978 AP_Baro: Change from division to multiplication 2022-03-16 18:41:52 +11:00
murata 12957c835a AC_InputManager: Change from division to multiplication 2022-03-16 18:41:52 +11:00
Jaaaky 7d95b1ddd3 AP_FlashIface: Fixed could be used unintialized 2022-03-15 11:44:20 +11:00
Andy Piper 222717cc88 AP_HAL_ChibiOS: add KakuteH7-bdshot target 2022-03-15 10:18:58 +11:00
Henry Wurzburg 73006d9a7c AP_OSD: make OSD rssi scale match link quality (0-100) 2022-03-15 10:18:09 +11:00
Andy Piper b112f8dba1 AP_Declination: ensure indexing into declination tables is always correct
add constants for table sizes
2022-03-15 10:15:22 +11:00
Peter Barker 470cb2caa2 AP_HAL_ChibiOS: turn autocal off for periphs 2022-03-15 08:52:37 +11:00
Peter Barker deb7b13da5 AP_Airspeed: disable AUTOCAL if airspeed is disabled 2022-03-15 08:52:37 +11:00
李孟晓 81b129d3b3 AP_HAL_ChibiOS: CUAVv5: use icm42688p instead of icm20602 2022-03-15 05:59:14 +11:00
Andrew Tridgell bd68dc6a51 AP_Arming: make mission checks virtual 2022-03-14 09:52:41 +11:00
AndKe caaa5002ab AP_HAL_ChibiOS: add OREOLED to CubeGreen 2022-03-14 09:19:37 +11:00
Henry Wurzburg 6ba9946cfc AP_CANManager: correct parameter metadata error 2022-03-14 08:18:13 +11:00
iainguilliard ea0b6dfcb2 HAL_ChibiOS: add MatekF405-STD S7 PWM output
MatekF405-STD board has a pad for S7 PWM output from pin PB8 missing in hwdef
2022-03-13 14:00:26 +11:00
Peter Barker e486671bb2 AP_HAL_ChibiOS: correct #ifndef nesting in periph defaults 2022-03-13 13:23:51 +11:00
bugobliterator 6a0c46d241 AP_HAL_Periph: assert clock is FDCANCLK is 80MHz for H7 boards 2022-03-11 18:13:54 +11:00
bugobliterator 633eb0db8b AP_HAL_ChibiOS: move to using data_32 for copying into CANFD buffer 2022-03-11 18:13:54 +11:00
bugobliterator 5865680070 AP_UAVCAN: move pool allocator to cpp 2022-03-11 18:13:54 +11:00
bugobliterator faf0c0d7c3 AP_HAL_ChibiOS: set canfd bitrates using CANFD_SUPPORTED opt 2022-03-11 18:13:54 +11:00
bugobliterator 28b76474cd AP_CANManager: set canfd bitrates using CANFD_SUPPORTED opt
also adds option to set as 4MBits/s
2022-03-11 18:13:54 +11:00
bugobliterator 4bdbd37731 AP_HAL_ChibiOS: use datalength when copying payload into CAN Frames 2022-03-11 18:13:54 +11:00
Andrew Tridgell cf5d94b81f AP_CANManager: fixed slcan receive of CANFD frames 2022-03-11 18:13:54 +11:00
Andrew Tridgell d28cecf25b GCS_MAVLink: support CANFD_FRAME messages 2022-03-11 18:13:54 +11:00
Andrew Tridgell 6320599404 AP_CANManager: support mavcan with CANFD_FRAME 2022-03-11 18:13:54 +11:00
bugobliterator 90a660b445 AP_HAL_ChibiOS: update clock tree to have FDCAN Base clock at 80MHz 2022-03-11 18:13:54 +11:00
bugobliterator 3569435531 AP_UAVCAN: ensure that we publish allocation messages in STD CAN format 2022-03-11 18:13:54 +11:00
bugobliterator e996392671 GCS_MAVLink: disable CANTester by default 2022-03-11 18:13:54 +11:00
bugobliterator c0188fbf0e AP_CANManager: disable CANTester by default 2022-03-11 18:13:54 +11:00
bugobliterator 47dd964e63 AP_HAL_ChibiOS: add init method to take in separate canfd bitrate 2022-03-11 18:13:54 +11:00
bugobliterator cb1bc4e613 AP_CANManager: add support for enabling CANFD 2022-03-11 18:13:54 +11:00
bugobliterator 1f43c79bfd AP_HAL: add support for taking in canfd bitrate in caniface 2022-03-11 18:13:54 +11:00
Siddharth Purohit 72090d10da AP_HAL_ChibiOS: add hwdef config to enable CANFD support 2022-03-11 18:13:54 +11:00
Siddharth Purohit 5bc65bb54e AP_HAL: set CANFrame max data length based on CANFD availability 2022-03-11 18:13:54 +11:00
Siddharth Purohit 563e69e64c AP_CANManager: add support for trx CANFD frames over SLCAN 2022-03-11 18:13:54 +11:00
Siddharth Purohit ef1bdc2e5f AP_UAVCAN: add support for optionally publishing CANFD frames 2022-03-11 18:13:54 +11:00
Siddharth Purohit 8aa047d876 AP_HAL_ChibiOS: add support for CANFD for H7 and G4 2022-03-11 18:13:54 +11:00
Siddharth Purohit e9f426f8fd AP_HAL: update CANFrame to include CANFD details 2022-03-11 18:13:54 +11:00
Siddharth Purohit 153834465b AP_HAL: add HAL_CANFD_SUPPORTED define 2022-03-11 18:13:54 +11:00
Siddharth Purohit 287151a858 AP_CANManager: add support for CANFD tests 2022-03-11 18:13:54 +11:00
MallikarjunSE 228796d55b AP_HAL_ChibiOS: Add Sierra-F9P support 2022-03-10 08:29:51 +11:00
Andrew Tridgell cdd63a239e AP_Scripting: fixed radius selection for ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell 3f0110e924 AP_Scripting: fixed beacon lost in ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell ba57e0a9d8 AP_Scripting: review fixes 2022-03-10 07:34:20 +11:00
Andrew Tridgell c658f170cb SITL: fixed ship offset velocity correction 2022-03-10 07:34:20 +11:00
Andrew Tridgell 8973519232 AP_Common: improved accuracy of get_bearing()
make base function ftype, then convert to int32_t for get_bearing_to()
2022-03-10 07:34:20 +11:00
Andrew Tridgell 3d9086b460 AP_Scripting: update lua docs 2022-03-10 07:34:20 +11:00
Andrew Tridgell 3dca7f08b7 AP_Scripting: plane ship landing script 2022-03-10 07:34:20 +11:00
Andrew Tridgell 5c94be1d72 AP_Scripting: added rotate_xy for Vector3f 2022-03-10 07:34:20 +11:00
Andrew Tridgell 197ccda408 AP_Scripting: added follow API 2022-03-10 07:34:20 +11:00
Andrew Tridgell 711ecb45ab AP_Vehicle: added update_target_location() 2022-03-10 07:34:20 +11:00
Andrew Tridgell 18782c4990 SITL: added ship offset and ATTITUDE 2022-03-10 07:34:20 +11:00
Andrew Tridgell ab64744ccd AP_Follow: added APIs for plane ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell 07b78ab9a6 SITL: removed terrain home correction 2022-03-10 07:34:20 +11:00
Andrew Tridgell 5d3a0a78cb AP_Terrain: removed terrain home correction 2022-03-10 07:34:20 +11:00
Andrew Tridgell 0de1185625 AP_Scripting: removed terrain home correction 2022-03-10 07:34:20 +11:00
Andrew Tridgell 535d7f0d85 AP_HAL_SITL: removed terrain home correction 2022-03-10 07:34:20 +11:00
Andrew Tridgell 5560dc24b5 AP_Common: removed terrain home correction 2022-03-10 07:34:20 +11:00
Andy Piper bb3bedb90d AP_HAL: always choose high for dshot prescaler calculation 2022-03-09 18:23:41 +11:00
Iampete1 4386d748de AC_AttitudeControl: WeatherVane: defualt to 0 gain on plane and early return 2022-03-09 18:02:41 +11:00
Andrew Tridgell eee2b00d8c AP_Math: fixed build error on cygwin
ensure variables are always initialised
2022-03-09 14:08:26 +11:00
Iampete1 bb1dc2e9a1 AP_Motors: update no motor found warning message 2022-03-09 08:46:55 +09:00
murata d3b7bbf994 SITL: Change build errors 2022-03-08 14:37:21 -08:00
Tom Pittenger 42d1ce635b AP_Airspeed: improve description of ARSPD_TUBE_ORDR 2022-03-08 14:34:58 -08:00
Henry Wurzburg 8ab92f42cd AP_RangeFinder: add build option for Rangefinders 2022-03-08 14:33:38 -08:00
Iampete1 e07e22c0fe AP_Scripting: applets: add forward flight motor shutdown readme 2022-03-08 14:30:48 -08:00
Iampete1 3875715f67 AP_Scripting: applets: add motor failure testing sctipt 2022-03-08 14:30:48 -08:00
murata b4d4ed8a50 AP_Scripting: Change to no message notification in DISARMED state 2022-03-08 14:28:26 -08:00
murata eb78a0a4a6 hwdef: Set the maximum number of barometric pressure sensors to 1 2022-03-08 14:21:31 -08:00
murata 60eb6ff1b7 hwdef: Maximum number of battery monitors is 1 2022-03-08 14:21:31 -08:00
Andrew Tridgell 74f1a8007d hwdef: enable GPS_MOVING_BASELINE on FreeflyRTK and f303-GPS
this allows for F9P based dual-GPS yaw on DroneCAN peripherals with
auto-config
2022-03-09 07:52:42 +11:00
Andrew Tridgell 1858969697 AP_Notify: fixed DroneCAN LEDs on AP_Periph
override needs to be 0 for LEDs to work on peripherals from DroneCAN
notification packets
2022-03-09 07:51:35 +11:00
Andrew Tridgell 86c25b98d5 hwdef: added HolybroG4_GPS 2022-03-09 07:51:35 +11:00
Leonard Hall 289b1ca75a AC_WPNav: Support pause 2022-03-08 13:12:36 +09:00
Andrew Tridgell 93031e297d HAL_ChibiOS: fixed min/max inversion in MCU voltage logging 2022-03-08 11:33:21 +11:00
Peter Barker c7d72821da AP_RangeFinder: add AP_RANGEFINDER_LEDDARVU8_ENABLED 2022-03-08 11:29:13 +11:00
RuffaloVM 4d40ef5d0a AP_NavEKF : remove the space around the operator 2022-03-08 09:19:52 +09:00
Peter Barker 30c08c1e7c RC_Channel: rename within_min_dz to in_min_dz for consistency
... consistency with in_trim_dz
2022-03-08 11:17:45 +11:00
Iampete1 515db96858 AP_PiccoloCAN: GPIO servo does not count as active 2022-03-08 11:16:42 +11:00
Iampete1 ea442dae1e AP_Arming: don't arming check servo functions set to GPIO 2022-03-08 11:16:42 +11:00
Michael du Breuil 041b2b594b AP_Compass: Fix compass priority instance message to make sense to users 2022-03-08 10:32:05 +11:00
Leonard Hall 56e47cb8cc AC_PosControl: Decay posiiton error during relax 2022-03-07 16:14:23 +09:00
Leonard Hall 0ce44ad1ba AC_WPNav: init optionally accepts stopping point 2022-03-07 16:14:23 +09:00
Leonard Hall 376dc72907 AC_Loiter: use Pos_Control soften_for_landing_xy 2022-03-07 16:14:23 +09:00
Leonard Hall 057be63fdd AC_AttitudeControl: AC_PosControl: add soften for landing 2022-03-07 16:14:23 +09:00
MallikarjunSE 5cd1c7783d hwdef: hwdef update with watchdog 2022-03-07 16:15:41 +11:00
MallikarjunSE 360ddb2aed hwdef:update storage pages and enable watchdog 2022-03-07 16:15:41 +11:00
Peter Barker 28bc05eb84 AC_AutoTune: Vector tidying 2022-03-07 08:22:58 +09:00
Peter Barker 9539362320 AC_AutoTune_Heli: use structure assignment to clear structures 2022-03-07 08:22:58 +09:00
Peter Barker 7ff6442aeb AC_AutoTune: use structure assignment for test results 2022-03-07 08:22:58 +09:00
Peter Barker 33c7bb21cf AC_AutoTune: createstructure to hold specific test's sweep results 2022-03-07 08:22:58 +09:00
Leonard Hall 93aea67810 AC_WPNav: Increase corner speeds 2022-03-05 11:34:40 +09:00
Leonard Hall 7673948d2a AP_Math: SCurve: Increase corner speeds 2022-03-05 11:34:40 +09:00
Leonard Hall 5fa37e253e AC_WP_Nav: Convert S-Curves to use maximum Snap to remove minimum time between waypoints 2022-03-05 11:34:40 +09:00
Leonard Hall a8b86e9c45 AP_Math: Convert S-Curves to use maximum Snap to remove minimum time between waypoints 2022-03-05 11:34:40 +09:00
xianglunkai 2e5c201222 AR_AttitudeControl: use _desired_speed instead of desired_speed for throttle-speed controller 2022-03-04 17:51:19 +11:00
Randy Mackay e6f488ccc1 AP_Follow: zreo velocities if not provided 2022-03-04 11:49:23 +09:00
Andrew Tridgell 99cf10ce12 AP_Follow: support the FOLLOW_TARGET mavlink message
this is used by qgroundcontrol, allowing follow on a mobile device

note that you must set the qgc option to "always send follow" and also
must set FOLL_ALT_TYPE=2 in ArduPilot
2022-03-04 06:47:11 +11:00
Andy Piper 72d01aa8da SITL: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper 173a43e361 AP_Proximity: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper 5a7f5844d4 AP_HAL: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper eb259971e0 AP_Generator: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper 6a31e4d816 AP_Frsky_Telem: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper ac7ee37b20 AP_FETtecOneWire: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper 4ac73e4ffd AP_ExternalAHRS: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andy Piper 578ca147b7 AP_Common: add UNUSED_PRIVATE_MEMBER 2022-03-03 16:34:14 +11:00
Andy Piper 8b563836ac AC_AutoTune: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andrew Tridgell 7999335727 hwdef: fixed buzzer on CUAV_GPS peripheral 2022-03-03 16:26:27 +11:00
Michael du Breuil 976e0ecc29 SRV_Channel: Changing servo functions are now reboot required
Changing from a PWM function to GPIO now requires a reboot.
2022-03-03 16:06:36 +11:00
Stephen Dade 1344a0f41a GCS_MAVLink: Add support for High Latency MAVLink protocol 2022-03-03 14:56:15 +11:00
Stephen Dade da4602b5d2 AP_SerialManager: Add support for High Latency MAVLink protocol 2022-03-03 14:56:15 +11:00
Peter Barker 11f7cce978 AP_HAL_ChibiOS: allow specification of AUTOBUILD_TARGETS in hwdef files 2022-03-03 09:03:17 +11:00
Andrew Tridgell d8fb6cc522 AP_Scripting: added example for orbit follow
allows a following vehicle to orbit the lead vehicle
2022-03-02 18:18:43 +11:00
Iampete1 3e75283717 AP_Math: ftype: include float.h 2022-03-02 18:16:42 +11:00
Iampete1 9ec8bb17b2 AP_Math: benchmarks: define hal 2022-03-02 18:16:42 +11:00
Iampete1 97602aadf5 AP_Math: examples: test custom rotations 2022-03-02 18:16:42 +11:00
Iampete1 15326a8d90 AP_Math: tests: define hal where requirerd for custom rotaitons 2022-03-02 18:16:42 +11:00
Iampete1 2b9421c4db add AP_CustomRotations 2022-03-02 18:16:42 +11:00
Iampete1 6c48c346c1 AP_Compass: convert param to new custom rotation 2022-03-02 18:16:42 +11:00
Iampete1 480cc3fa46 AP_AHRS: convert param to new custom rotation 2022-03-02 18:16:42 +11:00