Commit Graph

23034 Commits

Author SHA1 Message Date
Paul Riseborough 4b3952bd15 AP_NavEKF3: Eliminate unnecessary function call 2020-04-24 09:43:23 +10:00
Paul Riseborough 6ec69e6ed1 AP_NavEKF3: Update EK3_MAG_CAL parameter advice 2020-04-24 09:43:23 +10:00
Paul Riseborough a66479104d AP_AHRS: fix failure to arm when not using compass for yaw 2020-04-24 09:43:23 +10:00
Andrew Tridgell 6b6f083bf2 RC_Channel: added lane switch RCn_OPTION=103
RC_Channel: added yaw reset switch RCn_OPTION=104
2020-04-24 09:43:23 +10:00
Paul Riseborough 22c2ea7cbf AP_AHRS: Add accessor function for EKF yaw reset request
AP_AHRS: Send yaw reset request to EKF2
2020-04-24 09:43:23 +10:00
Paul Riseborough 9cf75bf22e AP_AHRS: Enable EKF3 default airspeed to be set
AP_AHRS: Send default airspeed to EKF2
2020-04-24 09:43:23 +10:00
Paul Riseborough de0040ad69 AP_NavEKF2: Enable use of EKF-GSF yaw estimate
Enables the yaw to be reset in flight to a value estimated from a specialised yaw estimator. This allows faster recovery if taking off with a bad magnetometer and also allows yaw alignment and GPS use to commence in-air when operating without any yaw sensing.

AP_NavEKF2: Add missing accesor functions for default airspeed
2020-04-24 09:43:23 +10:00
Paul Riseborough 863f989130 AP_NavEKF3: Fix integration of GPS yaw options
AP_NavEKF3: fix failure to arm with EK3_MAG_CAL = 7

AP_NavEKF3: Fix failure to arm when not using magnetometer

AP_NavEKF3: Reduce yaw drift when EK3_MAG_CAL = 7
2020-04-24 09:43:22 +10:00
Paul Riseborough 410b5825fb AP_NavEKF3: Enable use of EKF-GSF yaw estimate
AP_NavEKF3: Add emergency yaw reset using a Gussian Sum Filter estimate

AP_NavEKF3: Reduce default minimum GPS velocity noise for Copters

Enables fail-safe to be set with more sensitivity and improves tracking accuracy.
Origin values were set using typical GPS performance for receivers on sale 6 years ago. Receiver performance has improved since then.

AP_NavEKF3: Prevent constant mag anomaly yaw resets

Prevents constant magnetic anomaly induced resets that can be triggered when flying with vehicle generated magnetic interference.
Allows for two resets per takeoff. Allowance for two resets is required, becasue a large ground based magnetic yaw anomaly can cause a sufficiently large yaw innovation that two resets in close succession are required.

AP_NavEKF3: Add option to fly without magnetometer

AP_NavEKF3: Rework emergency yaw reset logic

Use a separate external accessor function to request the yaw reset.
Allow reset requests to remain active for a defined period of time.
Tidy up reset function to split out accuracy check.

AP_NavEKF3: Fix vulnerability to lane switch race condition

Prevents the situation where a lane switch results in a lane being selected that does not have the correct yaw. This can occur if the primary lane becomes unhealthy before the external failsafe monitor has time to react.

AP_NavEKF3: Fix EKF_MAG_CAL = 6 behaviours

Fix bug causing the yaw alignment to be performed at startup before the GSF had a valid estimate.
Fix bug causing emergency yaw message to be output for a normal reset.
Fix vulnerability to reported negative yaw variance.
Remove duplicate timer checks.

AP_NavEKF3: Update EK3_MAG_CAL documentation

AP_NavEKF3: Relax yaw gyro bias convergence check when not using mag

AP_NavEKF3: Reduce yaw drift in hover with no yaw sensor

Uses the GSF yaw estimate if available which is better than the EKF's own yaw when no yaw sensor is available.
2020-04-24 09:43:22 +10:00
Paul Riseborough 6bb7c55bba AP_NavEKF: Add yaw estimator class using Gaussian Sum Filter
AP_NavEKF: Simplify centripetal accel correction
2020-04-24 09:43:22 +10:00
Peter Barker eee0f028ba AP_Logger: fix examples
Having a valid AP_Scheduler is now a requirement
2020-04-23 11:33:41 +09:00
Andrew Tridgell 4ec1717361 HAL_ChibiOS: enable IMU temp control on CUAV-X7 2020-04-23 09:05:52 +10:00
Andrew Tridgell 56b0dddb7c HAL_ChibiOS: set IMU temp on CUAV-X7 2020-04-23 07:28:13 +10:00
Andrew Tridgell 5892e6421e HAL_ChibiOS: enable DRDY on ADIS16470 on CUAV-X7 2020-04-23 07:28:13 +10:00
Andrew Tridgell ffe773ff6f HAL_ChibiOS: use DRDY pin for ADIS16470 on mRoNexus 2020-04-23 07:28:13 +10:00
Andrew Tridgell 5c6749ee54 AP_InertialSensor: use wait_pin() to wait for DRDY pin if available 2020-04-23 07:28:13 +10:00
Andrew Tridgell 450871cde1 HAL_ChibiOS: added wait_pin() implementation 2020-04-23 07:28:13 +10:00
Andrew Tridgell 34df438560 AP_HAL: added wait_pin() API
for waiting on data-ready lines
2020-04-23 07:28:13 +10:00
Andrew Tridgell 8e977183fe HAL_ChibiOS: added mRoNexus 2020-04-23 07:28:13 +10:00
Randy Mackay 6f8176c71e GCS_MAVLink: remove ahrs3 2020-04-22 14:11:17 +09:00
Mark Whitehorn dbfbe50737 SITL: update flightaxis defaults 2020-04-22 12:36:03 +10:00
Randy Mackay 47c7c8fb53 RC_Channel: rover option param desc gets Viso Align 2020-04-22 10:34:18 +09:00
Peter Barker 653b554a31 SITL: add simulated mavlink-attached rangefinder 2020-04-21 20:44:59 +10:00
Peter Barker 185bc68476 AP_HAL_SITL: add simulated mavlink-attached rangefinder 2020-04-21 20:44:59 +10:00
Andrew Tridgell 6be519fb0d HAL_ChibiOS: added alt-config for UART4 on omnibusf4pro 2020-04-21 18:42:12 +10:00
Andrew Tridgell 6347d0adb0 AP_GPS: leave uart2 config enabled when using uart2 MB setup 2020-04-21 15:30:54 +10:00
Andrew Tridgell f3a5d915f3 AP_GPS: allow for larger average delta on MB rover than normal 2020-04-21 15:30:54 +10:00
Andrew Tridgell 36098c3221 AP_GPS: improved delay health threshold
allow for missing frames without showing unhealthy on GCS
2020-04-21 15:30:54 +10:00
Andrew Tridgell 3397ed766d AP_GPS: enable ublox moving baseline compilation option
disable for HAL_MINIMIZE_FEATURES and if max receivers 1. This fixes
the f103-GPS AP_Periph build
2020-04-21 15:30:54 +10:00
Andrew Tridgell ae2132d861 AP_GPS: added check for Z error in moving baseline ublox
this ensures we don't get bad yaw from having the right distance but
incorrect Z offset for the currently expected roll/pitch
2020-04-21 15:30:54 +10:00
Andrew Tridgell 7027eecd34 AP_GPS: added GPS_DRV_OPTIONS
this allows for configuration of moving baseline with either uart1 or
uart2 for the RTCM data. Using uart2 requires an extra cable between
the two modules, but requires less uart bandwidth which is good when
DMA channels are low. Using uart2 also avoids the rtcmv3 parser, which
saves memory
2020-04-21 15:30:54 +10:00
Andrew Tridgell 9a6de209ab AP_GPS: ensure that PVT and RELPOSNED msgs time align
this ensures we wait until we have a matching PVT and RELPOSNED
message before we report new data. If we stop receiving RELPOSNED
messages then disable yaw support
2020-04-21 15:30:54 +10:00
Andrew Tridgell 3fbeae613b AP_GPS: fixed moving baseline yaw calculation
this reverts #13955 and instead applies the correct fix, which is to
subtract the angle instead of adding.
2020-04-21 15:30:54 +10:00
Randy Mackay 3195a7cccd AC_Circle: z-axis target only updated during terrain following
This allows the circle flight mode to externally control the altitude target
2020-04-21 11:39:38 +09:00
murata 2af70f5e60 AP_Arming: Display mag field value 2020-04-21 10:51:48 +09:00
Randy Mackay 35dcb0d752 AP_NavEKF2: CorrectExtNavForSensorOffset made const 2020-04-21 10:21:23 +10:00
Randy Mackay 7470bc9994 AP_NavEKF3: CorrectGPSForAntennaOffset made const
also reduce scope of call to slightly reduce CPU load
2020-04-21 10:21:23 +10:00
Randy Mackay 85704e4989 AP_NavEKF2: CorrectGPSForAntennaOffset made const
also reduce scope of call to slightly reduce CPU load
2020-04-21 10:21:23 +10:00
Peter Barker 87108b86c8 AP_NavEKF3: add documentation for XKFM message 2020-04-21 09:48:43 +10:00
Peter Barker a83c25cfa7 AP_Logger: add documentation for EKF messages
NKF0, NKF1, NKF2, NKF3, NKF4, NKF5, NKQ

