Commit Graph

26476 Commits

Author SHA1 Message Date
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
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
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
8722bb7ff9 GCS_MAVLink: send water depth and temp 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
Peter Barker
3134e15c77 AP_BattMonitor: correct static_assert call 2021-07-04 08:19:11 +10:00
Peter Barker
6de7d1d1df AP_HAL_SITL: reduce scope of loop variable 2021-07-04 08:19:11 +10:00
Leonard Hall
e21b8a5b29 AC_WPNav: use shaping_tc_z_s for terrain following time constant. 2021-07-04 08:19:11 +10:00
Leonard Hall
68b882d404 AC_AttitudeControl: Add shaping_tc_z_s accessor 2021-07-04 08:19:11 +10:00
Andrew Tridgell
86e8731fc5 AP_Mount: fixed longitude subtraction 2021-07-04 08:19:11 +10:00
Peter Barker
b7b7c7d86b AP_Common: add test for longitude wrapping 2021-07-04 08:19:11 +10:00
Andrew Tridgell
17193d3175 AP_Common: fixed Location class for wrap at 180 degrees longitude
this allows us to fly missions across the date line
2021-07-04 08:19:11 +10:00
Leonard Hall
83b4616a7b AC_PosControl: fixup ekf reset 2021-07-04 08:19:11 +10:00
Andrew Tridgell
92e407a0bc AP_IRLock: convert SITL backends to double precision position 2021-07-04 08:19:11 +10:00
Andrew Tridgell
a82890c0db AC_PrecLand: convert SITL backends to double precision position 2021-07-04 08:19:11 +10:00
Andrew Tridgell
f45ef772f3 AP_Math: added matrix3 tofloat and todouble 2021-07-04 08:19:11 +10:00
Andrew Tridgell
214d9ad0f8 AP_Common: added double methods for SITL 2021-07-04 08:19:11 +10:00
Andrew Tridgell
b0f2545a9f SITL: convert to double precision for positions 2021-07-04 08:19:11 +10:00
Andrew Tridgell
d2e94a49b7 AC_WPNav: convert circle, loiter and WPNav to double position 2021-07-04 08:19:11 +10:00
Andrew Tridgell
0af57de50c AC_AttitudeControl: convert poscontrol to use double position 2021-07-04 08:19:11 +10:00
Andrew Tridgell
e6a1cee08f AC_PID: convert AC_P_2D to double 2021-07-04 08:19:11 +10:00
Andrew Tridgell
c2211db91d AP_Math: implement double versions of some position control methods 2021-07-04 08:19:11 +10:00
Andrew Tridgell
d40475cf7b AP_Math: define postype_t and vectors 2021-07-04 08:19:11 +10:00
Andrew Tridgell
683f7949fd HAL_SITL: implement initial GPS position offsets 2021-07-04 08:19:11 +10:00
Andrew Tridgell
2f2d1c985a AP_Math: added tofloat() and todouble() methods to Vector2 and Vector3 2021-07-04 08:19:11 +10:00
Andrew Tridgell
f73564f593 SITL: added SIM_INIT_LAT_OFS and SIM_INIT_LON_OFS
these give an initial lat/lon offset to the GPS in SITL so we can end
up with an origin a long way from the final position
2021-07-04 08:19:11 +10:00
Andrew Tridgell
e191c48d9f AC_AttitudeControl: cleanup poscontrol comments with input from Leonard 2021-07-04 08:19:11 +10:00
Andrew Tridgell
889bd2547f AP_Math: cleanups from Leonards feedback 2021-07-04 08:19:11 +10:00
Andrew Tridgell
6bde607aaa AC_AttitudeControl: fixed comment 2021-07-04 08:19:11 +10:00
Andrew Tridgell
848cac37c2 AP_Math: cleanup API comments on control code 2021-07-04 08:19:11 +10:00
Andrew Tridgell
52d20cedad AC_WPNav: cleanup position control APIs
use Vector2 for xy, float for z
2021-07-04 08:19:11 +10:00
Andrew Tridgell
a4220b1584 AC_AttitudeControl: cleanup position control APIs
use Vector2 for xy, float for z
2021-07-04 08:19:11 +10:00
Andrew Tridgell
6e99028d69 AP_Math: cleanup position control APIs
use Vector2 for xy, float for z
2021-07-04 08:19:11 +10:00
Andrew Tridgell
070a004f26 AP_Math: make vector3 xy() method return a reference 2021-07-04 08:19:11 +10:00
Siddharth Purohit
5a113cd8ad AP_PiccoloCAN: fix missing _telem_sem 2021-07-04 08:19:11 +10:00
Oliver
72ceee5539 AP_PiccoloCAN: Explicit initialization of AP_HAL::CANFrame instances 2021-07-04 08:19:11 +10:00
Oliver
ffbe038790 AP_PiccoloCAN: Remove unncessary floating point operations 2021-07-04 08:19:11 +10:00
Oliver
e9d8945930 AP_PiccoloCAN: Update code to match new esc telemetry / logging architecture 2021-07-04 08:19:11 +10:00
Oliver Walters
5a9c899f4b AP_PiccoloCAN: Increase number of supported channels from 12 -> 16 2021-07-04 08:19:11 +10:00
Oliver Walters
1a37b51ff7 AP_PiccoloCAN: Record servo telemetry information to log
- Servo position
- Servo speed
- Servo force / torque
- Servo duty cycle

