Commit Graph

24295 Commits

Author SHA1 Message Date
Paul Riseborough f81abd73d6 AP_NavEKF3: Update covariance prediction to yse SymPy generated equations
Saves flash and variable space.
2020-10-26 11:03:50 +11:00
Michael du Breuil a61444cec0 AP_GPS: Don't reset the entire buffer when handling RTCM data
This is a micro optimization intended to just make handling GPS
corrections a bit faster.
2020-10-25 14:21:39 +11:00
Andrew Tridgell acdc939946 AP_WheelEncoder: added SMAX param docs 2020-10-25 10:32:48 +11:00
Andrew Tridgell 9a244eef29 APM_Control: added SMAX param docs 2020-10-25 10:32:48 +11:00
Andrew Tridgell 0a7c628355 AC_AttitudeControl: added SMAX param docs 2020-10-25 10:32:48 +11:00
Andrew Tridgell 739410953b AC_PID: added slew limiter AC_PID
this adds the fixed wing slew limiter as an optional part of
AC_PID. It allows the user to configure a maximum slew limit to
prevent oscillations in PIDs when gains are too high
2020-10-25 10:32:48 +11:00
Andrew Tridgell 709e1f8f93 Filter: added slew rate filter 2020-10-25 10:32:48 +11:00
Andrew Tridgell d2a4505184 APM_Control: fixed bug in slew filter 2020-10-25 10:32:48 +11:00
Andrew Tridgell a4716fb9bf AP_NavEKF3: fixed multi-core yaw reset
thanks to Alex Burka for finding this
2020-10-24 19:35:30 +11:00
Andrew Tridgell dc32f7a12f AP_NavEKF2: fixed multi-core yaw reset
thanks to Alex Burka for finding this
2020-10-24 19:35:30 +11:00
Andrew Tridgell fcccdcc936 AP_NavEKF3: fixed bug in external yaw for fixed wing
when we are on the ground we should not chang to AID_NONE if we have
an external yaw source

this fixes an EKF3 error loop on the ground found by Michael
2020-10-24 13:50:33 +11:00
Randy Mackay c3fd82b6d7 AP_NavEKF3: minor spelling fix 2020-10-24 12:35:58 +11:00
Randy Mackay 2f1ae29a9c AP_NavEKF3: extnav data gets corrected boolean
CorrectExtNavForSensorOffset and CorrectExtNavVelForSensorOffset use
corrected boolean to avoid correcting twice
2020-10-24 12:35:58 +11:00
Randy Mackay a16de76f57 AP_NavEKF3: correct extnav position as it is recalled from the buffer
This makes extnav position correction consistent with the velocity correction
2020-10-24 12:35:58 +11:00
Randy Mackay 71487e9c10 AP_NavEKF3: gps_elements gets corrected flag
CorrectGPSForAntennaOffset uses this flag to ensure position and velocity are only corrected once
2020-10-24 08:49:33 +09:00
Randy Mackay 3d4e1cd5c5 AP_NavEKF3: CorrectGPSForAntennaOffset always corrects vel 2020-10-24 08:49:33 +09:00
Randy Mackay e25579cc00 AP_NavEKF3: correct GPS for position as it is recalled from buffer 2020-10-24 08:49:33 +09:00
Michael du Breuil c86dcf91d6 AP_InertialSensor: Run vibration monitoring on all instances 2020-10-24 09:54:04 +11:00
Andrew Tridgell 96f7397099 HAL_ChibiOS: make PowerC primary power on CUAV-X7
CUAV considers the CAN power to be the main power for this board
2020-10-24 08:27:21 +11:00
Michael Oborne b383db15c7 ChibiOS: fix cubeblack+ name and usbid 2020-10-24 08:26:55 +11:00
Peter Barker 0496ecc4f6 AP_NavEKF2: remove unused state variables 2020-10-22 08:47:08 +11:00
Peter Barker a1e7c91f8e AP_NaveEKF3: reduce code duplication in setup_core
Less code.

Saves 40 bytes on PixRacer
2020-10-22 08:47:08 +11:00
Peter Barker 74f75dcd31 GCS_MAVLink: fill AUTOPILOT_VERSION.uid2 from get_system_id_unformatted 2020-10-21 18:26:12 +11:00
murata 9714d8dde9 AP_MAth: Move the CRC24 to the AP_Math class 2020-10-21 18:24:07 +11:00
murata 4c835a0df9 AP_GPS: Move the CRC24 to the AP_Math class 2020-10-21 18:24:07 +11:00
Peter Barker 7c8df47ac9 GCS_MAVLink: process messages sent to broadcast system
.... even if we've forwarded them to someone else.
2020-10-21 18:22:48 +11:00
Peter Barker d3ba7a8409 GCS_MAVLink: don't learn a route to the broadcast component
Using a component ID of 0 for your source is invalid according to
common.xml

However, some clients do use it.