XKF0, XKF1, XKF2, XKF3, XKF4, XKF5, XKFD, XKQ, XKV1, XKV2
2020-04-21 09:48:43 +10:00
Peter Barker cda0d14f57 SITL: add documentation for SITL and SMOO message 2020-04-21 09:48:43 +10:00
Rishabh 6a98ab569e AC_PosControl: Replace update_vel_controller_xy() with update_xy_controller() 2020-04-21 09:22:45 +10:00
Andrew Tridgell 7e835d1037 AP_RCProtocol: fixed buffer overflow in st24 parser
found using random data injection in SITL
2020-04-21 06:02:29 +10:00
Peter Barker 59c02816b8 AP_HAL_SITL: find dumpstack when run from vehicle subdirectory 2020-04-20 14:25:08 +10:00
murata bd688ef412 AP_ToshibaCAN: Using the maximum number of ESCs definition
AP_ToshibaCAN: Using the maximum number of ESCs definition
2020-04-20 10:12:57 +09:00
Andrew Tridgell 02aebfcd6f AP_Baro: fixed build warning 2020-04-20 07:10:21 +10:00
Andrew Tridgell 6dafa82c7c AP_FlashStorage: fixed build warning 2020-04-19 13:36:24 +10:00
Peter Barker b490f20f3d AP_Param: panic if defaults file load fails 2020-04-18 21:51:16 +10:00
Andy Piper f3b240533f AP_HAL_ChibiOS: eliminate EKF2 from fmuv2 build 2020-04-18 20:18:30 +10:00
Mark Whitehorn 874c293911 AP_Logger: expand description of GPS.spd 2020-04-18 15:33:43 +10:00
Randy Mackay 33d29feab9 AP_VisualOdom: T265 supports vision-position-delta
implementation is the same for both backends so move to AP_VisualOdom_Backend
2020-04-18 08:07:20 +09:00
Peter Barker 870159c14f AP_Logger: add times-full to MAV log structure 2020-04-17 22:21:14 +10:00
Peter Barker 8b9281eaa1 GCS_MAVLink: log number of times message not sent due to no space 2020-04-17 22:21:14 +10:00
Peter Barker 908dfa58f3 AP_Logger: remove unused FORMATS stage in DFLogStart messagewriter 2020-04-17 21:42:15 +10:00
Andrew Tridgell db8fdeebeb HAL_ChibiOS: fixed Hott telem half duplex handling
this fixes an issue with single byte writes with half duplex. It isn't
an elegent solution, but nicely separates the different types of half
duplex operation
2020-04-17 17:52:28 +10:00
Patrick José Pereira 6672155e24 AP_FlashStorage: Fix test for AP_FLASHSTORAGE_MULTI_WRITE
AP_FLASHSTORAGE_MULTI_WRITE is not defined

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 16:00:39 +10:00
Patrick José Pereira c83ce93165 AP_HAL_Linux: Add missing wscript for GPIOTest
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 15:59:25 +10:00
Patrick José Pereira 4018a79f83 AP_Baro: Fix scope of HAL_INS_MPU60x0_NAME
`read_calibration_data` is defined but only used inside the
definition scope.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 15:58:38 +10:00
Andrew Tridgell cac455ff2d HAL_ChibiOS: added another uart to omnibusf4v6
for RC telemetry such as Hott telem
2020-04-17 11:23:06 +10:00
Andrew Tridgell f721fb1743 AP_Hott_Telem: fixed GPS display for mz-32
thanks to Ralf Helbing
2020-04-17 11:23:06 +10:00
Peter Barker 41ada7f8f4 GCS_MAVLink: document the payload-space macros 2020-04-17 10:20:49 +10:00
Randy Mackay 03441f2250 AC_Circle: remove _rangefinder_use parameter
We will reuse the WPNAV_RFND_USE parameter indirectly
2020-04-16 17:30:29 +09:00
Randy Mackay f3e2b182a1 AC_WPNav: add rangefinder_used accessor 2020-04-16 17:30:29 +09:00
Randy Mackay 658bb646ca AC_Circle: support terrain altitudes 2020-04-16 17:30:29 +09:00
vierfuffzig 7c7b199bbd AP_HAL_ChibiOS: add I2C / USART3 ALT_CONFIG for omnibusf4pro 2020-04-16 08:42:24 +10:00
Randy Mackay 22c9081c83 AP_NavEKF3: minor comment fix 2020-04-15 19:35:30 +09:00
Peter Barker 678d6f43c5 AP_Logger: use existing LoggerMessageWriter to log uploaded missions
Instead of creating a MessageWriter explicitly to log uploaded missions
we fiddle the state of the one stored in the startup message writer.