Updated servo protocol file to accommodate extra variable data
2021-07-04 08:19:11 +10:00
Oliver Walters
c8ba301bb2 AP_PiccoloCAN: Send servo commands for active channels
- For each channel, check if a non-motor function is assigned
- If so, send the function value out to the servo
2021-07-04 08:19:11 +10:00
Oliver Walters
77417677d3 AP_PiccoloCAN: Framework for CAN servo outputs 2021-07-04 08:19:11 +10:00
Oliver Walters
9af4fa46d3 AP_PiccoloCAN: Add support for CBS servo protocol
- Adds protocol files for the servo protocol
- Generated using Protogen tool
2021-07-04 08:19:11 +10:00
Siddharth Purohit
37673762f9 AP_UAVCAN: Use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
58f09029ad SRV_Channel: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
4e15531c87 GCS_MAVLink: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
3895942282 AP_ToshibaCAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
67dbbc34b7 AP_RangeFinder: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
d6ac420055 AP_PiccoloCAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
67278d54ae AP_Notify: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
274ce7b516 AP_KDECAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
5014c65276 AP_HAL_SITL: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
9ed015f1c7 AP_HAL_Linux: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
f8d313cfd6 AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
c640f0d3d9 AP_HAL: split into HAL_CANMANAGER_ENABLED and HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
17459128bf AP_HAL: Use HAL_ENABLE_CANMANAGER instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
fc1bc6b852 AP_Filesystem: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit
b32f687a6b AP_CANManager: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Leonard Hall
ee9ae3e570 AC_AttitudeControl: AC_PosControl: Init and stopping point fixes 2021-07-04 08:19:10 +10:00
bugobliterator
086f184c36 AP_HAL_ChibiOS: allow embedded bootloader to be excluded
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-07-04 08:19:10 +10:00
Peter Barker
d2c195b2a5 AP_Motors: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
4bdb245244 AP_Logger: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
ff91bca2e2 AP_LandingGear: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
131bec811a AP_InertialSensor: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
e76d78e8b3 AP_GPS: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
9340042e31 AP_BoardConfig: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
76d2cb7282 AP_Baro: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
fef68262ae AP_Arming: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
9690d78095 AP_ADSB: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
cc121b5b6d AC_Fence: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
fbd93bd535 AC_Avoidance: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
0c271e8d06 AC_AutoTune: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker
2712556fca RC_Channel: add rc channel option to disable all airspeed sensors 2021-07-04 08:19:10 +10:00
Peter Barker
6d91950d4e AP_Airspeed: add rc channel option to disable all airspeed sensors 2021-07-04 08:19:10 +10:00
Paul Riseborough
28a55e8478 AP_NavEKF3: Remove unused class variable rngBcnTimeout 2021-07-04 08:19:10 +10:00
Paul Riseborough
18e949d035 AP_NavEKF3: Ensure postion timeout flag and timer is always reset 2021-07-04 08:19:10 +10:00
Paul Riseborough
43e84c4061 AP_NavEKF3: Fade each vert vel variance clip count over 1 second 2021-07-04 08:19:10 +10:00
Paul Riseborough
7bd944ef3e AP_NavEKF3: Clean up initialisation of boolean array 2021-07-04 08:19:10 +10:00