Commit Graph

31345 Commits

Author SHA1 Message Date
Andrew Tridgell d768c721ee HAL_ChibiOS: make it fatal to have I2C devices without an I2C_ORDER
otherwise it is very confusing when you end up with AP_HAL_Dummy for
I2C manager
2022-12-21 19:52:31 +11:00
Randy Mackay 1a4f51d782 AP_Mount: servo driver loses unnecessary closest_limits method 2022-12-21 18:45:33 +11:00
Tom Pittenger f8ee112e47 AP_TemperatureSensor: fix param count change when loading drivers 2022-12-20 15:19:14 -03:00
Andrew Tridgell 1f100710d2 hwdef: go to minimal GPS for MatekF405-CAN
fixes flash overflow
2022-12-20 12:14:24 +11:00
Iampete1 34d2a5acaa AP_WindVane: add Arduino script and readme to allow conection to Bluetooth wind-vane 2022-12-20 12:13:46 +11:00
Iampete1 e142747d1f AP_Airspeed: Periph: remove useage of hidden params and remove tuber order 2022-12-20 11:12:25 +11:00
Andrew Tridgell 8e93265928 hwdef: added MatekL431-BattMon firmware 2022-12-20 10:44:52 +11:00
Andrew Tridgell 24d4a4cf5e AP_BattMonitor: added support for INA239 SPI battery monitor 2022-12-20 10:44:52 +11:00
Andrew Tridgell 76d0c0f408 AP_BattMonitor: hide unused parameters in peripherals 2022-12-20 10:44:52 +11:00
Andrew Tridgell eb704510d6 HAL_ChibiOS: default to one battery monitor backend in peripherals 2022-12-20 10:44:52 +11:00
Andrew Tridgell 87b4b031bf AP_AHRS: if DCM has no yaw source then don't fallback when hovering
this copes with quadplanes with no compass. With a compass we are
better off using EKF when not in fly-forward as it will give better
height control.

This makes QHOVER for takeoff in quadplanes with no compass a lot more
flyable
2022-12-20 10:34:22 +11:00
Andrew Tridgell 56c8cffc07 AP_AHRS: auto-enable EKF3 for misconfiguration
this fixes a "climb away" in quadplanes when AHRS_EKF_TYPE=2 and
EK2_ENABLE=0. The user has ARMING_CHECK=5390 to disable key arming
checks, and the plane flew on DCM as the configured EKF wasn't
enabled.

This resulted in AHRS::get_origin() returning false as it couldn't ask
EKF2 for the origin (as EKF2 was not enabled or instantiated)

The result was an incorrect calculation for target height during the
descent stage of QRTL, resulting in a climb away until the user took
over
2022-12-20 10:34:22 +11:00
Andrew Tridgell 8bf8d4889a AP_NavEKF3: added get_enable() 2022-12-20 10:34:22 +11:00
Andrew Tridgell fadb9007d0 AP_NavEKF2: added get_enable() 2022-12-20 10:34:22 +11:00
Andrew Tridgell f53c865c7a AP_GPS: only create GPS logs for active GPS backends 2022-12-20 10:23:58 +11:00
Andrew Tridgell fc5ae600ef AP_GPS: fixed handling of empty HDT/THS sentences
fixes #22432
2022-12-20 10:23:58 +11:00
Andrew Tridgell 01cad1c4aa SITL: added SIM_GPS_LOG_NUM
for replaying GPS logs recorded with --enable-gps-logging
2022-12-20 10:23:58 +11:00
Andrew Tridgell 761e4a05e2 AP_GPS: don't consume Heading message if we have RelPosHeading
this avoids 2 conflicting yaw sources
2022-12-20 10:23:58 +11:00
Andrew Tridgell b0c006deca AP_GPS: suppress string truncation warnings 2022-12-20 10:23:58 +11:00
Andrew Tridgell 898187950e AP_GPS: give yaw information for AP_Periph from Unicore GPS
this allows for CAN GPS yaw with length and height checks with unicore
GPS
2022-12-20 10:23:58 +11:00
Andrew Tridgell 2fd575aca2 AP_GPS: allow for DroneCAN GPS other than u-blox rover with yaw
single module, dual antenna GPS can give yaw information
2022-12-20 10:23:58 +11:00
Andrew Tridgell 907acd6e5f hwdef: added C-RTK2-HP AP_Periph
this is a UM982 Unicore GPS from CUAV with support for dual-antenna
GPS yaw
2022-12-20 10:23:58 +11:00
Andrew Tridgell d7a3c643a6 AP_GPS: improved unicore setup
log version information and improve auto-bauding
2022-12-20 10:23:58 +11:00
Andrew Tridgell 3c1a54c3df AP_GPS: added measured lag for Unicore GPS
measured as 0.14s from flight log
2022-12-20 10:23:58 +11:00
Andrew Tridgell 9cebe3b880 AP_GPS: added a common velocity_to_speed_course()
this saves flash using common code
2022-12-20 10:23:58 +11:00
Andrew Tridgell 78dac16520 SITL: make serial buffer size configurable
we need a larger buffer size for NMEA GPS modules
2022-12-20 10:23:58 +11:00
Andrew Tridgell 29f1c31854 AP_GPS: added GPYW logging for GPS yaw
this makes it much easier to debug GPS yaw issues, by logging the raw
data even if the yaw is rejected
2022-12-20 10:23:58 +11:00
Andrew Tridgell c453ff1ce2 AP_GPS: fixed vertical velocity with AGRICA support
and add health check for unicore GPS
2022-12-20 10:23:58 +11:00
Andrew Tridgell 55683c51f5 AP_GPS: review changes 2022-12-20 10:23:58 +11:00
Andrew Tridgell d2d6dc8ce4 AP_GPS: only give time if we have a 3D fix
and ensure we configure rate for GGA and RMC for Unicore
2022-12-20 10:23:58 +11:00
Andrew Tridgell 6c9cbe1a58 AP_GPS: fixed NMEA time reporting
basic NMEA does not have an itow, so we need to use time_week_ms