This has the advantage of being much more likely to log the entire
mission (as the buffer constraint is removed), and with the addition of
a time-remaining check much less likely to cause a timing glitch.
2020-04-15 16:24:40 +10:00
Peter Barker 856b635e89 AP_Mount: convert Solo gimbal messages to TimeUS from TimeMS
Also remove unused gimbal3 message entirely
2020-04-15 16:11:04 +10:00
Peter Barker d8582d864a AP_Logger: convert Solo gimbal messages to TimeUS from TimeMS
Also remove unused gimbal3 message entirely
2020-04-15 16:11:04 +10:00
Peter Barker acba2a78f6 AP_Logger: add message validation check against duplicate labels 2020-04-14 12:30:58 +10:00
Peter Barker ec7bde2be4 SITL: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker 4245ee6543 RC_Channel: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker 1b99cfb10a AP_Vehicle: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker b7a03ae5ad AP_RangeFinder: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker d390126b93 AP_Rally: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker d19f8db06f AP_NavEKF3: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker f1fc05d357 AP_NavEKF2: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker efbf929bc0 AP_InertialSensor: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker e67347f011 AP_HAL_SITL: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker 7d7a7d126c AP_Follow: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker e1f8af1653 AP_BattMonitor: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker 6046aa3625 AP_Airspeed: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker e545a429a0 AC_Fence: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker 002d47447e AC_Avoidance: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Randy Mackay 3ccb3c69a6 SITL: add vicon position offsets 2020-04-14 10:28:03 +10:00
Randy Mackay 2164293cc0 AP_VisualOdom: remove sensor position from call to ahrs writeExtNavData 2020-04-14 10:28:03 +10:00
Randy Mackay 79afc70cdb AP_AHRS: remove writeExtNavData sensOffset argument
EKF pulls this directly from AP_VisualOdom
2020-04-14 10:28:03 +10:00
Randy Mackay 8749f30c64 AP_NavEKF2: external nav pos offsets from AP_VisualOdom library 2020-04-14 10:28:03 +10:00
Randy Mackay c39fef6c56 GCS_MAVLink: pass vision-position-estimate reset_counter to AP_VisualOdom handler 2020-04-14 10:28:03 +10:00
Randy Mackay 3557104787 AP_VisualOdom: log corrected position instead of raw position 2020-04-14 10:28:03 +10:00
Randy Mackay 6622927a23 AP_VisualOdom: support position resets 2020-04-14 10:28:03 +10:00
Randy Mackay 83e48b575e AP_VisualOdom: add SCALE parameter
Applied to positions from vision-position-estimate messages
2020-04-14 10:28:03 +10:00
Randy Mackay 852325c8e4 AP_VisualOdom: remove unused method declarations 2020-04-14 10:28:03 +10:00
Randy Mackay ccf96cf0a5 AP_VisualOdom: rename MAV to MAVLink in TYPE param desc 2020-04-14 10:28:03 +10:00
Randy Mackay 4f639481c1 AP_Logger: VISP msg adds reset_counter 2020-04-14 10:28:03 +10:00
Randy Mackay fb7e68c53a AP_NavEKF2: writeExtNavData reset handles system time wrap 2020-04-14 10:28:03 +10:00
Andrew Tridgell 74f33d57c5 HAL_ChibiOS: avoid unnecessary H7 flash writes 2020-04-14 10:02:51 +10:00
Andrew Tridgell 8dabd6cefc HAL_ChibiOS: expect a long delay on flash page erase
this prevents the display of errors on flash page erase
2020-04-14 10:02:51 +10:00
Andrew Tridgell 4b236e52b2 HAL_ChibiOS: added MatekH743 port 2020-04-14 10:02:51 +10:00
Andrew Tridgell 2165fd66f1 HAL_ChibiOS: define FLASH_RESERVE_END_KB 2020-04-14 10:02:51 +10:00
Andrew Tridgell 8e83783b18 AP_FlashStorage: support H7 flash storage
this generalises AP_FlashStorage to support the 32 byte write
restrictions of the STM32H7
2020-04-14 10:02:51 +10:00
Andrew Tridgell 5125fc1a64 HAL_SITL: added checks for flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell efe78fe3e1 AP_HAL: allow SITL to emulate 3 different types of flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell e1792f89db AP_HAL: fixed default HAL_STORAGE_SIZE for flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell c0039c85e0 HAL_SITL: emulate sector size for flash storage properly 2020-04-14 10:02:51 +10:00
Peter Barker 2988c70627 AP_FlashStorage: clarify space-available-for-write check 2020-04-14 10:02:51 +10:00
Andy Piper c4217f329b AP_RPM: allow harmonic notch driver to appear as RPM values. 2020-04-14 09:43:16 +10:00
Henry Wurzburg e5319397b4 AP_HAL_ChibiOS: eliminate EKF2 from F4 builds not using HAL_MINIMIZE_FEATURES 2020-04-14 09:19:28 +10:00
Andrew Tridgell 5c399fce41 AP_AHRS: auto-switch to EK3/EK2 if selected option disabled
if we have an EKF backend selected and that backend doesn't exist then
auto-switch to the other backend.

This fixes MatekF405-Wing which has EKF2 disabled and was falling back
to DCM
2020-04-14 09:15:43 +10:00
Peter Barker c36e06e7fa AP_Compass: add documentation for COFS, compass-learning message 2020-04-14 07:34:59 +10:00
Peter Barker 54292c5443 AP_Tuning: add documentation for PRTN message 2020-04-14 07:34:59 +10:00
Peter Barker 061c3ecb7f AP_RCProtocol: add documentation for RCDA message 2020-04-14 07:34:59 +10:00
Peter Barker 767c010332 AP_Logger: add documentation for WENC, CESC, PRX, ADSB, BCN, BCL, OABR, OADF 2020-04-14 07:34:59 +10:00
murata 124d8c7fdf AP_HAL_ChibiOS: Changing the timeout detection 2020-04-14 07:32:46 +10:00
murata 10b7988092 AP_Baro: Fix timestamp wrapping 2020-04-14 07:30:58 +10:00
Randy Mackay 9f81da1bf9 AP_NavEKF2: minor comment fix 2020-04-13 14:39:53 +09:00
Andrew Tridgell db4f1a1473 HAL_ChibiOS: enable ADIS16470 on SPI1 2020-04-13 15:26:02 +10:00
CUAVcaijie 942b2fd29f HAL_ChibiOS: Added support for CUAV X7 flight controller 2020-04-13 15:26:02 +10:00
Andrew Tridgell d772289b0d AP_InertialSensor: added driver for ADIS16470 2020-04-13 11:57:04 +10:00
Peter Barker ede87d49f6 AP_InternalError: add a bit for infinite recursion in switch_full_sector 2020-04-12 09:43:13 +10:00
Peter Barker a2b4713008 AP_FlashStorage: protect against infinite recursion in switch_full_sector 2020-04-12 09:43:13 +10:00
Peter Barker 851d9ae1ef AP_Compass: log message information for MMC3416 2020-04-12 08:36:48 +10:00
Peter Barker c3b8db95b8 AP_Logger: add DSTL log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker d23d4768f1 AP_Landing: add LAND log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker e5b634cdd0 AP_IOMCU: add IOMC log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker 88d61b9d3c AP_Follow: add FOLL log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker 194d3c280f AP_EFI: add EFI log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker f9c4976f93 AP_BoardConfig: add HEAT log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker 1a148afe1b AC_AutoTune: add ATDE log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker afc0fbc516 AC_AttitudeControl: add CTRL log message documentation 2020-04-12 08:36:48 +10:00
Andrew Tridgell 1f8cd830ea AP_NavEKF3: fixed use of tabs 2020-04-11 21:14:31 +10:00
Paul Riseborough f68f355852 AP_NavEKF3: Fix timestamp wrapping 2020-04-11 21:14:31 +10:00
Paul Riseborough 33ab1a7b15 AP_NavEKF3: Ensure yaw fusion commences when starting from rest 2020-04-11 21:14:31 +10:00
Paul Riseborough a3725e2581 AP_NavEKF3: Fix bug in calculation of rotation order 2020-04-11 21:14:31 +10:00
Paul Riseborough eeac0a05b9 AP_NavEKF3: Improvements to on ground movement check
Reduce sensitivity and log test ratios.
Reduce base logging rate to 5Hz and log when status changes.
2020-04-11 21:14:31 +10:00
Paul Riseborough ebb8bb4f6f AP_NavEKF3: Enable use of yaw fusion before external yaw sensor starts 2020-04-11 21:14:31 +10:00
Andrew Tridgell 83ad1c17a8 AP_AHRS: disable DCM yaw consistency check when using external yaw
when EKF3 is using an external (typically GPS) supplied yaw then we
don't expect DCM to have the right yaw so should not do the DCM yaw
consistency check
2020-04-11 21:14:31 +10:00
Andrew Tridgell 3ae0b0d446 AP_NavEKF3: added using_external_yaw() method
needed by AHRS for attitudes_consistent() check
2020-04-11 21:14:31 +10:00
Andrew Tridgell 6f04fae4a0 AP_NavEKF3: added fallback to mag option with external yaw
this allows for a magnetometer to be used as a fallback yaw source in
flight when using an external yaw source such as a GPS. The
magnetometer bias is learned while the GPS yaw is available and
fallback is only done if the mag yaw and GPS yaw are consistent when
fallback is enabled

