Andrew Tridgell
faec3e1a8a
AP_NavEKF: sync for 4.1.0beta
2021-07-23 10:19:46 +09:00
Andrew Tridgell
f60c592af3
AP_Math: sync for 4.1.0beta releases
2021-07-23 10:19:46 +09:00
Andrew Tridgell
01156ed348
AP_Common: make longitude_scale() a static
...
this changes the use of longitude_scale() to use the average latitude
instead of the lattitude at one end of the line when calculating
positions and distances. It means we obey the basic geometry rule
that:
pos1 + offs = pos2
pos2 - offs == pos1
2021-07-23 10:19:46 +09:00
Andrew Tridgell
c9b9a6a616
HAL_ChibiOS: run storage writes at 1kHz not 100Hz
...
The 100Hz update rate means there is a significant chance of an arming
failure after mission upload if you try to arm shortly after the
update.
Each mission item is 15 bytes, so with a 1200 item mission we need to
write 18000 bytes to storage. At 100Hz, with 8 bytes per storage line,
that takes over 22 seconds.
2021-07-23 10:19:46 +09:00
Peter Barker
304927a41e
AP_NavEKF3: pass NavEKF failures back up to callers
2021-07-23 10:19:46 +09:00
Andrew Tridgell
c31de1a5ca
AP_NavEKF3: process GPS yaw independently of GPS fix
...
this processes GPS yaw with its own timestamp and as a separated step
from fusing position and velocity. This makes the yaw time handling
more accurate as yaw for moving baseline GPS comes in as a separate
piece of data from the position and velocity
2021-07-23 10:19:46 +09:00
Andrew Tridgell
56ddaa1a99
AP_NavEKF3: fixed indentation in readGpsData()
2021-07-23 10:19:46 +09:00
Andrew Tridgell
579e4566c6
AP_NavEKF3: implement moving origin
...
this shifts EKF_origin to the current location at 1Hz, while leaving
public_origin alone. All output APIs and logging are relative to
public_origin.
The effect of this change is to remove the distortion caused by a
spherical earth, which allows the EKF to operate without errors at
very long distances from the public_origin.
2021-07-23 10:19:46 +09:00
Andrew Tridgell
d43e95a39a
AP_NavEKF3: moved checkUpdateEarthField to be called less often
2021-07-23 10:19:46 +09:00
Andrew Tridgell
e409202bef
AP_NavEKF3: update earth field at 1Hz
...
this prevents large mag errors on long distance flights
2021-07-23 10:19:46 +09:00
Andrew Tridgell
399cd4ea03
AP_Common: added ftype precision offset call
...
# Conflicts:
# libraries/AP_Common/Location.cpp
# libraries/AP_Common/Location.h
2021-07-23 10:19:46 +09:00
Andrew Tridgell
163a37efa7
AP_NavEKF3: convert code_gen.py to ftype
2021-07-23 10:19:46 +09:00
Andrew Tridgell
5531703548
AP_NavEKF3: convert powF(xx,2) calls to sq(xx)
2021-07-23 10:19:46 +09:00
Andrew Tridgell
c988f23389
AP_NavEKF3: convert EKF3 derivation to ftype
2021-07-23 10:19:46 +09:00
Andrew Tridgell
e11c94602b
HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7
2021-07-23 10:19:46 +09:00
Andrew Tridgell
1119ffe6ba
AP_NavEKF3: allow for double EKF build
2021-07-23 10:19:46 +09:00
Andrew Tridgell
edbaf9f3c1
AP_NavEKF2: allow for double EKF build
2021-07-23 10:19:46 +09:00
Andrew Tridgell
d31ca6ca8c
AP_NavEKF: allow for double EKF build
2021-07-23 10:19:46 +09:00
Andrew Tridgell
6484a9666c
AP_Mount: use ZERO_FARRAY()
2021-07-23 10:19:45 +09:00
Andrew Tridgell
6bcc0737ae
AP_Motors: fixup build for ftype conflict
2021-07-23 10:19:45 +09:00
Andrew Tridgell
9629b19ec1
AP_Common: added double methods for SITL
2021-07-23 10:19:45 +09:00
Andrew Tridgell
970ae3dd76
SITL: fixup offset calls
2021-07-23 10:19:45 +09:00
Andrew Tridgell
232ccfe477
AP_Math: allow for double EKF build
2021-07-23 10:19:45 +09:00
Andrew Tridgell
712fbd08dc
HAL_ChibiOS: use SRAM1 as first ram segment on H7
...
this is needed to give the linker more than 128k for static variables
with double precision maths.
2021-07-23 10:19:45 +09:00
Andrew Tridgell
53ecf048d1
AP_HAL: allow for double EKF build
2021-07-23 10:19:45 +09:00
Andrew Tridgell
079577a6e5
APM_Control: adjust fixed wing filter defaults
...
adjust defaults based on discussions with Paul, and initialise the
FLTT value based on the controller time constant
2021-07-23 10:19:45 +09:00
Andrew Tridgell
36b22cffb6
AP_Notify: disable DShot buzzer by default
2021-07-23 10:19:45 +09:00
Andy Piper
c265d70d3d
AP_Notify: re-enable display on 1Mb boards
2021-07-23 10:19:45 +09:00
Andrew Tridgell
3a683be219
HAL_ChibiOS: always send zero DShot when disarmed
...
this prevents a misconfigured system (for example SERVOn_REVERSED=1)
from running a motor while disarmed.
See https://discuss.ardupilot.org/t/plane-4-1-0-beta/72434/34?u=tridge
2021-07-23 10:19:45 +09:00
Andrew Tridgell
a757706797
AP_Logger: fixed log creation on forced arm
...
when we force arm we need to ask the IO thread to create the log, not
create it ourselves
2021-07-23 10:19:45 +09:00
Randy Mackay
3900a4f14a
GCS_MAVLink: send water depth and temp
2021-06-30 12:05:09 +09:00
Andrew Tridgell
a7f31929ea
AP_Common: use longitude scaling from definitions.h
2021-06-29 17:26:34 +09:00
Andrew Tridgell
978ea307b0
AP_Math: fixed the value LATLON_TO_CM
...
it didn't have enough digits of precision, and was inconsistent with
LOCATION_SCALING_FACTOR
2021-06-29 17:26:34 +09:00
Peter Barker
819c331acd
AP_BattMonitor: correct static_assert call
2021-06-28 11:05:00 +09:00
Peter Barker
67ebdc300b
AP_HAL_SITL: reduce scope of loop variable
2021-06-27 10:57:07 +10:00
Leonard Hall
fcde1e7370
AC_WPNav: use shaping_tc_z_s for terrain following time constant.
2021-06-25 16:54:05 +09:00
Leonard Hall
8f493e3021
AC_AttitudeControl: Add shaping_tc_z_s accessor
2021-06-25 16:54:05 +09:00
Andrew Tridgell
f12a7dd04b
AP_Mount: fixed longitude subtraction
2021-06-25 15:33:55 +10:00
Peter Barker
f69e2a49f6
AP_Common: add test for longitude wrapping
2021-06-25 15:33:55 +10:00
Andrew Tridgell
77d83b9c77
AP_Common: fixed Location class for wrap at 180 degrees longitude
...
this allows us to fly missions across the date line
2021-06-25 15:33:55 +10:00
Leonard Hall
5475d1153c
AC_PosControl: fixup ekf reset
2021-06-25 10:01:49 +09:00
Andrew Tridgell
4895a08ab2
AP_IRLock: convert SITL backends to double precision position
2021-06-24 21:34:30 +10:00
Andrew Tridgell
f209504a12
AC_PrecLand: convert SITL backends to double precision position
2021-06-24 21:34:30 +10:00
Andrew Tridgell
aa03afafa7
AP_Math: added matrix3 tofloat and todouble
2021-06-24 21:34:30 +10:00
Andrew Tridgell
61faeb2d7f
AP_Common: added double methods for SITL
2021-06-24 21:34:30 +10:00
Andrew Tridgell
fb275c9874
SITL: convert to double precision for positions
2021-06-24 21:34:30 +10:00
Andrew Tridgell
1d00cab9e6
AC_WPNav: convert circle, loiter and WPNav to double position
2021-06-24 21:34:30 +10:00
Andrew Tridgell
66186e5221
AC_AttitudeControl: convert poscontrol to use double position
2021-06-24 21:34:30 +10:00
Andrew Tridgell
c8079a318c
AC_PID: convert AC_P_2D to double
2021-06-24 21:34:30 +10:00
Andrew Tridgell
9b91cfe4ee
AP_Math: implement double versions of some position control methods
2021-06-24 21:34:30 +10:00