this caused us to always display the time as the start of the GPS week
on NMEA
2022-12-20 10:23:58 +11:00
Andrew Tridgell a7c5c6b728 AP_GPS: allow for disabling of NMEA Unicore support 2022-12-20 10:23:58 +11:00
Andrew Tridgell 2837471ddf AP_GPS: fixed build without GPS_MOVING_BASELINE 2022-12-20 10:23:58 +11:00
Andrew Tridgell 02d6931c4d AP_GPS: fixed re-probing of NMEA GPS
when we lost fix on a NMEA GPS we should retain the driver as long as
it is still sending us NMEA messages that pass the CRC check. This
fixes a bug where we would re-probe the GPS (searching baudrates) when
we lost position
2022-12-20 10:23:58 +11:00
Andrew Tridgell ad9dfe2d51 AP_GPS: added support for Unicore NMEA GPS
this includes dual-antenna moving baseline support, 3D velocity and accuracies
2022-12-20 10:23:58 +11:00
Andrew Tridgell b9642b549b AP_GPS: make GPS_MB parameters clearer
offsets are from the 2nd antenna to the base (primary) antenna
2022-12-20 10:23:58 +11:00
Tatsuya Yamaguchi 366a325fc0 AP_NavEKF3: do not check the second range finder if RANGEFINDER_MAX_INSTANCES is 1 2022-12-20 10:05:24 +11:00
Tatsuya Yamaguchi a51c3206b2 AP_NavEKF2: do not check the second range finder if RANGEFINDER_MAX_INSTANCES is 1 2022-12-20 10:05:24 +11:00
Andrew Tridgell 0f04611970 AP_Baro: auto-set field elevation from origin 2022-12-20 10:04:38 +11:00
Tatsuya Yamaguchi ccc5ba3cbd SITL: change HDOP from 2.0 to 1.2 2022-12-19 08:28:45 +09:00
Peter Barker 59a70c6713 AP_TemperatureSensor: correct compilation when TSYS01 compiled out 2022-12-18 09:19:12 +11:00
Kirill Shilov 8a51c73e4a AIRLink: added LTE module enable pin to hwdef 2022-12-18 07:19:42 +11:00
Andrew Tridgell 6dcb137b29 AP_Scripting: fixed error on bad cmd in mission 2022-12-17 15:35:35 +11:00
alexklimaj 6ddf2e039f hwdef: Add ARK RTK GPS AP Periph 2022-12-17 12:46:22 +11:00
Ari Krupnik 205329575a AP_Scripting: Lua applet starts/stops video recording on arm/disarm 2022-12-17 11:55:50 +11:00
MAD-CRAZY-MAN eb91ab87fa hwdef: added ThePeach K1/R1 2022-12-16 14:16:16 +11:00
Randy Mackay 5fa6914137 AP_Mount: siyi recording send-text demoted to INFO 2022-12-16 08:15:53 +09:00
Randy Mackay 6efa35e889 AP_Mount: Siyi fix for record ON OFF reporting 2022-12-16 08:15:53 +09:00
Randy Mackay 6bd4afeb48 AP_Mount: siyi a8 fix for gimbal-config-info message
Siyi A8 uses a different format from Z10 for this message
2022-12-16 08:15:53 +09:00
Andrew Tridgell 57d60f86b5 AP_Scripting: new version of knife-edge compensation in aerobatics
this is a simpler approach based on sin(roll)*cos(pitch)
2022-12-16 10:09:17 +11:00
Peter Barker 70a5d8be76 GCS_MAVLink: remove unnecessary include of OpticalFlow header in GCS.h
introduces unnecessary dependencies
2022-12-15 21:07:31 +11:00
Peter Barker 54418a319e AP_HAL_ChibiOS: add missing bouncebuffer include 2022-12-15 21:06:30 +11:00
Peter Barker a874938636 AP_GPS: fix GPS_AUTO example 2022-12-15 21:05:35 +11:00
Randy Mackay 624e731ca5 AP_Arming: correct prefix is ahrs is waiting for home 2022-12-15 10:55:47 +09:00
Randy Mackay 76ef43ddf0 AP_Arming: only compare AHRS vs GPS if GPS is enabled 2022-12-15 10:55:47 +09:00
Randy Mackay 6bc3fcd294 AP_Arming: minor format fix 2022-12-15 10:55:47 +09:00
Paul Riseborough fd7c4bc841 AP_Logger: Add option to disable disarmed logging on USB connection
AP_Logger: Update LOG_DISARMED parameter description
2022-12-15 10:38:15 +11:00
Peter Barker 4e61de7083 GCS_MAVLink: code-generate chan-fetching methods
A recent PR had to change every single one of these methods, which was kind of unfortunate.