This also learns the Z gyro bias until first yaw alignment when
MAG_CAL is EXTERNAL_YAW_FALLBACK. This prevents large gyro bias
building while waiting for GPS lock
2020-04-11 21:14:31 +10:00
Andrew Tridgell a3100251a8 AP_NavEKF3: use enum class for EK3_MAG_CAL values
and use effective_magCal() everywhere for consistency
2020-04-11 21:14:31 +10:00
Andrew Tridgell e8fb082a9a HAL_SITL: fixed simulation of roll/pitch of moving baseline ublox 2020-04-11 21:14:31 +10:00
Andrew Tridgell b90b4f9157 HAL_SITL: implement moving baseline for ublox
this allows testing of the moving baseline dual ublox code
2020-04-11 21:14:31 +10:00
Andrew Tridgell 778532d556 SITL: added SIM_GPS2_HDG and rationalise the GPS position variables 2020-04-11 21:14:31 +10:00
Andrew Tridgell ff112a726b AP_Battery: fixed bug in SUI driver
fixed bug in total voltage
2020-04-10 11:46:01 +10:00
bugobliterator a31f2e5d90 hwdef: add validation checks for CubeOrange 2020-04-10 07:04:21 +10:00
bugobliterator ef91f1634b HAL_ChibiOS: add support for adding board validation test 2020-04-10 07:04:21 +10:00
bugobliterator 8a77ddf8c6 AP_BoardConfig: run validation test if declared under hwdef 2020-04-10 07:04:21 +10:00
Randy Mackay 1ba036169f AP_VisualOdom: align sensor displays yaw shift in 0 to 360 range 2020-04-09 19:41:08 +09:00
Randy Mackay 9fd39f3768 AP_Math: alternative quaternion rotation test 2020-04-09 19:41:08 +09:00
Randy Mackay 26e4dd6fef AP_Math: correct quaternion::from_rotation for pitch-180 2020-04-09 19:41:08 +09:00
Randy Mackay dc2e0f328b AP_VisualOdom: fix handle_vision_position_delta_msg
position and angle deltas were swapped when passed into the EKF
time passed into the EKF was scaled as usec when it should be sec
2020-04-09 19:41:08 +09:00
Randy Mackay c18fce6714 AP_Math: add quaternion rotation test 2020-04-09 19:41:08 +09:00
Randy Mackay d1aa3858f0 AP_Vehicle: add visual odometry 2020-04-09 19:41:08 +09:00
Randy Mackay 1b1687f43d AP_Arming: integrate visual odometry pre_arm_check 2020-04-09 19:41:08 +09:00
Randy Mackay 2f5a8fd6b9 RC_Channel: add aux function for visodom-calibrate 2020-04-09 19:41:08 +09:00
Randy Mackay 9769f08fd9 GCS_MAVLink: visual odometry build fixes 2020-04-09 19:41:08 +09:00
Randy Mackay a9c1eb5af4 GCS_MAVLink: fill in sys_status vision position bits 2020-04-09 19:41:08 +09:00
Randy Mackay a1ddd55ea5 GCS_MAVlink: AP_integrate of rename to handle_vision_position_delta_msg 2020-04-09 19:41:08 +09:00
Randy Mackay 728e8b45a9 GCS_MAVLink: use AP_VisualOdom to handle vision-position-estimate messages 2020-04-09 19:41:08 +09:00
Randy Mackay aa720b0ae6 AP_VisualOdom: pre-arm failure string prefix moved to AP_Arming 2020-04-09 19:41:08 +09:00
Randy Mackay 3d75dc7815 AP_VisualOdom: add HAL_VISUALODOM_ENABLED 2020-04-09 19:41:08 +09:00
Randy Mackay 8f94a0cfb0 AP_VisualOdom: integrate IntelT265 backend 2020-04-09 19:41:08 +09:00
Randy Mackay f0e11d9a5c AP_VisualOdom: add IntelT265 backend 2020-04-09 19:41:08 +09:00
Randy Mackay a41b169635 AP_VisualOdom: front-end implements handle_vision_position_estimate with eulers 2020-04-09 19:41:08 +09:00
Randy Mackay 3530d5b348 AP_VisualOdom: MAV driver implements handle_vision_position_estimate 2020-04-09 19:41:08 +09:00
Randy Mackay c78b1ab3bf AP_VisualOdom: rename handle_vision_position_delta_msg 2020-04-09 19:41:08 +09:00
Randy Mackay b519d285a6 AP_VisualOdom: get_orientation made public
also remove unnecessary friends
2020-04-09 19:41:08 +09:00
Randy Mackay c36dfc448d AP_VisualOdom: handle_msg directly updates EKF 2020-04-09 19:41:08 +09:00
Randy Mackay 0eb1ef1f08 AP_VisualOdom: add handle_vision_position_estimate
also add pre_arm_check
2020-04-09 19:41:08 +09:00
Randy Mackay 1cf9655b4a AP_VisualOdom: TYPE param becomes enable flag and reboot required 2020-04-09 19:41:08 +09:00
Randy Mackay 61a06bbb04 AP_Math: add quaternion rotate, from_rotation and invert 2020-04-09 19:41:08 +09:00
Randy Mackay 338548c5eb AP_Math: move HALF_SQRT_2 def to rotation.h
This allows it to be used by the Quaternion class
2020-04-09 19:41:08 +09:00
Randy Mackay b0b78e974b AP_AHRS: add get_quaternion 2020-04-09 19:41:08 +09:00
Randy Mackay e1c623183e AP_AHRS: minor comment fix and move var_info lower 2020-04-09 19:41:08 +09:00
Randy Mackay 24bb4876a8 AP_AHRS: move is_ext_nav_used_for_yaw to parent 2020-04-09 19:41:08 +09:00
Randy Mackay c0187fe05f AP_Logger: add log message description for VISO 2020-04-09 19:41:08 +09:00
Randy Mackay f18be824ea AP_Logger: add VISP message 2020-04-09 19:41:08 +09:00
chobits 63320f140a AP_Logger: constraints time spend in header writing, more complete 2020-04-09 19:17:17 +10:00
chobits b829384fdf AP_Logger: constraints time spended in header writing 2020-04-09 19:17:17 +10:00
Andrew Tridgell dd4cf6ccdd AP_Compass: change RM3100 device ID
changed scale factor means users need to recalibrate
2020-04-08 11:21:51 +10:00
Andrew Tridgell 18c3efc377 AP_Compass: fixed scaling of RM3100
scale factor was off by 200/256, resulting in COMPASS_SCALE of about
1.28

