Commit Graph

20456 Commits

Author SHA1 Message Date
Randy Mackay 655ddd4ab3 AC_Avoidance: Dijkstra's ignores invalid polygon fences 2019-07-07 04:08:34 -07:00
Randy Mackay 614b0f6dc8 AP_Math: Polygon_intersects handles unclosed polygons 2019-07-07 04:08:34 -07:00
PraiseSatan bad5fb418d AP_RCProtocol: added ibus RX support to recieve channel data from ibus transmitters. 2019-07-07 20:49:18 +10:00
Andrew Tridgell 92783bccfa AP_NavEKF3: don't allow height datum reset when not on ground 2019-07-07 19:20:32 +10:00
Andrew Tridgell e8d9a1fae9 AP_NavEKF2: don't allow height datum reset when not on ground 2019-07-07 19:20:32 +10:00
Andrew Tridgell 3f9e48951b AP_NavEKF3: set terrainState to zero on height datum reset 2019-07-07 19:20:32 +10:00
Andrew Tridgell f5fd38aef2 AP_NavEKF2: set terrainState to zero on height datum reset 2019-07-07 19:20:32 +10:00
Andrew Tridgell f3fc910abe AP_NavEKF3: continuously update gpsGoodToAlign
use it to determine how to handle a height datum reset
2019-07-07 19:20:32 +10:00
Andrew Tridgell 9372073f63 AP_NavEKF2: continuously update gpsGoodToAlign
use it to determine how to handle a height datum reset
2019-07-07 19:20:32 +10:00
Andrew Tridgell b9a5794671 AP_NavEKF3: ensure that both AMSL and relative alt are correct after a reset
this forces the EKF origin to the GPS alt on a height datum reset if
we have GPS lock. If we don't do this then the reported AMSL alt will
drift over time away from the GPS alt when we reset while on the
ground
2019-07-07 19:20:32 +10:00
Andrew Tridgell 20ebb2500b AP_NavEKF2: ensure that both AMSL and relative alt are correct after a reset
this forces the EKF origin to the GPS alt on a height datum reset if
we have GPS lock. If we don't do this then the reported AMSL alt will
drift over time away from the GPS alt when we reset while on the
ground
2019-07-07 19:20:32 +10:00
Andrew Tridgell a38b030c41 RC_Channel: disable kill IMU with HAL_MINIMIZE_FEATURES 2019-07-07 19:03:01 +10:00
Andrew Tridgell 8e5c0fa32b AP_InertialSensor: disable kill IMUs with HAL_MINIMIZE_FEATURES 2019-07-07 19:03:01 +10:00
Andrew Tridgell 2208689893 AP_NavEKF3: don't use disabled gyros in opticalflow takeoff detection 2019-07-07 19:03:01 +10:00
Andrew Tridgell ddef40fa3d AP_NavEKF2: don't use disabled gyros in opticalflow takeoff detection 2019-07-07 19:03:01 +10:00
Andrew Tridgell a45e364252 AP_Mount: don't use disabled IMUs in solo gimbal code 2019-07-07 19:03:01 +10:00
Andrew Tridgell 3dd7e7e83a AP_AHRS: only use enabled IMUs in DCM
honor the INS_USE parameters for DCM
2019-07-07 19:03:01 +10:00
Andrew Tridgell 09d3392aee AP_InertialSensor: zero accumulators on time step
this zeros the delta angle and delta velocity accumulators when a
sensor is unavailable for a period of 0.1s. This prevents garbage
values being passed into the EKF when a sensor dies and then becomes
available again some time later
2019-07-07 19:03:01 +10:00
Andrew Tridgell 3444e82ef9 AP_InertialSensor: added RC switch for killing IMUs 2019-07-07 19:03:01 +10:00
Andrew Tridgell 30d27147a8 RC_Channel: added RC switch for killing IMUs 2019-07-07 19:03:01 +10:00
Andrew Tridgell 898150e460 HAL_ChibiOS: cope with calling delay_microseconds_boost() multiple times
needed for updated IMU wait code
2019-07-07 19:03:01 +10:00
Andrew Tridgell 053f0cb689 AP_InertialSensor: try much harder to get all IMU samples
this we ensures we get new data for all active IMUs on each loop,
rather than sometimes returning with some IMUs not having data.