So generate the methods using a #define so the duplication happens at preprocessor-time.
2022-12-15 08:31:54 +11:00
rishabsingh3003 650f0ff659 AP_UAVCAN: Add proximity support 2022-12-15 07:20:05 +11:00
rishabsingh3003 d8cf7c8bb5 hwdef: Add Proximity hwdef for L431 2022-12-15 07:20:05 +11:00
rishabsingh3003 ea1fb96e7b AP_Proximity: Add DroneCAN backend 2022-12-15 07:20:05 +11:00
Andrew Tridgell 84db577f09 AP_Scripting: fixed aerobatics bug
thanks Andy!
2022-12-15 07:17:06 +11:00
Andrew Tridgell ca3be1d0c7 AP_Scripting: fixed roll correction at end of partial climbing circle 2022-12-15 07:17:06 +11:00
Andrew Tridgell afc1a38b73 AP_Scripting: use luaM_malloc instead of allocf
handles GC if needed automatically
2022-12-15 07:17:06 +11:00
Andrew Tridgell ff6d9a12a4 AP_Scripting: try a gc on alloc fail in logging 2022-12-15 07:17:06 +11:00
Andrew Tridgell aa8ff87ad2 AP_Scripting: make most object functions local 2022-12-15 07:17:06 +11:00
Andrew Tridgell aa865e1f9b AP_Scripting: save some class variables 2022-12-15 07:17:06 +11:00
Andrew Tridgell 716adb6d59 AP_Scripting: use metatable object approach for aerobatics
saves about 30k ram for AirShow, about 60k ram for F3AF23
2022-12-15 07:17:06 +11:00
Peter Barker ee908e8df2 AP_Logger: include PIDInfo header in place of PID header
AC_PID.h includes a remarkable amount of stuff
2022-12-14 22:21:27 +11:00
Andy Piper 7b9126d612 AP_Baro: only log dynamic pressure when compensation is enabled 2022-12-14 19:19:58 +11:00
Andy Piper e4b8d8a9b6 AP_NavEKF3: ensure wind estimation from airspeed can be used on its own 2022-12-14 19:19:58 +11:00
Andy Piper d3d841ec98 AP_NavEKF2: ensure wind estimation from airspeed can be used on its own 2022-12-14 19:19:58 +11:00
Andy Piper 56ad3887f7 AP_Baro: add logging of dynamic pressure 2022-12-14 19:19:58 +11:00
Andy Piper 71a27027f1 SITL: add baro wind coefficients for Z-axis. 2022-12-14 19:19:58 +11:00
Andy Piper 5727cfacb9 AP_Baro: add static pressure position error correction in the Z-axis for fast copters at high lean 2022-12-14 19:19:58 +11:00
Peter Barker 3d641fab8d AP_Landing: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Peter Barker 1eb5911bf5 SITL: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Peter Barker 2f76e12522 RC_Channel: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Peter Barker e10593ee69 AP_LandingGear: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Peter Barker d60db821cf AP_HAL_ChibiOS: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Leonard Hall 67205f8114 AP_Motors: Support changing update period 2022-12-13 17:10:06 +11:00
Leonard Hall 55e19bbf5b AC_WPNav: Support changing update period 2022-12-13 17:10:06 +11:00
Leonard Hall 3c69d28237 AC_AttitudeControl: Support changing update period 2022-12-13 17:10:06 +11:00
Leonard Hall 6eb57d618a AP_WheelEncoder: Support changing update period 2022-12-13 17:10:06 +11:00
Leonard Hall 2f2143ca6f AP_Control: Support changing update period 2022-12-13 17:10:06 +11:00
Leonard Hall f0822e5121 Filter: Support changing update period 2022-12-13 17:10:06 +11:00
Leonard Hall 1382923db0 AP_Math: Support changing update period 2022-12-13 17:10:06 +11:00
lthall 0fefe1a05a AC_PID: Support changing update period 2022-12-13 17:10:06 +11:00
Henry Wurzburg 08840b4a65 AP_Airspeed: add warning for large offset cal 2022-12-13 17:08:42 +11:00
Andrew Tridgell 50d00f4e45 AP_UAVCAN: log bus statistics 2022-12-13 16:56:57 +11:00
Andrew Tridgell 21b4a19c6f HAL_SITL: implement CAN get_statistics() 2022-12-13 16:56:57 +11:00
Andrew Tridgell bfff5548ef HAL_ChibiOS: implement get_statistics() 2022-12-13 16:56:57 +11:00
Andrew Tridgell 05a6c0d026 AP_HAL: added statistics structure for CAN 2022-12-13 16:56:57 +11:00
Peter Barker 1c9d01c8fd AP_HAL: use singleton getter for Baro in SIMState
this instance variable was always nullptr due to constructor ordering
2022-12-13 12:51:39 +11:00
Henry Wurzburg 649c87f1ec Applets:add SportPlaneAirshow schedule 2022-12-13 12:29:41 +11:00
Iampete1 b155731f33 AP_RangeFinder: skip GPIO arming check on analog backend 2022-12-13 12:06:06 +11:00
Moe Bataineh 5b9403527b AP_Mount: Align received data to AP frame for Storm32 Serial
(Note: reversed pitch and yaw) to match NED.