thanks to Arace for noticing
2020-04-08 11:21:51 +10:00
Peter Barker 5e4cbb0a3f AP_EFI: correct duplicate-label problem in EFI2 log message 2020-04-08 11:17:41 +10:00
Samuel Tabor 4a39a43c10 AP_Soaring: Add log documentation. 2020-04-08 09:11:54 +10:00
Samuel Tabor b9daae062c AP_Soaring: Use enum class rather than typedef enum for states and hide details of these. 2020-04-08 09:11:54 +10:00
Samuel Tabor 3228cc3309 AP_TECS: Update descriptions of pitch feed-forward parameters. 2020-04-08 09:11:54 +10:00
Samuel Tabor 6e75890bd9 AP_Soaring: Add a low pass of target position from EKF before using it. 2020-04-08 09:11:54 +10:00
Samuel Tabor f23efdd13b AP_Soaring: Make vario time constant public. 2020-04-08 09:11:54 +10:00
Samuel Tabor d04c6cb02e TECS: Don't override the speedweight to 0 if synthetic airspeed is in use. 2020-04-08 09:11:54 +10:00
Samuel Tabor 56649fa8eb AP_Soaring: Fix too-long status message. 2020-04-08 09:11:54 +10:00
Samuel Tabor d54c7f1b7a AP_Soaring: Fix bug when no soaring activation RC channel set. 2020-04-08 09:11:54 +10:00
Samuel Tabor fbd0df81a7 AP_Soaring: Report changes in active status. 2020-04-08 09:11:54 +10:00
Samuel Tabor e1f7122566 AP_Soaring: Improve tracking of enabled/disabled status. 2020-04-08 09:11:54 +10:00
Samuel Tabor 5ac801b2ac AP_Soaring: Use 64 bit variable for time to avoid overflow. 2020-04-08 09:11:54 +10:00
Samuel Tabor 2260fda4ec AP_Soaring: Detect changes in active parameter/switch position. 2020-04-08 09:11:54 +10:00
Samuel Tabor fdf7eae01c AP_Soaring: Adjust initial EKF values and limit R to 40.0m. 2020-04-08 09:11:54 +10:00
Samuel Tabor ff1725b549 AP_Soaring: Make enable channel 3 position. PWM above 1400us allows most soaring features, but above 1700us is required before any automatic switch to LOITER mode. 2020-04-08 09:11:54 +10:00
Samuel Tabor 1160c59a89 AP_Soaring: Remove dsp bias and log this. 2020-04-08 09:11:54 +10:00
Samuel Tabor c28c573da1 AP_Soaring: Also log acceleration. 2020-04-08 09:11:54 +10:00
Samuel Tabor 7555f5abf8 AP_Soaring: Fix incorrect trig function and log the expected sink. 2020-04-08 09:11:54 +10:00
Samuel Tabor 17f1fa9600 AP_Soaring: Fix use of double precision sqrt. 2020-04-08 09:11:54 +10:00
Samuel Tabor 7d3ff28974 AP_Soaring: Correct bug with reversed arguments. 2020-04-08 09:11:54 +10:00
Samuel Tabor 16b7de4029 AP_Soaring: Cleanup variometer. 2020-04-08 09:11:54 +10:00
Samuel Tabor 62a34e0f8d AP_Soaring: Calculate filter time constant based on airspeed and loiter radius, using 3x circline rate. 2020-04-08 09:11:54 +10:00
Samuel Tabor 2b40182b34 AP_Soaring: Reduce drift feed-forward by ratio of climb rate to thermal core strength. This is consistent with assumption that each packet of air, rising at core strength, is convected with the ambient wind speed. 2020-04-08 09:11:54 +10:00
Samuel Tabor 15cef55e97 SITL: Make thermal drift relative to 100m alt to avoid so much change with wind speed and direction." 2020-04-08 09:11:54 +10:00
Samuel Tabor 8072f6b858 AP_Soaring: Make the trigger VSPEED take account of thermalling sink. 2020-04-08 09:11:54 +10:00
Samuel Tabor 650b464831 AP_Soaring: Move drift check to separate function and check drift with reference to mission segment, allowing drift in right direction. LOITER target, not current position, is now used. 2020-04-08 09:11:54 +10:00
Samuel Tabor 45cb663d73 AP_Math: Add template for Vector2f::projected. 2020-04-08 09:11:54 +10:00
Samuel Tabor fab74f8927 AP_Soaring: Calculate expected thermalling sink live and avoid divide by zero by limiting airspeed to that corresponding to CL max (generously assumed 1.5 for glider). 2020-04-08 09:11:54 +10:00
Samuel Tabor 75f772b269 AP_Soaring: Add SOAR_MAX_RADIUS parameter, that defines when a RTL will be used when exiting LOITER. 2020-04-08 09:11:54 +10:00
Samuel Tabor 684ee11fc3 AP_TECS: Add flags to indicate gliding flight, and use these with AP_Soaring. 2020-04-08 09:11:54 +10:00
Samuel Tabor dc8c062fbe AP_TECS: Correct an error in the SEBdot FF term. 2020-04-08 09:11:54 +10:00
Samuel Tabor 247738518e AP_TECS: Add a feed-forward term from adjusted demanded airspeed to nav pitch. 2020-04-08 09:11:54 +10:00
Samuel Tabor a27c99fab9 AP_TECS: Return the adjusted demanded airspeed. The aspd_error mavlink message now shows the rate-limited airspeed. 2020-04-08 09:11:54 +10:00
Samuel Tabor ae27f96361 SITL: Make soaring thermals slanted. 2020-04-08 09:11:54 +10:00
Samuel Tabor 013628bd1d Plane: Soaring - better reporting of exit due to drift. 2020-04-08 09:11:54 +10:00
Samuel Tabor e1b2360781 AP_Soaring: Add a maximum allowable drift distance when thermalling. 2020-04-08 09:11:54 +10:00
Samuel Tabor 936d4232c9 AP_Soaring: Add a 60s first order filter on climb rate. If this becomes negative exit thermalling. 2020-04-08 09:11:54 +10:00
Samuel Tabor 30249e8006 AP_Soaring: Add a check of whether altitude has been lost overall when thermalling. 2020-04-08 09:11:54 +10:00
Samuel Tabor 5082c9be8b SITL: Add plane-soaring type, including parameters, mission, simulated thermals and glider sim settings. 2020-04-08 09:11:54 +10:00
Tom Pittenger f24095e9ed AP_Soaring: inhibit msg spam when lingering in loiter waiting for heading to line up 2020-04-08 09:11:54 +10:00
Samuel Tabor 3211c03f58 AP_Soaring: Remove unused methods, clean up and log position in N/E rather than Lat/Lng.
Fix
2020-04-08 09:11:54 +10:00
Samuel Tabor 152c1507e0 AP_Soaring: Make the EKF states the actual NE position of the thermal, rather than the position relative to aircraft. 2020-04-08 09:11:54 +10:00
Samuel Tabor d7abd296ef AP_Soaring: Avoid calculations in lat/lng. 2020-04-08 09:11:54 +10:00
Samuel Tabor 0cccc8dc29 AP_Soaring: Fix issue with loiter radius being saved as zero due to initialisation order. This caused incorrect calculation of thermal climb potential and cases of staying in thermals that should have been abandoned. 2020-04-08 09:11:54 +10:00
Samuel Tabor c135b00b7b AP_Soaring: Remove redundant check for new vario data. 2020-04-08 09:11:54 +10:00
Samuel Tabor 64460be0d0 AP_Soaring: Implement vario based on acceleration rather than differentiated airspeed. 2020-04-08 09:11:54 +10:00
Tom Pittenger f6396d7a6d Plane: add reason to exit Thermal loiter and adjust LOW alt reaon to cause RTL 2020-04-08 09:11:54 +10:00
Tom Pittenger 52ae093a97 AP_Soaring: add reason to exit Thermal loiter 2020-04-08 09:11:54 +10:00
Michael du Breuil 73c5c2e1bb AP_Arming: Check that sticks are neutral 2020-04-07 14:01:12 -07:00
Michael du Breuil 2b9aa9bc21 RC_Channel: Add option bit for arming checking the throttle input (opt-in)
Also adds interface to find out what channel is used for rudder arming
2020-04-07 14:01:12 -07:00
murata 7ec0cb47a5 AP_Compass: const extern hal reference 2020-04-07 20:45:51 +09:00
murata f83f6c71e4 AP_Logger: const extern hal reference 2020-04-07 20:45:51 +09:00
murata 264a90bb45 AP_Logger: Change to coding style (NFC)
AP_Logger: Change to coding style (NFC)
2020-04-07 20:37:33 +09:00
Rishabh 76b4e42bca AP_Logger: Logger documentation TimeUS and typo fix 2020-04-07 18:57:01 +10:00
Rishabh fe4d1f9316 AC_AutoTune: Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Rishabh b0134460e5 AP_NavEKF:Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Rishabh eeb55f8b16 TECS: Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Peter Barker 59dfaad749 SITL: provide method to retrieve desired speedup 2020-04-07 14:51:32 +10:00
Peter Barker 78e432af0c AP_HAL_SITL: do not let outbound queue length to grow too far
This basically limits our loop rate to whatever is listening on uartA
can handle in terms of mavlink traffic.
2020-04-07 14:51:32 +10:00
Peter Barker 7028eb8d24 AP_HAL_SITL: provide method to get amount of data still pending in outbound system queues 2020-04-07 14:51:32 +10:00
bugobliterator 9d7022514e HAL_SITL: ensure that unique id string end in null char 2020-04-07 09:40:05 +10:00
Andy Piper b8878380d6 AP_Camera: add RunCam device type 2 documentation 2020-04-06 20:27:32 +10:00
Andy Piper e3d22b9d27 AP_Camera: if exiting a RunCam submenu reset the submenu index to the top 2020-04-06 20:15:38 +10:00
Andrew Tridgell be674fc36c AP_NavEKF3: make mag variance reporting consistent
logged scaled variance should match the value used in MAVLink
EKF_STATUS_REPORT
2020-04-06 17:30:29 +10:00
Andrew Tridgell c9755cf9e6 AP_NavEKF2: make mag variance reporting consistent
logged scaled variance should match the value used in MAVLink
EKF_STATUS_REPORT
2020-04-06 17:30:29 +10:00
Peter Barker 2ed550966d AP_Logger: correct units for velocity on OF log message 2020-04-06 10:46:45 +10:00
Peter Barker 64c973b592 SITL: add documentation for AirSim ASM1,ASM2 log messages 2020-04-06 10:46:45 +10:00
Peter Barker e477f6c840 AC_PosControl: add documentation for PSC log message 2020-04-06 10:46:45 +10:00
Peter Barker 33f17d7739 AP_Logger: document ARSP,ASP2,CAM,TRIG,POWR,TERR,CSV,CMD,OF,AHR2 2020-04-06 10:46:45 +10:00
Peter Barker 3fb61c4cf0 AP_Logger: add documentation for more log messages
ERR,DSF,EV,SIM,ORGN,POS,LGR,MON,TSYN,IMU,IMUT
2020-04-05 12:49:19 +10:00
Peter Barker 09152cd254 AP_Logger: correct time field name on DMS 2020-04-05 12:49:19 +10:00
Peter Barker 50c60aa8f2 AP_Logger: add documentation for ACC1,ACC2,ACC3,DMS,GPA,GPA2,GPS2,GYR1,GYR2,GYR3,MAVC,PM 2020-04-05 10:12:03 +10:00
Peter Barker a92206d090 AP_Logger: log dataflash-over-mavlink timestamp in micros rather than millis
... like the vast majority of our dataflash messages
2020-04-05 10:10:49 +10:00
Andrew Tridgell 376116c99b HAL_ChibiOS: fixed skyviper-journey build 2020-04-04 10:47:15 +11:00
Peter Barker e41ea5a273 AP_Logger: add docco for BAR2,BAR3,MSG,RAD,RALY,RFND,RPM,RSSI 2020-04-04 10:05:15 +11:00
Mark Whitehorn 442fa60651 APM_Control: validate parameter ARSPD_FBW_MIN 2020-04-02 19:43:06 -07:00
Randy Mackay 9c8a5a7392 AP_Math: add comments above some quaternion methods
thanks to jchallinger
2020-04-03 10:16:07 +09:00
Peter Barker b2ad4dabb8 AP_Hott_Telem: correct GPS fix character
https://discuss.ardupilot.org/t/bug-in-ap-hott-telem-cpp-copter-4-0-4dev/53939/2