This matters as not having a sample on an IMU for a single loop can
cause an EKF IMU failover, which will degrade the learned bias
variances

The issue is usually only seen under high load, such as requesting a
loop rate beyond what the hardware is capable of
2019-07-07 19:03:01 +10:00
Andrew Tridgell 209bca162c AP_NavEKF3: added inactive bias learning
this allows for biases on inactive IMUs to be learned so that an IMU
switch within an EKF lane does not cause a jump in the IMU data
2019-07-07 19:03:01 +10:00
Andrew Tridgell 1c4c5a6850 AP_NavEKF2: learn gyro biases for inactive gyros
this allows us to learn the gyro biases each lane would need if it had
to switch to another gyro due to a sensor failure. This prevents a
sudden change in gyro bias on IMU failure
2019-07-07 19:03:01 +10:00
Andrew Tridgell 05bd0cb9f4 APM_Control: added decay_I() function
used by VTOL planes to decay integrator on fixed wing components when
at very low airspeed
2019-07-07 18:16:47 +10:00
Randy Mackay 030eab0f86 AR_WPNav: stop vehicle if OA processing fails 2019-07-07 06:46:26 +09:00
Randy Mackay 951ded1f51 AP_OAPathPlanner: report errors to caller 2019-07-07 06:46:26 +09:00
Michael du Breuil 104164d2e4 AP_Scripting: Tighten range checks on library calls 2019-07-06 09:01:13 -07:00
Peter Barker ce45baa034 AP_NavEKF3: factor out and logging functions, reuse for 2nd core 2019-07-06 19:05:51 +10:00
Peter Barker 6a0a466f42 AP_NavEKF2: factor out and logging functions, reuse for 2nd core 2019-07-06 19:05:51 +10:00
Peter Barker 9732940220 AP_AHRS: navekf: add Log_Write access point 2019-07-06 19:05:51 +10:00
Peter Barker f3f364de26 AP_NavEKF3: move logging in from AP_Logger 2019-07-06 19:05:51 +10:00
Peter Barker 5175d23cc1 AP_NavEKF2: move logging in from AP_Logger 2019-07-06 19:05:51 +10:00
Peter Barker e009b7aee5 AP_Logger: move logging of EKF packets out to EKF 2019-07-06 19:05:51 +10:00
Peter Barker c6533723de GCS_Param: correct sending of parameters of length 16 2019-07-06 18:06:17 +10:00
Andrew Tridgell 5ffb8bb546 AP_HAL: enable GPIO scripting on the Disco 2019-07-06 09:02:54 +10:00
Andrew Tridgell 2bab0efc41 HAL_Linux: implement HAL_GPIO_SCRIPT support
this allows Linux boards to trigger an external script on GPIO
writes. This can be hooked up to relays with either RC options or
mavlink or mission items to trigger actions that can be scripted
2019-07-06 09:02:54 +10:00
Andrew Tridgell 8a49c84d57 AP_Motors: fixed col max and min for dual heli
fixes H_SV_MAN behaviour
2019-07-06 08:57:18 +10:00
Andrew Tridgell 0f4c54aaa6 AP_RCProtocol: fixed a overflow in SRXL decoder
thanks to coverity 343308 and Peter for noticing
2019-07-06 08:53:44 +10:00
Andrew Tridgell 626c632859 SITL: fixed pitch constraint on fixed wing takeoff
fixes issue with jet takeoff
2019-07-05 20:12:22 +10:00
Andrew Tridgell 5bfb6ced84 AP_GPS: fixed u-blox F9 auto configuration 2019-07-05 13:31:40 +10:00
Peter Barker 502f74f0d9 AP_Logger: switch to using stderr for log structure debug
The console output doesn't seem to appear anywhere now.
2019-07-05 12:05:27 +10:00
Peter Barker 288952b5a2 AP_Logger: reserve W for watts as a unit 2019-07-05 12:05:04 +10:00
Peter Barker c515d17a4a AP_ServoRelayEvents: use Relay singleton 2019-07-03 23:59:24 -07:00
Peter Barker 8e5ec84317 AP_Relay: add AP::relay() to get relay singleton 2019-07-03 23:59:24 -07:00
Rajat Singhal 82413a1528 SITL: JSBSim: Fix comments 2019-07-03 23:58:22 -07:00
Peter Barker 39b17e42d0 AP_HAL_SITL: add missing include for AP_BoardConfig.h 2019-07-04 13:57:40 +10:00
Peter Barker ebd8170a15 GCS_MAVLink: add missing include for AP_RTC 2019-07-04 13:57:40 +10:00
Peter Barker 3d91547039 AP_Logger: add missing include for AP_RTC 2019-07-04 13:57:40 +10:00
Peter Barker cee3d8086b AP_InternalError: move include of BoardConfig to cpp
This breaks an include loop when building for skyviper-v2450
2019-07-04 13:57:40 +10:00
Atxheli 7f3cb09da2 correct comment placement for second led 2019-07-04 08:36:33 +10:00
Hwurzburg a9783de61c correct include paths, uncomment alarm pin, fix conflict with rssi 2019-07-04 08:36:33 +10:00
Hwurzburg 3e3d7b8e7f Change to "include" style for new board, fix to allow LED to be used as status indicator 2019-07-04 08:36:33 +10:00
Hwurzburg 10838387c5 Split Omnibus F4 pro and non-pro into two boards to allow pro boards to have 8 pwm outputs 2019-07-04 08:36:33 +10:00
Andrew Tridgell 5151416080 AP_NavEKF3: force first EKF lane when disarmed
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.