Update AP_Mount_SToRM32_serial.cpp
2022-12-13 09:02:43 +09:00
Shiv Tyagi 560b2545c8 AR_Motors: fix have_skid_steering to return true for omni too 2022-12-12 19:59:17 +09:00
Peter Barker e06a0c6876 AP_OpticalFlow: add some units to OFCA log message
Mainly just to get the instance column to make graphing axes easier

pbarker@fx:~/rc/ardupilot(master)$ mavlogdump.py logs/00000003.BIN --t FMTU | grep 251
2022-12-12 09:41:47.06: FMTU {TimeUS : 62248424, FmtType : 251, UnitIds : s#-???, MultIds : F00000}
pbarker@fx:~/rc/ardupilot(master)$ mavlogdump.py logs/00000003.BIN --t FMT | grep OFCA
2022-12-12 09:41:46.48: FMT {Type : 251, Length : 25, Name : OFCA, Format : QBBfff, Columns : TimeUS,Axis,Num,FRate,BRate,LPred}

MAV> graph OFCA[1].
OFCA[1].Axis    OFCA[1].BRate   OFCA[1].FRate   OFCA[1].LPred   OFCA[1].Num     OFCA[1].TimeUS
MAV> graph OFCA[1].LPred
2022-12-12 13:27:25 +11:00
Andrew Tridgell eed6edc3b0 SITL: fixed sign of wind with AHRS_EKF_TYPE=10 and builtin models
an alternative to #21929 that doesn't break RealFlight

needs testing with sailboats
2022-12-11 09:42:07 +11:00