Thanks to @fs007
2020-04-01 19:24:58 +11:00
Peter Barker 93fb5354da AP_Beacon: pozyx: remove dead and pointless code 2020-04-01 15:42:47 +09:00
Siddharth Purohit a3a3abbf23 SRV_Channels: fix unannotated fall-through between switch labels 2020-04-01 17:10:36 +11:00
Siddharth Purohit b0cbbb4bea GCS_Common: fix unannotated fall-through between switch labels 2020-04-01 17:10:36 +11:00
Siddharth Purohit afc0cf8f3b AP_ToshibaCAN: fix unused variable error 2020-04-01 17:10:36 +11:00
Siddharth Purohit 575ac9224e AP_Arming: fix error unannotated fall-through between switch labels 2020-04-01 17:10:36 +11:00
Andrew Tridgell 8e3aba5dc5 AP_RAMTRON: fixed build with gcc 9.x 2020-04-01 17:08:48 +11:00
Andrew Tridgell 077ab22767 AP_GPS: fixed AP_Periph build with gcc 9.x 2020-04-01 17:08:48 +11:00
Andrew Tridgell 4456732911 AP_GPS: fixed rotation of moving baseline GPS
we were off by 180 degrees. Thanks to Jaime for noticing this!
2020-04-01 17:08:19 +11:00
Phillip Kocmoud 46582944e2 AP_RAMTRON: Add FM25V02A Extended Temperature
As shown in https://www.cypress.com/file/139671/download Page 11
2020-04-01 12:46:05 +11:00
Peter Barker 1770199c41 AP_Logger: add documentation for MAV and PARM 2020-04-01 10:13:03 +11:00
Peter Barker 6f685b8ac5 AP_HAL_SITL: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
Peter Barker ec460b4244 AP_Vehicle: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
Peter Barker 73e43d8da5 AP_HAL: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
Peter Barker 9ba2aecbb8 AP_HAL_ChibiOS: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
yaapu fed8ecc3b0 AP_Frsky_Telem: fix for protocol=4 GAlt=0 and GSPd=0
This fixes protocol 4 GPS altitude and speed error, both were reported as constant 0
for cal_gps_position() was never called
2020-03-31 13:09:35 +11:00
Peter Barker a3e2e156e7 AP_HAL_Linux: do not create ConsoleDevices for Replay or examples
Uusally problems evidence themsleves with stdin not working correctly -
for example, "git add -p" skipping through all queries as if the
user was just pressing enter.
2020-03-31 11:22:21 +11:00
Andrew Tridgell 21e93dae34 GCS_MAVLink: send only old value for readonly param set
this prevents a condition where the GCS can display the wrong value if
the 2nd PARAM_VALUE is lost

Note that groundstations can tell the set failed due to readonly in
the following ways:

 1) look for the statustext: Param write denied (PARAMNAME)

 2) see that the value came back with the old value, with index of
   65535

 3) can repeat the send, looking for (1) and (2)

Michael has proposed we add a PARAM_VALUE mavlink2 flags
extension. That would be nice, but we should still make this change to
fix the issue with mavlink 1.0
2020-03-31 11:19:58 +11:00
Peter Barker 55d37e5d0e GCS_MAVLink: correct slowing down of waypoint re-requests
These re-requests shouldn't be slowed down by a factor of 20.

This was a left-over from when we did these in terms of 20ms intervals
(50Hz loop rate)
2020-03-31 11:15:04 +11:00
Peter Barker ca7fcc093c GCS_MAVLink: correct return type on get_stream_slowdown_ms
Only used in one place.  On slow links may have caused us to re-request
a waypoint too often.  "Too often" is still >1s intervals.
2020-03-31 11:15:04 +11:00
Peter Barker 0b756547be GCS_MAVLink: add stream_slowdown to MAV message 2020-03-31 11:13:11 +11:00
Peter Barker be6ed0be9f AP_Logger: add stream_slowdown to MAV message 2020-03-31 11:13:11 +11:00
Peter Barker 46a014b399 AP_Notify: remove recursive call to play in next_action
Infinite recursion is bad.