This stops us learning a route to that client for the broadcast client
for our own system ID.
2020-10-21 18:22:48 +11:00
bugobliterator 308bc64f35 AP_Filesystem: add support for listing @SYS files 2020-10-21 18:16:50 +11:00
Randy Mackay e4056086e0 AP_NavEKF3: minor format and spelling fixes 2020-10-21 13:54:22 +09:00
Randy Mackay 231a958e51 AP_NavEKF3: minor comment fix 2020-10-21 11:40:35 +09:00
Randy Mackay 8aba1655a2 AP_Scripting: add ahrs-print-variances example 2020-10-21 08:58:45 +09:00
Randy Mackay 5eae007d49 AP_Scripting: add binding for ahrs get_variances 2020-10-21 08:58:45 +09:00
Randy Mackay bb25e4f6a3 AP_RCTelemetry: integrate ahrs::get_variances change
offset is no longer returned
2020-10-21 08:58:45 +09:00
Randy Mackay 6a72805f07 AP_AHRS: get_variances does not return offset
the offset is not a variance and is not actually used by any callers of this function
2020-10-21 08:58:45 +09:00
Patrick José Pereira 375fe22dff AP_Mount: Improve instance validation check
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-21 08:55:33 +09:00
Randy Mackay b0363a01b0 AP_Scripting: add copter-wall-climber example script 2020-10-20 23:04:45 +09:00
Randy Mackay e4ccd21dd7 AP_NavEKF3: consolidate extNav height source timeouts 2020-10-20 17:11:26 +09:00
Randy Mackay 6989a28bfc AP_NavEKF3: allow alt from other sources when using ExtNav
also allows using ExtNav alt when not using it for XY position
removes redundant and incorrect setting of activeHgtSource from ExtNav
which was always being overwritten by the correct value later in selectHeightForFusion
2020-10-20 17:11:26 +09:00
Randy Mackay 0cebde0632 AP_NavEKF3: minor restructure of how fusePosData and fuseVelData are set
this non-functional change slightly reduces the number of places we set these variables
2020-10-20 17:11:26 +09:00
Peter Barker ef505df78a AP_NavEKF3: remove unused quat2Tbn method 2020-10-20 11:40:54 +11:00
Peter Barker 53305ba2a4 AP_NavEKF2: remove unused quat2Tbn method 2020-10-20 11:40:54 +11:00
Peter Barker 0eafe4b662 AP_NavEKF3: remove dangling method declarations 2020-10-20 11:40:54 +11:00
Peter Barker 312cf725aa AP_NavEKF2: remove dangling method declarations 2020-10-20 11:40:54 +11:00
Peter Barker 83d784c22d AP_NavEKF3: fix includes 2020-10-20 11:40:54 +11:00
Peter Barker c90265f94d AP_NavEKF2: fix includes 2020-10-20 11:40:54 +11:00
Peter Barker d4cb14b262 AP_AHRS: remove magic resetting of EKF type 1 to 2
If EKF2 is not compiled in the current compatability code will not work
so well.