This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 06:48:23 +10:00
Andrew Tridgell 567c902e75 AP_NavEKF2: force first EKF lane when disarmed
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.

This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 06:48:23 +10:00
Tom Pittenger bf11746da5 AP_AHRS: allow EKF_TYPE==10 to send a good status report
Some GUIs, including DroneKit, will consider GPS locations invalid if the EKF status is not good
2019-07-03 21:22:09 +10:00
Peter Barker e58eae3c48 AP_Mount: remove unneeded typedefs
Also note that one of these was incorrectly sized.
2019-07-03 16:12:40 +09:00
Peter Barker 08b2676a8f AP_Notify: add comments explaining tonealarm tone format 2019-07-03 17:05:06 +10:00
Andrew Tridgell 2eb09b2910 SITL: simple implementation of a fast jet
just increase the weight and the rest can be done with params
2019-07-03 08:05:09 +10:00
Peter Barker 84eff51539 AP_Arming: remove stray comment on removed parameter
Almost certainly a rebase issue
2019-07-02 10:03:41 +10:00
Peter Barker f31b7b5772 GCS_MAVLink: remove stray undef of undefined macro 2019-07-02 10:02:55 +10:00
Alexey Kozin e5988f7153 AP_HAL_ChibiOS: fix voltage sensor connected to fmu adc 2019-07-02 06:42:11 +10:00
Peter Barker 7b52c41287 AP_Compass: fix example by instantiating serial_manager 2019-07-01 19:11:03 +10:00
Peter Barker ef2589738d AP_NavEKF3: use beacon singleton 2019-07-01 07:20:58 +09:00
Peter Barker 82df167ad4 AP_NavEKF2: use beacon singleton 2019-07-01 07:20:58 +09:00
Peter Barker d9c30f489f AP_Logger: use beacon singleton 2019-07-01 07:20:58 +09:00
Peter Barker 2bcaaf5aaf AP_AHRS: remove handling of beacon 2019-07-01 07:20:58 +09:00
Peter Barker 04ebb9de0b AP_Airspeed: use send_to_active_channels for airspeed_autocal 2019-06-29 16:04:26 +10:00
bugobliterator 7d4a758059 hwdef: fix default battery monitor pins for CubeOrange 2019-06-28 14:18:11 +10:00
bugobliterator 71ee4d573f AP_BattMonitor: add battery pin config for CubeOrange 2019-06-28 14:18:11 +10:00
Michael du Breuil cfa54d4ca4 AP_Module: update example baro include 2019-06-27 14:56:21 +10:00
Michael du Breuil ca65b214af AP_TECS: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 99ff84168c AP_Terrain: Remove unneeded includes 2019-06-27 14:56:21 +10:00
Michael du Breuil e43605cc9b AP_Airspeed: Remove a number of unneeded top level includes 2019-06-27 14:56:21 +10:00
Michael du Breuil a6623bfad3 AP_HAL_SITL: Fix missing include for logger.h 2019-06-27 14:56:21 +10:00
Michael du Breuil b7bca441e5 SITL: Fix a number of includes that were coming in via AP_Airspeed 2019-06-27 14:56:21 +10:00
Michael du Breuil 1226eb825a AP_AHRS: Reduce scope of AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 1a7502b413 AP_VisualOdom: Remove uneeded include 2019-06-27 14:56:21 +10:00
Michael du Breuil 7a03b8faac AP_InertialNav: Remove undeeded includes 2019-06-27 14:56:21 +10:00
Michael du Breuil 9b162563d6 AP_Advanced_Failsafe: Reduce scope of AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil b624f6f008 AP_NavEKF3: Reduce scope of AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil f04e47fc17 AP_NavEKF2: Reduce scope of AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 6385e3ceac AP_TempCalibration: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 9ed3242c06 AP_Tuning: Reduce header scope 2019-06-27 14:56:21 +10:00
Michael du Breuil 18e979fd4f GCS_MAVLink: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 631b4380e1 AP_OSD: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 6480786ab2 AP_Mount: Cleanup SoloGimalEKF headers further 2019-06-27 14:56:21 +10:00
Michael du Breuil eeca59d1ef AP_Arming: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Michael du Breuil 2dcbe5a49b AP_ADSB: Include needed AP_Baro.h 2019-06-27 14:56:21 +10:00
Peter Barker 61e261caf5 AP_Soaring: remove definition of 'N' macro in favour of scoped variable 2019-06-27 14:40:44 +10:00
Peter Barker 54ba686855 AP_InternalError: add bit for asking for a non-existant gcs backend 2019-06-27 07:54:45 +10:00
Michael du Breuil 67898d7320 AP_FrSky_Telem: Don't statically allocate the statustext_queue
This saves 280 bytes of RAM
2019-06-26 11:59:41 +10:00
Michael du Breuil f955a4e4d5 GCS_MAVLink: Don't retain a FrSky instance if we aren't using it
Saves 96 bytes of RAM
2019-06-26 11:59:41 +10:00
Michael du Breuil 59e62ca2fc AP_FrSky_Telem: Make init return false if we failed to init 2019-06-26 11:59:41 +10:00
Peter Barker 278ac5e6ed GCS_MAVLink: correct deferred body timing debug 2019-06-25 19:59:49 +10:00
Peter Barker feddaabc42 GCS_MAVLink: handle out-of-time to send messages in parent class 2019-06-25 10:29:40 +10:00
Andrew Tridgell 88111ef81a AP_BattMonitor: reset failsafe flags when we reset battery remaining 2019-06-25 09:56:25 +10:00
Andrew Tridgell f28df4dff1 GCS_MAVLink: support MAV_CMD_BATTERY_RESET command 2019-06-25 09:56:25 +10:00
Andrew Tridgell 11518857b6 AP_BattMonitor: added reset_remaining() API
used to allow battery swap before takeoff
2019-06-25 09:56:25 +10:00
Peter Barker a55c40949b GCS_MAVLink: remove pointless protocol parameter to setup_uart 2019-06-25 09:47:08 +10:00
Peter Barker ca449cd979 GCS_MAVLink: stop pointlessly passing serial manager around 2019-06-25 09:47:08 +10:00
Peter Barker 45fab82345 GCS_MAVLink: eliminate redundant static pointer to serialmanager 2019-06-25 09:47:08 +10:00
Randy Mackay 0b62641a46 AC_Avoidance: fix Dijkstra's iteration through polygon fence points 2019-06-25 00:32:18 +08:00
Peter Barker afd63c05ec AP_Tuning: ignore tuning selector switch unless valid RC input 2019-06-25 00:31:54 +08:00
Peter Barker 288b13868b AP_Tuning: debounce RC input 2019-06-25 00:31:54 +08:00
Andrew Tridgell b6dbb8f464 GCS_MAVLink: always show AHRS healthy with EKF type 10
this fixes an issue noticed by Marco with xplane
2019-06-25 00:28:45 +08:00
Andrew Tridgell 5ac2aad2f8 AP_Mission: fixed valgrind error on writing mission items 2019-06-24 18:19:14 +08:00
Andrew Tridgell 0ca71ba725 AP_HAL: added get_last_armed_change() Util function 2019-06-21 11:40:53 +10:00
Andrew Tridgell 8fc8bc4d84 AP_Arming: notify logging system of an arming failure 2019-06-21 11:40:53 +10:00
Andrew Tridgell dd3eec2a38 AP_Logger: persist logging for 15s after disarm or arming failure
this will provide useful information in logs on disarms in flight or
reasons for arming failure
2019-06-21 11:40:53 +10:00
Randy Mackay df6c666740 AP_Common: add AP_ExpandingGeneric to reduce code size 2019-06-20 15:09:23 +09:00
Randy Mackay 4ef3005d2c AP_Common: add AP_ExpandingArray delete 2019-06-20 15:09:23 +09:00
Randy Mackay 578023483c AC_Avoidance: Dijkstra's expanding arrays use 32 elements per chunk 2019-06-20 15:09:23 +09:00
Randy Mackay 2cb89d9a02 AP_Common: expanding array uses realloc
also make chunk_size const and recommend factor of 2
also reduce top level array's initial size to 32 elements
2019-06-20 15:09:23 +09:00
Randy Mackay da645c32ff AC_Avoidance: Dijkstra's specifies expanding array chunk sizes
also add check that number of polygon points is less than 255
2019-06-20 15:09:23 +09:00
Randy Mackay 073ce8c3db AP_ExpandingArray: add class description and remove default constructor
also made the following changes:
replaced delete with free
renamed chunk_ptr typedef to chunk_ptr_t
2019-06-20 15:09:23 +09:00
Randy Mackay 48a7f468bf AC_Avoidance: AP_OADijkstra and OAVisGraph use AP_ExpandingArray 2019-06-20 15:09:23 +09:00
Randy Mackay 528e7c60b0 AP_Common: add AP_ExpandingArray class 2019-06-20 15:09:23 +09:00
Peter Barker 1ff3cd442d AP_Mission: fix example by instantiating a GCS object 2019-06-20 13:40:28 +10:00
Peter Barker c11da6a85d GCS_MAVLink: routing example: use GCS_Dummy in place of custom GCS 2019-06-20 11:41:19 +10:00
Jaaaky 061b4b7e70 AP_Airspeed: convert to unix style end-of-line 2019-06-19 16:39:09 +09:00
Andrew Tridgell 767968026a AP_AdvancedFailsafe: added docs for AFS output pins 2019-06-18 17:20:55 +01:00
Michael du Breuil 75c62154b5 AP_HAL_SITL: Add missing override declarations 2019-06-18 00:06:32 -07:00
Michael du Breuil a34ac14ec5 AP_HAL_ChibiOS: Make BOARD_FLASH_SIZE available at configure time 2019-06-18 00:06:32 -07:00
Michael du Breuil 0a7cf77de4 AP_AHRS: Update function descriptions in header 2019-06-18 00:06:32 -07:00
Michael du Breuil 0ed3c547fd AP_Scripting: Disable by default, fix a nullable type, update README 2019-06-18 00:06:32 -07:00
Peter Barker ccbf3234f7 AP_HAL_SITL: return RC protocol being decoded 2019-06-18 11:35:38 +10:00
Peter Barker a9c4f1d0d5 AP_HAL_Linux: return RC protocol being decoded 2019-06-18 11:35:38 +10:00
Peter Barker 1f4de871da AP_HAL_ChibiOS: return RC protocol being decoded 2019-06-18 11:35:38 +10:00
Peter Barker 92111eea61 AP_HAL: require HALs implement rcin.protocol() to return RC protocol 2019-06-18 11:35:38 +10:00
Peter Barker 7bca6d5ec0 AP_Logger: log RC protocol each time a log is opened 2019-06-18 11:35:38 +10:00
Peter Barker 0963957b31 GCS_MAVLink: correct GCS_Dummy firmware version 2019-06-18 10:54:01 +10:00
Peter Barker c39a622653 GCS_MAVLink: take sw_version from AP_FWVersion struct 2019-06-18 10:54:01 +10:00
Peter Barker b48c729bb1 AP_Common: add os_sw_version to AP_FWVersion 2019-06-18 10:54:01 +10:00
Peter Barker 8f8851271a RC_Channel: add mode-changing options to Plane RC channel options 2019-06-18 10:48:47 +10:00
Peter Barker a2c4bfea0c GCS_MAVLink: use send_to_active_channels for parameters 2019-06-18 10:27:56 +10:00
vierfuffzig 7780e8ed00 AP_HAL_ChibiOS: add support for AIO and OSD board types
this allows init on board variant without onboard baro
2019-06-18 10:10:22 +10:00
Michael du Breuil 6e0cceff0d AP_Common: Remove extra comparison from longitude_scale() 2019-06-18 10:09:09 +10:00
Peter Barker 4e5842a150 AP_Common: add initialised() method to Location
Sometimes code paths are crossed when they shouldn't be.  This method
can help in the short term if a codepath is calling methods on a
Location when it is not initialised, but generally a vehicle should be
calling position_ok() and other methods rather than this one.
2019-06-18 09:07:56 +09:00
Michael du Breuil 4aa33bec49 AP_AHRS: Remove AP_GPS.h from AP_AHRS.h 2019-06-18 10:02:05 +10:00
Michael du Breuil 197804412a APM_Control: Fix AP_GPS include 2019-06-18 10:02:05 +10:00
Michael du Breuil a09ead5819 AP_ADSB: Fix AP_GPS include 2019-06-18 10:02:05 +10:00
Michael du Breuil 3194b073ca AP_AdvancedFailsafe: Use AP_GPS singleton 2019-06-18 10:02:05 +10:00
Michael du Breuil 157a3b1e34 AP_Airspeed: Fix AP_GPS.h include and use the singleton 2019-06-18 10:02:05 +10:00
Michael du Breuil c70107cabb AP_Arming: Fix AP_GPS.h include 2019-06-18 10:02:05 +10:00
Michael du Breuil 889d9b7348 AP_Frsky: Fix AP_GPS.h include 2019-06-18 10:02:05 +10:00
Michael du Breuil f6f432a785 AP_Landing: Fix AP_GPS.h include, use a ref to the singleton 2019-06-18 10:02:05 +10:00
Michael du Breuil f8750a6d18 AP_Logger: Fix AP_GPS.h include 2019-06-18 10:02:05 +10:00
Michael du Breuil 459e6704b9 AP_Module: Fix AP_GPS.h include 2019-06-18 10:02:05 +10:00