Commit Graph

48134 Commits

Author SHA1 Message Date
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 21bd2b7008 Tools: allow for double EKF build 2021-07-23 10:19:45 +09:00
Andrew Tridgell 41154e0f1b waf: added --ekf-double configure option 2021-07-23 10:19:45 +09:00
Andrew Tridgell a4693d191c Plane: prepare for 4.1.0beta3 2021-07-23 10:19:45 +09:00
Andrew Tridgell 01b6eaf200 Plane: updated release notes for 4.1.0beta3 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
Andrew Tridgell 06066c1af2 Plane: fixed motor test with DShot VTOL motors
need to arm when running the motor test
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
Andrew Tridgell 080ebe9cb2 Plane: prepare for 4.1.0beta2 release 2021-07-23 10:19:45 +09:00
Andrew Tridgell 5132442b1e Plane: prepare for 4.1.0beta1 release 2021-07-23 10:19:45 +09:00
Randy Mackay 6668c072f6 Copter: version to 4.1.0-beta5 2021-07-23 10:19:45 +09:00
Randy Mackay 4acdce2a8b Rover: version to 4.1.0-beta5 2021-06-30 14:40:15 +09:00
Randy Mackay b3b7fec71c Rover: 4.1.0-beta5 release notes 2021-06-30 14:37:48 +09:00
Randy Mackay 97db237b96 Copter: 4.1.0-beta5 release notes 2021-06-30 13:45:03 +09:00
Randy Mackay cb0cb38949 mavlink: move submodule reference forward to latest 2021-06-30 12:05:09 +09:00
Randy Mackay 8c5eecf84e Rover: call send-water-depth 2021-06-30 12:05:09 +09:00
Randy Mackay 3900a4f14a GCS_MAVLink: send water depth and temp 2021-06-30 12:05:09 +09:00
Andrew Tridgell 5eb1d4a5a9 Copter: improve check of far_from_EKF_origin
- increases the maximum distance from EKF origin to 250km horizontally
- adds arming check that the vehicle is within 250km of the EKF origin
- fixes a bug in the far-from-EKF-origin related to height (was 500m, now 50km)
2021-06-30 11:52:55 +09:00
Hwurzburg 4c7a9146c6 Rover: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Hwurzburg 8eaf45f185 Blimp: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Hwurzburg ac76a63931 ArduPlane: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Hwurzburg e6c80744db ArduCopter: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Hwurzburg 106e5e0115 AntennaTracker: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Shiv 4a39424d6b Copter: added comments to include libraries in copter.h and attitude.cpp
fixed typo in a comment and added more comments for included libraries in copter.h and fixed a comment in attitude.cpp
2021-06-30 09:23:24 +09:00
Andrew Tridgell a7f31929ea AP_Common: use longitude scaling from definitions.h 2021-06-29 17:26:34 +09:00