Throw the user over to the config error loop and they can fix it there.
2020-10-20 11:32:57 +11:00
Peter Barker 565b29a72c AP_AHRS: remove FLAG_NONE; it's not a flag, it's a bitmask value 2020-10-20 11:24:34 +11:00
Peter Barker 1ef92bb691 AP_AHRS: remove un-needed initialisations 2020-10-20 11:24:34 +11:00
Peter Barker 3dc67f09fd AP_NavEKF3: remove unused innovationIncrement and lastInnovation 2020-10-20 11:24:34 +11:00
Peter Barker 80f9ef7ed1 AP_NavEKF2: remove unused innovationIncrement and lastInnovation 2020-10-20 11:24:34 +11:00
Peter Barker 02c9aa2ae2 AP_InertialSensor: remove unused define 2020-10-20 11:24:34 +11:00
Peter Barker 9d45669a58 AP_AHRS: reuse ins object for multiple calls, simplify delta_t variable 2020-10-20 11:24:34 +11:00
Andrew Tridgell e529d475d4 AP_GPS: use mktime for NMEA and MTK time conversion
this fixes NMEA time handling, which was off by 3 days
2020-10-20 11:21:00 +11:00
Andrew Tridgell 7562eef4c1 AP_Filesystem: use mktime from AP_RTC 2020-10-20 11:21:00 +11:00
Andrew Tridgell 43af5893fb AP_RTC: added mktime(), used by AP_Filesystem and AP_GPS 2020-10-20 11:21:00 +11:00
Nick Exton 01155cc5d4 AP_Param: Ignore FORMAT_VERSION param when loading SITL defaults
This fixes a bug where having FORMAT_VERSION in the SITL defaults file
can result in an invalid SITL EEPROM file. See issue #15579 for details.
2020-10-20 10:30:17 +11:00
Patrick José Pereira 258083a6f2 AP_Logger: AP_Logger_File: Set custom log directory in init
`_log_directory` was used before `ensure_log_directory_exists`,
to fetch the log path

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-20 09:31:49 +11:00
Samuel Tabor c9362fbb70 SITL: Calculate current in SIM_Plane. 2020-10-18 11:43:51 +11:00
Peter Barker 99e95666e8 AP_AHRS: remove unused AP_AHRS_TYPE define 2020-10-18 09:41:29 +11:00
Patrick José Pereira 6ee401cb00 AP_Math: Remove isnan check for non-float type
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-16 09:22:05 +11:00
chobits c5e289efc3 AP_Beacon: Nooploop driver
based on rmackay9's work
2020-10-15 08:07:46 +09:00
Peter Barker c40b5490f4 AP_HAL_SITL: stop setting of pull-up resistors affecting SIM_PIN_MASK 2020-10-14 08:28:23 +11:00
Harsh Pandey c2744396cc AP_BoardConfig: Update BRD_TYPE parameter description for recent boards. 2020-10-14 07:53:22 +11:00
Pierre Kancir 52898cfdbd AP_Airspeed: remove size warning on SDP3X crc function.
Clang-Tidy: Loop variable has narrower type 'uint8_t' (aka 'unsigned char') than iteration's upper bound 'unsigned int'
2020-10-14 07:52:02 +11:00
Peter Barker 7e92bbc7bd AP_HAL_Empty: remove un-needed constructor
Not sure the initialisation is needed but retained it.
2020-10-13 19:55:34 +11:00
Peter Barker 3cce6197a1 AP_HAL: delete copy constructors 2020-10-13 19:55:34 +11:00
Peter Barker b7f0015a69 AP_HAL_SITL: add bus ownership check for simulated i2c transfers
Also stop copying the bus object while iterating
2020-10-13 19:55:34 +11:00
Andrew Tridgell fb1dcdb059 HAL_ChibiOS: added BL suffix to bootloader USB IDs for two boards
our convention is to have -BL on end of USB product IDs in bootloaders
2020-10-13 17:59:13 +11:00
Andrew Tridgell 418bd33c43 HAL_ChibiOS: fix CUAV-X7 power bits 2020-10-13 17:58:30 +11:00
Andrew Tridgell 25bc128248 HAL_ChibiOS: fixed periph overpower ifdef
fixes overcurrent logging on several boards
2020-10-13 17:58:30 +11:00
murata 6304ade668 GCS_MAVLink: Change to leave the lower 16 bits. 2020-10-13 12:06:18 +11:00
Iampete1 c591e45e59 AP_OSD: get wind speed from wind vane on rover 2020-10-13 11:39:43 +11:00
Hwurzburg a7a780ec6e RC_Channel: add RC option for landing flare 2020-10-13 11:36:19 +11:00
Iampete1 de664ae6a8 AP_Scripting: bindings: add units and multipliers to logging 2020-10-13 10:34:42 +11:00
Iampete1 5cbbe656ba AP_Scripting: add units and multipliers to logging example 2020-10-13 10:34:42 +11:00
Iampete1 a09e15137e AP_Scripting: add logging to plane-wind-fs example 2020-10-13 10:34:42 +11:00
Pierre Kancir 420c9c9d36 AP_Param: use hal.util->set_cmdline_parameters() on SITL on reload_defaults_file()
This allow to pass cmdline parameter to Param on start for each vehicle in the same way as param file
2020-10-13 10:31:21 +11:00
Pierre Kancir 5b356953ff AP_HAL_SITL: implement and use set_cmdline_parameters() 2020-10-13 10:31:21 +11:00
Pierre Kancir 1c80b04544 AP_HAL: add virtual set_cmdline_parameters() 2020-10-13 10:31:21 +11:00
Pierre Kancir 466a430c4f AP_HAL_SITL: add --sysid option to set SYSID_THISMAV 2020-10-13 10:31:21 +11:00
Patrick José Pereira 175d55a0aa AP_LeakDetector: Add navigator support
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-12 09:53:03 -07:00
Patrick José Pereira 4c7af1d99f AP_LeakDetector: Add subtype check and warning message
Add warning if board does not support leak detector sensors

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-12 09:53:03 -07:00
Andrew Tridgell e346cd3c80 GCS_MAVLink: fixed use of incorrect millis16() values 2020-10-12 13:48:15 +11:00
Peter Barker 45f7322af6 GCS_MAVLink: avoid catching up on sending messages when sending disrupted
The code here was never meant to maintain an "average" streamrate.  It
was designed so that we would maintain a consistent clock in the face of
minor scheduling anomalies (like an EKF fusion step).

The way this is written, however, makes us spit out a message for each
of the intervals we missed - clearly not intended behaviour.

