Commit Graph

48132 Commits

Author SHA1 Message Date
Andrew Tridgell 1d46e77942 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-22 16:01:00 +10:00
Andrew Tridgell f0bc4bca84 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-22 16:01:00 +10:00
Peter Barker 156a220d5b AP_NavEKF3: pass NavEKF failures back up to callers 2021-07-22 16:01:00 +10:00
Andrew Tridgell 9f03f5a9a9 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-22 16:01:00 +10:00
Andrew Tridgell 4408eecb18 AP_NavEKF3: fixed indentation in readGpsData() 2021-07-22 16:01:00 +10:00
Andrew Tridgell cc03255245 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-22 16:01:00 +10:00
Andrew Tridgell 8c9663e47c AP_NavEKF3: moved checkUpdateEarthField to be called less often 2021-07-22 16:01:00 +10:00
Andrew Tridgell c05e93e51e AP_NavEKF3: update earth field at 1Hz
this prevents large mag errors on long distance flights
2021-07-22 16:01:00 +10:00
Andrew Tridgell f2668f8e8e AP_Common: added ftype precision offset call
# Conflicts:
#	libraries/AP_Common/Location.cpp
#	libraries/AP_Common/Location.h
2021-07-22 16:01:00 +10:00
Andrew Tridgell edb11d4d71 AP_NavEKF3: convert code_gen.py to ftype 2021-07-22 16:01:00 +10:00
Andrew Tridgell 823ed4c309 AP_NavEKF3: convert powF(xx,2) calls to sq(xx) 2021-07-22 16:01:00 +10:00
Andrew Tridgell b6fb7383e7 AP_NavEKF3: convert EKF3 derivation to ftype 2021-07-22 16:01:00 +10:00
Andrew Tridgell fa3f3dd218 HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7 2021-07-22 16:01:00 +10:00
Andrew Tridgell a6c5b65f4a AP_NavEKF3: allow for double EKF build 2021-07-22 16:01:00 +10:00
Andrew Tridgell 380b9b39ed AP_NavEKF2: allow for double EKF build 2021-07-22 16:01:00 +10:00
Andrew Tridgell 10facfc519 AP_NavEKF: allow for double EKF build 2021-07-22 16:01:00 +10:00
Andrew Tridgell 4dfa6258d9 AP_Mount: use ZERO_FARRAY() 2021-07-22 16:01:00 +10:00
Andrew Tridgell 26820c3a8c AP_Motors: fixup build for ftype conflict 2021-07-22 16:01:00 +10:00
Andrew Tridgell 425c8aafb1 AP_Common: added double methods for SITL 2021-07-22 16:01:00 +10:00
Andrew Tridgell d698987070 SITL: fixup offset calls 2021-07-22 16:01:00 +10:00
Andrew Tridgell e7afa628d1 AP_Math: allow for double EKF build 2021-07-22 16:01:00 +10:00
Andrew Tridgell c6c197d4fb 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-22 16:01:00 +10:00
Andrew Tridgell 309500c84f AP_HAL: allow for double EKF build 2021-07-22 16:01:00 +10:00
Andrew Tridgell 6171006579 Tools: allow for double EKF build 2021-07-22 16:01:00 +10:00
Andrew Tridgell c659352ebe waf: added --ekf-double configure option 2021-07-22 16:01:00 +10:00
Andrew Tridgell db37898e36 Plane: prepare for 4.1.0beta3 2021-07-05 16:23:07 +10:00
Andrew Tridgell 136c6a509c Plane: updated release notes for 4.1.0beta3 2021-07-05 16:22:27 +10:00
Andrew Tridgell ae013dd5e6 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-05 16:09:34 +10:00
Andrew Tridgell 2ac01f207a AP_Notify: disable DShot buzzer by default 2021-07-04 18:28:20 +10:00
Andrew Tridgell 002bc51fd5 Plane: fixed motor test with DShot VTOL motors
need to arm when running the motor test
2021-07-04 18:20:29 +10:00
Andy Piper b5bb401b97 AP_Notify: re-enable display on 1Mb boards 2021-07-04 08:24:40 +10:00
Andrew Tridgell 2d4e77e9b1 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-04 08:24:17 +10:00
Andrew Tridgell bf867fb792 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-04 08:23:29 +10:00
Randy Mackay 008b17eb6e Copter: version to 4.1.0-beta5 2021-07-04 08:19:11 +10:00
Randy Mackay e0e7af1e76 Copter: 4.1.0-beta5 release notes 2021-07-04 08:19:11 +10:00
Randy Mackay c5db503e47 mavlink: move submodule reference forward to latest 2021-07-04 08:19:11 +10:00
Randy Mackay 63599a36fa Rover: call send-water-depth 2021-07-04 08:19:11 +10:00
Randy Mackay 8722bb7ff9 GCS_MAVLink: send water depth and temp 2021-07-04 08:19:11 +10:00
Andrew Tridgell 9818633c5c 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-07-04 08:19:11 +10:00
Hwurzburg 5114d3aacb Rover: remove values metadata from log bitmask 2021-07-04 08:19:11 +10:00
Hwurzburg 75905c5d8b Blimp: remove values metadata from log bitmask 2021-07-04 08:19:11 +10:00
Hwurzburg 41b54fecf9 ArduPlane: remove values metadata from log bitmask 2021-07-04 08:19:11 +10:00
Hwurzburg 2be203cf8b ArduCopter: remove values metadata from log bitmask 2021-07-04 08:19:11 +10:00
Hwurzburg 247f4e7c90 AntennaTracker: remove values metadata from log bitmask 2021-07-04 08:19:11 +10:00
Shiv e2ce88fcf2 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-07-04 08:19:11 +10:00
Andrew Tridgell 937f316d14 AP_Common: use longitude scaling from definitions.h 2021-07-04 08:19:11 +10:00
Andrew Tridgell 0e37a44942 AP_Math: fixed the value LATLON_TO_CM
it didn't have enough digits of precision, and was inconsistent with
LOCATION_SCALING_FACTOR
2021-07-04 08:19:11 +10:00
Andrew Tridgell 982b044d00 Tools: install geocoder 2021-07-04 08:19:11 +10:00
Andrew Tridgell b92913f210 autotest: support using geocoder for -L location
this allows for location names from OSM, for example:

  sim_vehicle.py -L '26 Carstensz St Griffith' --console --map
2021-07-04 08:19:11 +10:00
Hwurzburg 809569661e Plane: fix bug in tilt position for QLOITER and QRTL if THR_MIN !=0 2021-07-04 08:19:11 +10:00