See https://github.com/ArduPilot/ardupilot/issues/13868
2020-03-31 11:06:30 +11:00
Peter Barker 7028f1adba GCS_MAVLink: GCS_FTP: remove redundant more_pending variable
This is taken care of by the "break" statements
2020-03-31 10:38:13 +11:00
Peter Barker a09ac895e9 GCS_MAVLink: remove dead assignment
This value is never used
2020-03-31 10:38:13 +11:00
Peter Barker 2b08af69bc AP_GPS: fix dereference-of-nullptr warning from scan-build
This is kind-of a false positive as this in practise could never be
nullptr.
2020-03-31 10:37:16 +11:00
Michael du Breuil 18baf18041 GCS_MAVLink: Remove redundant assignment to the command
This is done internally by the conversion to mission_item_int_t
2020-03-31 10:35:49 +11:00
Peter Barker 609b66a053 AP_NavEKF3: rename struct log_NKF2a to log_XKF2 2020-03-31 10:25:59 +11:00
Peter Barker 8a28fa2244 AP_Logger: rename struct log_NKF2a to log_XKF2 2020-03-31 10:25:59 +11:00
Gone4Dirt c97cc71382 AP_Camera: Correct trigger behaviour when cmd is switched off then on again 2020-03-31 10:05:40 +11:00
Gone4Dirt d813ee27de AP_Mission: Added immediate trigger for DO_SET_CAM_TRIGG_DIST 2020-03-31 10:05:40 +11:00
Randy Mackay cca361a942 AP_VisualOdom: minor format and comment fixes 2020-03-30 20:31:38 +09:00
Randy Mackay ecf5abc1f2 GCS_MAVLink: minor format fix 2020-03-30 20:20:08 +09:00
Randy Mackay 7a48a3f354 AP_Math: minor comment fix 2020-03-30 20:20:02 +09:00
Henry Wurzburg a637073dad AP_HAL_Chibios: add tenth PWM output to MatekF405-Wing 2020-03-30 11:23:14 +11:00
Peter Barker aeb45bf146 AP_Logger: fix extremely unlikely nullptr dereference in SITL sanity checks 2020-03-29 08:07:29 +11:00
Michael du Breuil 75b133926f AP_Scripting: Cleanups to remove false posive warnings 2020-03-28 21:16:09 +11:00
Michael du Breuil d50e9865bd AP_Scripting: Delete the lua object if we failed to allocate the required memory 2020-03-28 21:16:09 +11:00
Michael du Breuil 6753e99604 AP_Scripting: Add a return around luaL_error
This is the normal method of calling luaL_error which longjmp's away,
and it helps the static analysis tools realize that anything afterwards
will not be reached
2020-03-28 21:16:09 +11:00
Andrew Tridgell e7fdf8fad1 GCS_MAVLink: reduced delay between ftp packets 2020-03-28 15:28:03 +11:00
Andrew Tridgell 5c9ae33151 GCS_MAVLink: support variable sized packets in burst read
this allows packet size to be tailored to the transport
2020-03-28 15:28:03 +11:00
Andrew Tridgell 8a84dbc19e GCS_MAVLink: slow down telemetry during ftp 2020-03-28 15:28:03 +11:00
Andrew Tridgell 5047eb88e2 AP_Scripting: use @ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell 10c709a5a1 AP_Filesystem: use @ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell a8f7212d79 AP_Filesystem: fixed open for write in ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell e0957c2bcc HAL_ChibiOS: include hwdef.dat in ROMFS
this allows download via ftp
2020-03-28 15:28:03 +11:00
Andrew Tridgell c1d4a5bd35 GCS_MAVLINK: prevent closedir() with nullptr 2020-03-28 15:28:03 +11:00
Andrew Tridgell 8d1bf46dab AP_Param: use smaller param area for all 1M flash boards 2020-03-28 15:28:03 +11:00
Andrew Tridgell ebec738b88 AP_Scripting: enable lua scripts in ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell ea57b7b3cd HAL_ChibiOS: embed ROMFS files from hwdef directory
this allows for a scripts/ directory under hwdef board directory to
embed lua scripts
2020-03-28 15:28:03 +11:00
Andrew Tridgell 28082774b6 GCS_MAVLink: use new DirHandle for directory listings 2020-03-28 15:28:03 +11:00
Andrew Tridgell a91c587ef3 AP_Scripting: use new DirHandle for directory listings 2020-03-28 15:28:03 +11:00
Andrew Tridgell b5cc1f236a AP_Logger: use new DirHandle for directory listings 2020-03-28 15:28:03 +11:00
Andrew Tridgell 6583f7c13e AP_Filesystem: added VFS system for multiple backends 2020-03-28 15:28:03 +11:00
Andrew Tridgell 98542d0c0b AP_ROMFS: added directory listing interface 2020-03-28 15:28:03 +11:00
Andrew Tridgell 6360c67858 AP_OSD: avoid build when OSD disabled 2020-03-28 15:28:03 +11:00
Andrew Tridgell 822460ce7d HAL_ChibiOS: fixed strdup() on ChibiOS 2020-03-28 15:28:03 +11:00
Peter Barker 051a7dc298 AP_NavEKF: add onboard LogMessage documentation 2020-03-27 08:05:53 +11:00
Peter Barker 7f0e722a33 AP_Logger: add onboard LogMessage documentation 2020-03-27 08:05:53 +11:00
Andrew Tridgell 6d42e9502b AP_Compass: fixed unreg compass check for AP_Periph
this fixes detection of compasses on peripherals where
COMPASS_MAX_UNREG_DEV is 0
2020-03-26 18:10:13 +11:00
Daniel Magree b3ff81648b Nav_EKF3: varInnovBodyVel assigned the innovation covariance, rather than inverse 2020-03-25 21:52:49 +11:00
Andrew Tridgell 0f6f684bab AP_Airspeed: expose get_corrected_pressure()
needed for AP_Periph
2020-03-25 20:37:00 +11:00
Henry Wurzburg c34c857123 AP_Logger: update logger meta-data, add to gitignore 2020-03-25 14:20:53 +11:00
Peter Hall 53caf516f9 SRV_Channel: add missing ProfiLED description values 2020-03-24 13:37:20 +09:00
Andrew Tridgell f299a4af33 RC_Channel: added RC_OPTION bit for protocol logging 2020-03-24 09:10:36 +09:00
Andrew Tridgell 087da57858 AP_RCProtocol: added logging of RC prototol input bytes 2020-03-24 09:10:36 +09:00
bugobliterator edaf9fa086 AP_Scripting: remove unused user of realloc from lua 2020-03-24 10:32:14 +11:00
bugobliterator 8215537f99 HAL_ChibiOS: deprecate realloc for ChibiOS build, so as to return error when used 2020-03-24 10:32:14 +11:00
bugobliterator afea703aaf AP_HAL: ensure libc realloc is available for all platforms except ChibiOS 2020-03-24 10:32:14 +11:00
bugobliterator 89d03f0243 AP_HAL_ChibiOS: implement standard realloc method 2020-03-24 10:32:14 +11:00
bugobliterator c615bd9874 AP_HAL: implement standard realloc method 2020-03-24 10:32:14 +11:00
bugobliterator 88de9572aa AP_Common: use standard realloc method from HAL 2020-03-24 10:32:14 +11:00
Rishabh 59af2fcbbb AP_WindVane: Fix duplicate values in Param 2020-03-24 10:26:04 +11:00
Rishabh 44d35942b6 AP_RSSI: Fix duplicate values in ANA_PIN 2020-03-24 10:26:04 +11:00
Rishabh 9e8894139c AP_BattMonitor: Fix duplicate values in VOLT_PIN param 2020-03-24 10:26:04 +11:00
Peter Barker f4f2caeef2 AP_Tuning: avoid name collision with Copter's PTUN message 2020-03-22 18:35:14 +11:00
Peter Barker 2b5f15fe78 AP_TECS: add missing field documentation in TECS and TEC2 2020-03-22 18:35:14 +11:00
Peter Barker 35ad582440 AP_Logger: correct various onboard log message documentation 2020-03-22 18:35:14 +11:00
Peter Barker cf0875bb00 AC_AutoTune: add missing axis field to ATUN message 2020-03-22 18:35:14 +11:00
Peter Barker af62d7d7b6 AP_GyroFFT: inline used-only-once Log_Write parameters
This simplifies the code a little (no need to make these constants you
need to go and look up), and also makes external parsing easier.
2020-03-22 18:35:14 +11:00
Henry Wurzburg 8155f5dcbf AP_TECS: fix typos in logger message meta-data 2020-03-22 10:04:53 +11:00
Henry Wurzburg 7bb5d92dcc AP_Logger: fix typos in logger message meta-data 2020-03-22 10:04:53 +11:00
Peter Barker 1065317332 AC_AutoTune: add documentation for ATUN log message 2020-03-21 09:34:43 +11:00
Peter Barker fa50b5f76d AP_Logger: add more metadata for logged messages
LogStructure: add MAG log information

LogStructure: add MODE log information

LogStructure: add PID log information

AP_Logger: add ATT information

AP_Logger: add documentation for BAT log message

LogStructure: add RCIN and RCOU messages