This was tested by inserting the following code:

 void GCS_MAVLINK::update_send()
 {
+    const uint32_t xnow = AP_HAL::millis();
+    if (xnow > 10000 &&
+        xnow < 20000) {
+        return;
+    }
+
2020-10-12 13:48:15 +11:00
Andrew Tridgell 989f8c5d41 HAL_ChibiOS: fixed a race condition in UART DMA transmit
this fixes an issue seen on one board which caused a watchdog on high
uart DMA load. We have reproduced the issue on another board by
forcing a very high DMA transfer rate on the same DMA channel while
also requesting very high transfer rates on the UART. The likely race
is in the DMA transmit timeout code, and the simplest fix is to lock
out interrupts during the DMA setup to ensure the tx timeout cannot
trigger during the setup
2020-10-12 13:25:48 +11:00
Peter Barker 9bde294112 AP_HAL: add chargen UARTDriver example 2020-10-09 19:14:59 +11:00
murata 967aa44fbe AP_Baro: Change message from AP_Baro to Baro for unification accross the file 2020-10-08 10:51:33 +11:00
bugobliterator 5880628b01 hwdef: add support for CubeBlack-periph 2020-10-08 09:31:35 +11:00
bugobliterator e16cab0437 AP_HAL_ChibiOS: ensure we timeout while checking FDCAN register sets 2020-10-08 09:31:35 +11:00
bugobliterator 5f0c553982 AP_HAL_SITL: configure filter only if in FilteredMode 2020-10-08 09:31:35 +11:00
bugobliterator ba576247f0 AP_HAL_Linux: configure filter only if in filtered mode 2020-10-08 09:31:35 +11:00
bugobliterator 49915ed06f AP_UAVCAN: save some stack space 2020-10-08 09:31:35 +11:00
bugobliterator ca957519dc AP_HAL_ChibiOS: redo filter configuration to make it work with STM32H7 2020-10-08 09:31:35 +11:00
bugobliterator d1eb9e8aea AP_HAL: add FilteredCAN mode to tell driver to init as such 2020-10-08 09:31:35 +11:00
bugobliterator 46827f0c91 AP_CANManager: redo filter configuration to make it work with STM32H7 2020-10-08 09:31:35 +11:00
Patrick José Pereira 8701e3626d GCS_MAVLink: Update GCS_Dummy to use new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-07 19:32:12 +11:00
Patrick José Pereira adda695630 AP_Common: Update AP_FWVersion struct to be used with binary parsers
- Add an uint64_t header to allow easy detection of struct
- Add an uint16_t version
    - MSB is for major release, compatibility break
    - LSB for minor version, no compatibility break
- Add pointer size variable to allow decode of pointers
- Add vehicle type information
- Add board type and subtype to allow hardware identification
- Set type of fw_type to uint8_t since enum is declared as int
- Organize struct to be packed inside 32bits system

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-07 19:32:12 +11:00
Patrick José Pereira 75e9550bce AP_Vehicle: Define APM_BUILD_DIRECTORY as UNKNOWN if not defined
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-07 19:32:12 +11:00
Andy Piper af8542b5d6 AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED 2020-10-07 19:11:38 +11:00
Tom Pittenger 150b8653a4 Revert "AP_Param: add set_and_save_and_notify()"
This reverts commit 96a2aa485a.
2020-10-07 19:11:38 +11:00
Tom Pittenger 787d7f5254 Revert "AP_Math: add function to convert any base to any base"
This reverts commit 935cb39dff.
2020-10-07 19:11:38 +11:00
Tom Pittenger a0f25640a2 Revert "AP_Math: add bitwise fetch/load 16, 24, 32bit operations"
This reverts commit 6efaa29577.
2020-10-07 19:11:38 +11:00
Tom Pittenger 899cc9ef5d Revert "AP_SerialManager: add support for Sagetech protocol"
This reverts commit b74c22864d.
2020-10-07 19:11:38 +11:00
Tom Pittenger 8e1f5ec6cd Revert "AP_ADSB: create backend and add Sagetech driver" 2020-10-07 19:11:38 +11:00
Tom Pittenger f2e65ea3cd Revert "AP_ADSB: Sagetech for 2MB only"
This reverts commit 1fce38c62a.
2020-10-07 19:11:38 +11:00
Tom Pittenger b2eb3eb881 Revert "AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED"
This reverts commit 465357e715.
2020-10-07 19:11:38 +11:00
Tom Pittenger 90b4056aa4 Revert "AP_ADSB: remove annoying debug"
This reverts commit 5a535b25e3.
2020-10-07 19:11:38 +11:00
Tom Pittenger ee8f50e6a5 Revert "AP_Math: fix LoadUint() to allow 32bit values"
This reverts commit 5e2450c4ea.
2020-10-07 19:11:38 +11:00
Andy Piper af8d6c5fc9 AP_Scheduler: add the fast loop to task statistics 2020-10-07 18:08:19 +11:00
Randy Mackay 530eb6d236 AC_WPNav: remove unused reached_spline_destination 2020-10-07 15:41:18 +09:00
Andrew Tridgell 1b5551206a AP_IOMCU: fixed bug in SBUS output when scanning for FPort input
when we are looking for FPort input, we normally switch UART3 on the
IOMCU to 115200 to look for inverted inputs at 115200 baudrate. We
need to disable this switching when we have SBUS output enabled to
prevent a change in the SBUS output baudrate

Many thanks to afishman for finding this bug

Fixes #15522
2020-10-07 16:44:13 +11:00
Randy Mackay d31a00a6a1 AP_Scripting: replace prearm_healthy binding with healthy 2020-10-07 11:53:07 +11:00
Randy Mackay eeb1a1846c AP_NavEKF3: replace prearm_healthy with pre_arm_check 2020-10-07 11:53:07 +11:00
Randy Mackay b2d4622320 AP_NavEKF2: replace prearm_healthy with pre_arm_check 2020-10-07 11:53:07 +11:00
Randy Mackay 1d97416a51 AP_AHRS: replace prearm_healthy with pre_arm_check
Also removes prearm_failure_reason
2020-10-07 11:53:07 +11:00
mhefny 02daa4c3ec AP_InertialSensor: update L3G4200D driver 2020-10-06 09:27:26 -07:00
mhefny 1200d0e2f8 AP_HAL: add PROBE_IMU_I2C2 to linux.h 2020-10-06 09:27:26 -07:00
Randy Mackay d9de6e8de9 AP_Common: UINT16_VALUE, UINT32_VALUE get parentheses around arguments 2020-10-06 20:52:29 +11:00
Randy Mackay 4381eff482 AP_Proximity: simplify get_horizontal_distances
no need to fill in missing orientations.  This is only used for reporting to the ground stations
2020-10-06 20:52:29 +11:00
Randy Mackay e081d83185 AP_Proximity: Lightware SF45B driver 2020-10-06 20:52:29 +11:00
Randy Mackay f3b193d6f8 AP_Common: add UINT32_VALUE 2020-10-06 20:52:29 +11:00
Randy Mackay 63a21c6c12 AP_Proximity: add correct_angle_for_orientation to backend 2020-10-06 20:52:29 +11:00
Randy Mackay cf020e1d84 AP_Proximity: minor spelling fix for SF40c assert 2020-10-06 20:52:29 +11:00
Andrew Tridgell e995a198bd AP_GPS: always send GPS2_RAW if 2nd GPS configured
this improves the display on the GCS when the GPS has not yet been
found. This is particularly important after a reboot, as otherwise the
GCS may display stale information from the previous boot
2020-10-06 16:48:19 +11:00
Randy Mackay 4b7709f11d AP_Parachute: move sink rate check to new method
also remove unused critical_sink accessor
2020-10-06 16:14:59 +11:00
Randy Mackay 17d4e797fb AP_Parachute: formatting fixes 2020-10-06 16:14:59 +11:00
Michael du Breuil b04844ca13 AP_Logger: Log all vibration instances 2020-10-06 14:20:49 +11:00
Randy Mackay 835e6fc764 AP_VisualOdom: T265 ignores position and speed for 1sec after reset 2020-10-06 09:18:04 +09:00
Randy Mackay d9b90bf19f AP_Logger: VISP and VISV get ignored field 2020-10-06 09:18:04 +09:00
Andrew Tridgell 8e08d93026 AP_GPS: fixed pre-arm check on ublox M9 GPS
this prevents a failure from config of SOL and TMODE messages
2020-10-06 10:22:52 +11:00
vierfuffzig 60b37f395e AP_OSD_Screen.cpp: add decimal precision to vspd 2020-10-06 10:17:43 +11:00
Tom Pittenger 5e2450c4ea AP_Math: fix LoadUint() to allow 32bit values 2020-10-05 15:32:53 -07:00
Patrick José Pereira e4f8d47423 AP_LeakDetector: AP_LeakDetector_Digital: Improve status logic
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-05 16:39:03 +01:00
Tatsuya Yamaguchi ea0d869a9c RC_Channels: redefine surface tracking auxiliary function 2020-10-05 13:23:51 +09:00
QioTek f04de7d610 HAL_ChibiOS: Add QioTekZealotF427 build target
I've added the hwdef to support the QioTekZealotF427

It has 3 IMU sensors(ICM20698,ICM20602,BMI055), a Compass(Ist8310),
2Baro sensors(DSP310,MS5611), an integrated analog OSD, 14motor
outputs, 4Relay output, 5uarts, 2Power Module input, an i2c, a Can.
2020-10-05 07:41:06 +11:00
Andrew Tridgell 11b3c622dd AP_BoardConfig: allow more serial ports to have flow control 2020-10-03 20:22:56 +10:00
Andrew Tridgell 702a3926f8 HAL_ChibiOS: setup defines for more flow control pins
allow all uarts to have flow control
2020-10-03 20:22:56 +10:00
Andrew Tridgell 5e80b10396 HAL_ChibiOS: enable telem3 on Durandal
the RCIN issue is not there in the final production boards
2020-10-03 20:22:56 +10:00
Peter Barker 6711c479de SITL: fix RPLidarA2 instructions and diagnostic output 2020-10-02 16:05:15 +10:00
Andrew Tridgell e471b23f58 HAL_ChibiOS: add a max quota of GPIO interrupts
This implements a max quota of GPIO interrupts per 100ms period to
prevent high interrupt counts from consuming all CPU and causing a
lockup. The limit is set as 10k interrupts per 0.1s period. That limit
should be high enough for all reasonable uses of GPIO interrupt
handlers while being below the level that causes significant CPU loads
and flight issues

This addresses issue #15384
2020-10-02 09:38:24 +10:00
Andrew Tridgell 965af98f4a AP_InternalError: added an internal error for GPIO ISR overload 2020-10-02 09:38:24 +10:00
Andrew Tridgell c62b86e3c1 AP_HAL: added timer_tick() on GPIO 2020-10-02 09:38:24 +10:00
Peter Barker 4bbf623cac AP_Soaring: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 914316a529 AP_RangeFinder: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 460bb7291e AP_Proximity: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker b024ff8ea4 AP_Notify: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 3a8751d8a7 AP_NavEKF: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 10e0646251 AP_Generator: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 0eb34912cf AP_ADSB: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 12af51e356 AC_Autorotation: remove unused variables 2020-10-01 21:13:20 +10:00
Patrick José Pereira 57373180d1 AP_LeakDetector: Remove not used LeakDetector_Type enum
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-01 16:31:13 +10:00
Andrew Tridgell 2b13ad35ec AP_OLC: remove use of algorithm header
not needed
2020-10-01 09:40:45 +10:00
Michel Pastor 8465588467 AP_OLC: clean namespace and use constexpr instead of init method 2020-10-01 09:40:45 +10:00
giacomo892 4eeccb61cd WAF: Add AP_OLC to build 2020-10-01 09:40:45 +10:00
giacomo892 b00d3e00bc AP_OSD: Add OLC (pluscode) element 2020-10-01 09:40:45 +10:00
giacomo892 481d72255f AP_OLC: Open Location Code support 2020-10-01 09:40:45 +10:00
bugobliterator 0a4ea250ad AP_HAL_ChibiOS: disable CANFilter on H7 boards temporarily 2020-10-01 07:19:19 +10:00
Peter Barker a5a13f37c9 SITL: adjust for START_STOP_D now not polluting global namespace 2020-09-30 23:14:40 +10:00
Peter Barker 6cbb553adc AP_Frsky_Telem: reformat new filed using astyle.sh; no history to lose 2020-09-30 23:14:40 +10:00
Peter Barker 9c211d9847 AP_Frsky_Telem: move #defines to be static const members of AP_Frsky_Backend 2020-09-30 23:14:40 +10:00
Peter Barker 0bb7a31850 AP_Frsky_Telem: move all method implementations into correct files 2020-09-30 23:14:40 +10:00
Peter Barker 05d7950261 AP_Frsky_Telem: frontend/backend split 2020-09-30 23:14:40 +10:00
Iampete1 4e064ef812 AC_Circle: add Circle options 2020-09-30 17:58:12 +10:00
Andy Piper ac8dc26d41 AP_Filesystem: increase tasks buffer size 2020-09-30 17:37:20 +10:00
Andy Piper 958c19543f AP_Scheduler: print task total time as a percentage of all tasks time 2020-09-30 17:37:20 +10:00
Iampete1 608e1dcdc4 AP_WindVane: report apparent wind with named float 2020-09-30 17:03:58 +10:00
bugobliterator 84f3e70b10 AP_Compass: add set_dev_id when initialising HIL 2020-09-30 17:01:37 +10:00
Peter Barker 7cb8cde417 GCS_MAVLink: move orderly rebooting code from GCS into AP_Vehicle
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
Peter Barker 3aabb45059 AP_Vehicle: move orderly rebooting code from GCS into AP_Vehicle
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
yaapu e7a49dd624 GCS_Mavlink: refactor zero_rc_outputs() out of GCS_Mavlink 2020-09-29 18:07:59 +10:00
yaapu bc7c5a0c8e SRV_Channels: refactor zero_rc_outputs() out of GCS_Mavlink 2020-09-29 18:07:59 +10:00
Randy Mackay f5a04fd1a3 AP_NavEKF3: shorten buffer size send_text message length 2020-09-29 08:57:52 +09:00
Donione ff80be19c1 AP_GPS: fix type and update reserved bytes in ublox PVT 2020-09-28 16:31:14 -07:00
yaapu f33d197b16 AP_RCProtocol: fix fport rssi 2020-09-29 09:04:38 +10:00
Randy Mackay 7398529f6b AP_NavEKF3: minor format fix 2020-09-28 20:57:39 +09:00
Peter Barker abab203b32 SITL: remove zero initialisations, move more into class definitions 2020-09-28 12:15:04 +10:00
Andrew Tridgell 174dc3b032 AP_BoardConfig: disable watchdog in examples
not a lot of use in example code
2020-09-26 11:47:46 +10:00
Andrew Tridgell 5a535b25e3 AP_ADSB: remove annoying debug 2020-09-26 06:02:31 +10:00
Peter Barker 0c88af99da GCS_MAVLink: revert removal of private channel check when forwarding
This reverts 6dc77c97ce

The commit caused a regression on Solo as the gimbal is "nodding",
indicating traffic from the autopilot is getting through to the gimbal.
2020-09-25 09:42:27 +10:00
Peter Barker 8e6cde25dc AP_Logger: keep pointer to link rather than using its ->chan 2020-09-25 09:01:00 +10:00
Patrick José Pereira 1ee03a0d2e AP_Common: Add missing const in AP_FWVersion variables
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-09-25 08:55:18 +10:00
giacomo892 9c42c0f176 AP_Baro: remove unnecessary debug on DPS280 2020-09-25 08:19:29 +10:00
Vikas Singh 38c52acf9b AP_Filesystem: add simple File I/O example 2020-09-24 13:00:08 +10:00
Andrew Tridgell 4b747430e1 HAL_ChibiOS: save 2k in f103 bootloader
don't include serial bl support if dev list is empty
2020-09-24 12:32:19 +10:00
Siddharth Purohit 6fb973081b AP_HAL_ChibiOS: enable all I2C compasses by default for f103 boards 2020-09-24 12:32:19 +10:00
Andrew Tridgell 0e8c8c29a8 HAL_ChibiOS: fixed f303-MatekGPS build 2020-09-24 12:32:19 +10:00
Andrew Tridgell 246e790484 AP_Bootloader: use new hal CAN interface for CAN support 2020-09-24 12:32:19 +10:00
Siddharth Purohit a79efaeb1d AP_HAL_ChibiOS: hwdef: add support for HAL CANIface based bootloader 2020-09-24 12:32:19 +10:00
Siddharth Purohit 882c86c394 AP_HAL_ChibiOS: add app start offset to leave space for params 2020-09-24 12:32:19 +10:00
Siddharth Purohit 22ab426cf2 AP_HAL: make bools to use single bit in CANTxItem 2020-09-24 12:32:19 +10:00
Siddharth Purohit 72cf040f81 AP_Compass: add option to selectively disable Compass I2C backend 2020-09-24 12:32:19 +10:00
Siddharth Purohit 0ca2f56b71 AP_HAL: add support for external buffer to be used in ByteBuffer 2020-09-24 12:32:19 +10:00
Siddharth Purohit 9aa0970eed AP_HAL: disable protocol drivers for bootloader builds 2020-09-24 12:32:19 +10:00
Siddharth Purohit 1f16aa8360 HAL_ChibiOS: add hwdef for CubeOrange-periph 2020-09-24 12:32:19 +10:00
Siddharth Purohit d8852615ed AP_UAVCAN: disable UAVCAN library when libuavcan drivers are disabled 2020-09-24 12:32:19 +10:00
Siddharth Purohit 62df67a4b8 HAL_ChibiOS: hwdef: modify to use HAL CAN driver instead of ChibiOS's 2020-09-24 12:32:19 +10:00
Siddharth Purohit 36ffcdae30 HAL_ChibiOS: modify hal can drivers for use by AP_Periph 2020-09-24 12:32:19 +10:00
Siddharth Purohit c7d69e4d13 AP_HAL: disable CAN Protocol Drivers for AP_Periph 2020-09-24 12:32:19 +10:00
Samuel Tabor b6f92989a7 AP_Soaring: Only compile if HAL_SOARING_ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor 10111f92d5 Plane: Rename SOARING_ENABLED to HAL_SOARING_ENABLED and don't compare to ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor 0a738395fa Plane: Add THERMAL mode for thermal soaring. 2020-09-24 07:30:48 +10:00
Patrick José Pereira e81f9fccd9 AP_Common: Add new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2020-09-23 20:58:35 +10:00
Jovian Dsouza a62a7e0bd1 SITL: correct Webots README.md
Resolves :#15378
2020-09-23 15:32:56 +10:00
Hwurzburg d5722b15e9 AP_ChibiOS: fix configuration number in OmnibusF7V2 hwdef 2020-09-23 07:35:22 +10:00
Peter Barker 41ab59dcdb AP_Motors: eliminate flags structure
Saves about 44 bytes
2020-09-22 20:26:24 +10:00
Kai Schoos 798c3fd0b7 AP_Baro: examples: BARO_generic: instantiate sitl to fix nullptr panic 2020-09-22 14:56:59 +10:00
Peter Barker d26b2a6f9a AP_TECS: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Peter Barker d20c6ceb3b APM_Control: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Peter Barker ffb87e68c5 AP_Landing: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Peter Barker 3569c4d979 AC_PrecLand: correct @User field in ACC_P_NSE documentation 2020-09-22 14:56:04 +10:00
Tatsuya Yamaguchi fb27dbbd4f AP_Vehicle: replace message indicating that initialisation has completed 2020-09-22 09:52:52 +10:00
Hwurzburg de8002ab5e AP_HAL_ChbiOS: ALT config to enable UART3 in place of I2C 2020-09-22 09:48:02 +10:00
Andy Piper 9fef5b1e94 AP_Scripting: remove compile errors and warnings 2020-09-22 09:37:02 +10:00
Andy Piper 5d487be242 GCS_MAVLink: squash enum type error 2020-09-22 09:37:02 +10:00
Andy Piper ad895c2654 AP_HAL: ringbuffer get_size cannot be const because of semaphore 2020-09-22 09:37:02 +10:00
Andy Piper 940d708438 AP_UAVCAN: conditionally compile in ADSB support 2020-09-22 09:33:51 +10:00
Andy Piper 93ac301b19 RC_Channel: conditionlly compile in ADSB support 2020-09-22 09:33:51 +10:00
Andy Piper 32cd6b487e AP_Avoidance: conditionally compile based on ADSB support 2020-09-22 09:33:51 +10:00
Andy Piper 465357e715 AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED 2020-09-22 09:33:51 +10:00
Iampete1 152e2366f0 AP_Motors: Tri: dont check yaw servo on plane 2020-09-22 09:12:14 +10:00
Andrew Tridgell 0ba256f625 HAL_ChibiOS: fixed warning on gcc9
packed structure can be misaligned
2020-09-22 08:07:23 +10:00
Andrew Tridgell 1000371d8a AP_SmartRTL: fixed build warning on gcc9
this example produces a slightly oversize frame
2020-09-22 08:07:23 +10:00
Andrew Tridgell 90cd2a38b6 HAL_ChibiOS: fixed gcc9 warnings 2020-09-22 08:07:23 +10:00
Andrew Tridgell fabbbea0b4 AP_Fileystem: fixed gcc9 warning 2020-09-22 08:07:23 +10:00
Andy Piper dc0084a2b2 AP_Logger: only write final log out a page at a time to avoid lock contention
remove health check timing hack
2020-09-21 20:44:34 +10:00
Andy Piper 4f7047797e AP_GyroFFT: reduce locking to avoid contention and match thread priority to IO
remove previous scheduling hack
2020-09-21 20:44:34 +10:00
Mark Whitehorn f25a1e7a0d AP_Logger: fix description of BAT.Res 2020-09-21 08:50:49 +10:00
Andrew Tridgell 8a4b0f858a AP_NavEKF3: reset body mag variances at key points
we need to reset the body mag variances if we change sensors or if we
are starting 3D fusion. When not doing 3D fusion we zero the
variances, so they must be initialised again when we restart
fusion. This fixes a bug in handling the variances on a 2nd flight
2020-09-20 09:25:57 +10:00
Andrew Tridgell e9185f526b AP_NavEKF3: add comments on state indexes
make it easier to check indexes
2020-09-20 09:25:57 +10:00
Andrew Tridgell 35e95d3328 AP_NavEKF2: reset body mag variances at key points
reset on sensor switch or when changing to 3D fusion
2020-09-20 09:25:57 +10:00
Andrew Tridgell 8920362212 AP_Compass: default SITL compass to having scale factor set 2020-09-20 09:25:57 +10:00
Andrew Tridgell 1f21d72c79 AP_NavEKF3: fixed init of earth state mag variances
we were starting with zero variance for X and Y earth states, it
should start with sq(magNoise)
2020-09-20 09:25:57 +10:00
Andrew Tridgell 534e63e2fa AP_NavEKF2: fixed init of earth state mag variances
we were starting with zero variance for X and Y earth states, it
should start with sq(magNoise)
2020-09-20 09:25:57 +10:00
Andrew Tridgell d6dcbda0d3 AP_NavEKF2: removed duplicate compass switch check
left over from last set of changes
2020-09-20 09:25:57 +10:00
Tom Pittenger 1fce38c62a AP_ADSB: Sagetech for 2MB only 2020-09-18 09:57:52 -07:00
Tom Pittenger 043a3ba06e AP_Mission: add accessor for in_landing_flag() 2020-09-17 07:31:43 -07:00
Tom Pittenger f364dc933d AP_Mount: remove unused GPS.h include 2020-09-17 10:55:08 +10:00
Hwurzburg c64f286333 AP_ChibOS: add UART7_RX to OMNIBUSF7V2 2020-09-17 10:47:18 +10:00
Andy Piper d036b57de3 AP_Logger: stop logs safely in the block logger and asynchronously where possible 2020-09-17 10:45:57 +10:00
Andy Piper 46d4d9a97e AP_OSD: use cleaner conditional compilation for the various OSD options
provide suitable defaults for parameter screens on different vehicles
build fixes
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2020-09-16 18:11:54 +10:00
bugobliterator 575a56a6b6 hwdef: CubeOrange: do power reset on peripherals and sensor at boot 2020-09-16 18:08:08 +10:00
bugobliterator a2ee82d8d9 hwdef: use inv2 sensor checks in CubeOrange 2020-09-16 18:08:08 +10:00
bugobliterator b390f402b7 AP_BoardConfig: do bank selection when checking Invensensev2 Sensors 2020-09-16 18:08:08 +10:00
Andy Piper ab1d0d53f3 AP_Camera: keep trying to initialize RunCam after boot 2020-09-16 18:00:53 +10:00
Randy Mackay 2db57dffac AR_AttitudeControl: update param desc increment and range 2020-09-16 16:49:40 +09:00
Tom Pittenger 3cc985332d AP_ADSB: create backend and add Sagetech driver 2020-09-15 13:09:50 -07:00
Tom Pittenger b74c22864d AP_SerialManager: add support for Sagetech protocol 2020-09-15 13:09:50 -07:00
Tom Pittenger bd445bafc4 SITL: update ADSB sim to use squawk=1200 and set all valid flags 2020-09-15 13:09:50 -07:00
Tom Pittenger 6efaa29577 AP_Math: add bitwise fetch/load 16, 24, 32bit operations 2020-09-15 13:09:50 -07:00
Tom Pittenger 935cb39dff AP_Math: add function to convert any base to any base
Example: convert dec 12345 to 0x12345 or dec 1200 to octal 1200
2020-09-15 13:09:50 -07:00