AP_Logger: add VIBE message information
2020-03-21 09:34:43 +11:00
Peter Barker de36b6a16a AP_Logger: add LoggerMessage metadata for GPS message 2020-03-20 13:05:46 +11:00
Peter Barker 55ee3362b9 AP_Logger: add example of documentation for a log structure 2020-03-20 13:05:46 +11:00
Peter Barker 6c56f24e30 AP_TECS: add documentation for TECS and TEC2 2020-03-20 13:05:46 +11:00
Andrew Tridgell fc0b2ef920 HAL_ChibiOS: added half-duplex protection for non-inverted
to prevent output bytes being seen as input bytes we disable half
duplex during transmit. This was previously only done for non-inverted
UARTs. This patch enables it whether we are inverted or not. This
greatly reduces the number of bad input bytes.
2020-03-20 12:37:52 +11:00
Andrew Tridgell 6b35497129 AP_RCProtocol: moved fport variables into class
reduced pollution of global namespace
2020-03-20 12:37:52 +11:00
Andrew Tridgell a1069d85cb AP_RCProtocol: fixed bug in FPort parser
if we got invalid frame->type values we would overrun the buffer and
cause memory corruption. This was the cause of the bug Polarijet found
2020-03-20 12:37:52 +11:00
Peter Hall 3f7ab6289d AP_Scripting: move scripting_test.lua from examples to tests 2020-03-19 15:28:39 -07:00
Peter Hall 524d59ad78 AP_Scripting: add math and strings test scripts 2020-03-19 15:28:39 -07:00
Randy Mackay 05b563cf54 AP_Scripting: fixup comment in set-target-location example script 2020-03-19 15:17:11 -07:00
Randy Mackay 0846746932 AP_Scripting: add copter-fly-vertical-circle example script 2020-03-19 15:17:11 -07:00
Randy Mackay fa0fb9ef34 AP_Scripting: add set-target-velocity example script 2020-03-19 15:17:11 -07:00
Randy Mackay d7fb84c765 AP_Scripting: make bindings 2020-03-19 15:17:11 -07:00
Randy Mackay 60b3c6ca94 AP_Scripting: add bindings for start_takeoff and set_target_velocity_NED 2020-03-19 15:17:11 -07:00
Randy Mackay 849adcd678 AP_Vehicle: add start_takeoff and set_target_velocity_NED for use in scripting 2020-03-19 15:17:11 -07:00
Peter Hall d37efe1b38 AP_Scripting: regenerate bindings 2020-03-19 14:59:34 -07:00
Peter Hall 67bfedd845 AP_Scripting: add button example script 2020-03-19 14:59:34 -07:00
Peter Hall f5052b68a8 AP_Scripting: add binding for AP_Button get_button_state 2020-03-19 14:59:34 -07:00
Peter Hall ecd7e12dd3 AP_Button: add crude debouncing and get_button_state function 2020-03-19 14:59:34 -07:00
Peter Barker a59c3670c8 AP_HAL_ChibiOS: stash lr_thd in watchdog hardfault handler 2020-03-19 16:03:58 +11:00
Peter Barker 97b07d9c84 GCS_MAVLink: add option to get the autopilot to hard-fault itself 2020-03-19 16:03:58 +11:00
Andrew Tridgell f00314a5d1 AP_GPS: removed dead blending code 2020-03-17 12:13:54 +11:00
Andrew Tridgell 9fa034d1de AP_GPS: fixed antenna offset for blending
we were accessing beyond the end of the antenna_offset array
2020-03-17 12:13:54 +11:00
Peter Barker 0665c379de AP_Compass: correct use of incorrect backend-count macro 2020-03-17 11:25:16 +11:00
Patrick José Pereira 1635054c4f AP_Math: Add missing constexpr
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-03-17 10:23:47 +11:00
Peter Barker c9f2b9ff87 AR_AttitudeControl: correct spelling error in param docs 2020-03-16 17:44:35 +11:00
Patrick José Pereira e65cc35fb0 AP_HAL_Linux: Use template to generate raspberry pins
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-03-15 22:35:50 -07:00
Andrew Tridgell 5a4b648cf5 HAL_ChibiOS: disable flash fallback for boards with FRAM
this saves on flash and prevents confusing results when fram fails
2020-03-14 13:47:25 +11:00
Nick Exton 741abaf760 AP_Param: Add static assert on NVM struct sizes 2020-03-14 13:47:25 +11:00
Nick Exton 4cd39a4619 HAL_ChibiOS: improved selection of storage backend 2020-03-14 13:47:25 +11:00
Nick Exton f9ec9c037a AP_RAMTRON: improved driver robustness
- added retries on all operations
- detect errors with a CRC
- fixed detection of fujitsu devices
2020-03-14 13:47:25 +11:00
Andy Piper 104dd7cd75 AP_HAL_ChibiOS: remove board subtype for OmnibusNanoV6 2020-03-14 10:20:46 +11:00
Andrew Tridgell add7615ed9 AP_HAL: removed unnecessary subtypes 2020-03-14 08:35:32 +11:00
Andrew Tridgell 986ad0dc27 HAL_ChibiOS: removed unnecessary subtype defines 2020-03-14 08:35:32 +11:00
Andrew Tridgell c3f2117590 HAL_ChibiOS: fixed R9Pilot board ID 2020-03-14 07:05:22 +11:00
Peter Barker 4c19eb4bab AP_NavEKF3: use compass reference rather than repeatedly asking AHRS for it 2020-03-13 08:26:18 +11:00
Peter Barker 903d81c263 AP_NavEKF2: use compass reference rather than repeatedly asking AHRS for it 2020-03-13 08:26:18 +11:00
Peter Barker 8679e95fca AP_Logger: add comments about message_writer being leaked
These are really "shouldn't happen", and only happen at startup, so
impact of the memory leak is quite limited.

Fixing this requires putting in a virtual destructor on the
MessageWriter class - this and the calls add up to several hundred bytes
of flash.
2020-03-12 15:10:42 +11:00
Andrew Tridgell 87b97f8bee AP_Scripting: added a VTOL failsafe example script
if fwd motor is lost try to make best effort to get home
2020-03-12 08:36:40 +11:00
Andrew Tridgell e815b97c66 AP_Scripting: regenerate bindings 2020-03-12 08:36:40 +11:00
Andrew Tridgell 564740f06b AP_Scripting: added get_vibration and get_target_location bindings 2020-03-12 08:36:40 +11:00
Andrew Tridgell 393a8785f3 AP_AHRS: implement get_vibration method on AHRS 2020-03-12 08:36:40 +11:00
Andrew Tridgell d192544107 AP_Vehicle: added get_target_location() method
for scripting
2020-03-12 08:36:40 +11:00
Andrew Tridgell be7e142888 AP_Scripting: regenerate bindings for RPM 2020-03-12 08:36:40 +11:00
Andrew Tridgell 609b535dda AP_Scripting: added RPM interface 2020-03-12 08:36:40 +11:00
Andrew Tridgell 39fc324854 GCS_MAVLink: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell 4f54d9b75f AP_WindVane: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell ed37ebede8 AP_Logger: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell a93aa27cc1 AP_ICEngine: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell 0f83da7e16 AP_Hott_Telem: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell 429c21b887 AC_Autorotation: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Andrew Tridgell 22ce90af34 AP_RPM: changed get_rpm() API to be scripting compatible
return a bool and use a reference for the value
2020-03-12 08:36:40 +11:00
Peter Barker 934d05f4ff AP_Compass: correct incorrect and misleading comment 2020-03-11 22:24:36 +11:00
Peter Barker 621d029207 AP_Vehicle: add warning about get_scheduler_task implementations
We don't initialise these values we pass in.  Considering how few times
we need to get this right, requiring it of the implementation would seem
to make sense and save a few bytes.
2020-03-11 22:23:56 +11:00
Andrew Tridgell aaf828c9d4 GCS_MAVLink: consider NO_CHANGE as success for bootloader flash
this prevents GCS users from seeing "update failed"
2020-03-11 16:30:06 +11:00
Andrew Tridgell d8b33bcac9 AP_InertialSensor: suppress expected errors from invensense IMUs 2020-03-11 16:30:06 +11:00
Andrew Tridgell 1540cf958b HAL_ChibiOS: improve error messages for flashing bootloader
send progress as statustext messages
2020-03-11 16:30:06 +11:00
Andrew Tridgell cf7c2b1475 HAL_ChibiOS: suppress SPI timeout error for expected delay 2020-03-11 16:30:06 +11:00
Andrew Tridgell 65cd223023 HAL_ChibiOS: implement in_expected_delay() 2020-03-11 16:30:06 +11:00