Commit Graph

21181 Commits

Author SHA1 Message Date
Randy Mackay 586b1f3c8c GCS_MAVLink: allow proximity to send only upward facing distances
this removes the requirement that a horizontal proximity sensor be enabled
2020-02-05 10:09:54 +11:00
Henry Wurzburg 0f0ceb6499 AP_OSD: formatting fixes 2020-02-05 10:09:54 +11:00
bnsgeyer 5898986b0a AP_Motor: tradheli align swash params btwn frames and fix metadata 2020-02-05 10:09:20 +11:00
Peter Barker 5871cdad23 AP_Math: remove unit_mod concept from wrap functions
devcall decided it would be clearer to have non-shared implementation
for the _cd variants
2020-02-05 10:09:20 +11:00
Peter Barker 5e9aaca8df AP_NavEKF2: initialise Kfusion stack variable to fix compilation
This fixes the compilation, as previous patches have done.
2020-02-05 10:09:20 +11:00
Peter Barker ec991969c7 AP_HAL_ChibiOS: correct include of mavlink header for analog debug 2020-02-05 10:09:20 +11:00
liang 9c44ebaced AP_Baro: LPS22H: correct formatting 2020-02-05 10:09:20 +11:00
Andrew Tridgell de12430977 AP_NavEKF2: fixed build with g++ 9.1
this is a false positive, but the cost of clearing this array is low,
and it saves a much more complex fix
2020-02-05 10:09:20 +11:00
murata 6de2311689 AP_Radio: Change direct value to define name 2020-02-05 10:09:20 +11:00
murata a74123148b AP_Compass: Change direct value to define name 2020-02-05 10:09:20 +11:00
Andrew Tridgell 5d67618968 AP_NavEKF2: added comment (review request) 2020-02-05 10:09:20 +11:00
Andrew Tridgell 164813bcc2 AP_NavEKF2: moved some of the intermediate vars to the stack
this keeps stack frames below 1k, while giving faster access to the
variables and saving more memory
2020-02-05 10:09:20 +11:00
Andrew Tridgell 6ffffff8c6 AP_NavEKF3: moved intermediate variables to common memory
this moves intermediate variables from being per-core to being common
between cores. This saves memory on systems with more than one core by
avoiding allocating this memory on every core.

This is an alternative to #11717 which moves memory onto the stack. It
doesn't save as much memory as #11717, but avoids creating large stack
frames
2020-02-05 10:09:00 +11:00
Andrew Tridgell a48d97c307 AP_NavEKF2: moved intermediate variables to common memory
this moves intermediate variables from being per-core to being common
between cores. This saves memory on systems with more than one core by
avoiding allocating this memory on every core.

This is an alternative to #11717 which moves memory onto the stack. It
doesn't save as much memory as #11717, but avoids creating large stack
frames
2020-02-05 10:08:10 +11:00
Peter Barker 5ce16f81ff AP_ADSB: use ObjectBuffer in place of AP_Buffer 2020-02-05 10:05:59 +11:00
Peter Barker ed5848238c AP_Buffer: remove as it is replaced with ObjectBuffer 2020-02-05 10:05:59 +11:00
Willian Galvani 8f6ca7bb8f APMotors6DOF: add roll factor for motors 4 and 5 for SIMPLEROV_4 and SIMPLEROV_5 2020-02-05 10:05:59 +11:00
Willian Galvani f5ba04d098 APMotors6DOF: add case for SIMPLEROV_3 2020-02-05 10:05:59 +11:00
Peter Barker 552cc4be5c AP_HAL_SITL: catch SIGTERM and exit with zero exit status 2020-02-05 10:05:59 +11:00
Andrew Tridgell 7ecbec5b96 HAL_SITL: added MotorBoat 2020-02-05 10:05:59 +11:00
Andrew Tridgell be083aab1a SITL: added a MotorBoat class
a sailboat with zero sail area
2020-02-05 10:05:59 +11:00
Lucas De Marchi 77a06de66f AP_RangeFinder: update minimum fw version of TFMiniPlus
Version 2.0.3 has important fixes to avoid having the sensor to lock up.
Let's make sure we check for it and warn on console.
2020-02-05 10:05:59 +11:00
Peter Hall 5b434e814a APM_Control: AR_AttitudeControl: add description for new PID params 2020-02-05 10:05:59 +11:00
Andrew Tridgell d85a7e4c4b AP_Logger: fixed use of old irqsave() API 2020-02-05 10:04:08 +11:00
Michael du Breuil af0c55b4df AP_HAL_ChibiOS: Only include MAVLink when using the MAVLink debugging 2020-02-05 10:04:08 +11:00
Michael du Breuil bfe4d6ee82 GCS_MAVLink: remove some unused includes 2020-02-05 10:04:08 +11:00
Peter Barker 506126cb44 AC_AutoTune: correct abs to fabsf for roll_cd and pitch_cd 2020-02-05 10:04:08 +11:00
Peter Barker 3e9f470bfb AP_L1_Control: wrap_180_cd no longer solely returns floats 2020-02-05 10:04:08 +11:00
Peter Barker 7c2c809b06 APM_Control: wrap_180_cd no longer solely returns floats 2020-02-05 10:04:08 +11:00
Peter Barker 33ef991282 AP_Math: stop returning float for integer wrap_180/wrap_360 etc 2020-02-05 10:04:08 +11:00
Peter Barker 818402ab99 AP_Math: add more tests for wrap functions 2020-02-05 10:04:08 +11:00
Peter Barker 89cfdb678f AC_WPNav: do not calculate NEU vector from invalid location 2020-02-05 10:04:08 +11:00
Michael du Breuil 14f43f24a9 AP_Common: Include altitude in the init check for a location 2020-02-05 10:04:08 +11:00
Andrew Tridgell 5bac7018b6 AP_GPS: use jitter correction on GPS_INPUT data
this allows for more accurate timing when using GPS_INPUT for indoor
positioning systems
2020-02-05 10:04:08 +11:00
Peter Barker 882d3b0c0d GCS_MAVLink: use singleton to get AP_AdvancedFailsafe pointer 2020-02-05 10:04:08 +11:00
Peter Barker 7a1afc580d AP_AdvancedFailSafe: add singleton getter 2020-02-05 10:04:08 +11:00
Andrew Tridgell f1cb9ed956 AP_FileSystem: chunk IOs to max 4k
this prevents larger IOs from attempting to allocate too much memory
in DMA bouncebuffers
2020-01-18 12:27:51 +11:00
Andrew Tridgell 2d817db7f3 AP_IOMCU: added a health check based on status read errors
if we have more than 1 in 128 read status requests failing then mark
IOMCU unhealthy
2020-01-18 12:27:42 +11:00
Andrew Tridgell 630ccb2ef9 AP_IOMCU: reduce uart buffer sizes 2020-01-18 12:27:39 +11:00
Andrew Tridgell 23005e6f46 HAL_ChibiOS: use 4k bouncebuffer for sdcard
match AP_Logger IO size
2020-01-18 12:27:36 +11:00
Andrew Tridgell c5b1c88948 HAL_ChibiOS: adjust dma reserve allocation
use larger target and allow for smaller allocation
2020-01-18 12:27:33 +11:00
Andrew Tridgell 64dc29cf98 HAL_ChibiOS: don't extend alloc of iomcu uart 2020-01-18 12:27:29 +11:00
Andrew Tridgell 7c0cb85361 HAL_ChibiOS: added checking on bouncebuffer allocation
fail operations if DMA bouncebuffer alloc fails

# Conflicts:
#	libraries/AP_HAL_ChibiOS/I2CDevice.cpp
2020-01-18 12:27:23 +11:00
Andrew Tridgell b60fd97f32 AP_Logger: add a semaphore to protect creation of new log formats 2020-01-18 12:26:29 +11:00
Andrew Tridgell 66b14f4aaf AP_Filesystem: fixed set_mtime semaphore 2020-01-18 12:26:25 +11:00
Michael du Breuil 0fe9763e19 AP_Param: Fix failing to invalidate the cached parameter count
This would cause a GCS to download fewer then the requested number of
parameters
2020-01-15 14:03:36 +11:00
Andrew Tridgell e9f60ede1b AP_SerialManager: ensure users can't break SERIAL0_PROTOCOL
this prevents users from setting SERIAL0_PROTOCOL to something that
prevents them accessing the board. This can happen when users are
trying to setup SLCAN
2020-01-10 19:12:10 +11:00
Andrew Tridgell 7d91460e85 AP_Declination: re-generate mag tables
max interpolate error between -60 and 60 latitude is 13.86 mGauss
2020-01-10 19:12:10 +11:00
Andrew Tridgell 3584f1b779 AP_Declination: update generate script
added ability to display max error
2020-01-10 19:12:10 +11:00
Andrew Tridgell 9261b32430 AP_GPS: fixed build 2020-01-10 19:12:10 +11:00
Andrew Tridgell 0ed02b1d88 AP_Compass: added mag_cal_fixed_yaw()
this is a fast compass calibration that uses a yaw value provided by
the user.
2020-01-10 18:48:52 +11:00
Andrew Tridgell aea2238936 GCS_MAVLink: support MAV_CMD_FIXED_MAG_CAL_YAW 2020-01-10 18:48:49 +11:00
Andrew Tridgell b95a31ccfc AP_RCProtocol: fixed support for 22ms multi-frame DSM 2020-01-10 18:48:42 +11:00
Andrew Tridgell 0dc22331d0 AP_Frsky_Telem: fixed a race condition with statustext handling
this fixes an issue that can cause a hardfault. See this bug report:

https://discuss.ardupilot.org/t/hexa-crash-after-watchdog-reset/50917

ObjectArray is not thread safe
2020-01-10 18:48:17 +11:00
Andrew Tridgell b834796f3b HAL_ChibiOS: fixed clock src for I2C4 on H7 2020-01-08 06:02:46 +11:00
Andrew Tridgell 17118977dc HAL_ChibiOS: automatically set AP_FEATURE_RTSCTS 2020-01-02 07:50:35 +11:00
Andrew Tridgell 5c4802ce25 AP_Compass: limit rotations we try to ROTATION_MAX_AUTO_ROTATION 2020-01-01 09:08:31 +11:00
Andrew Tridgell 686b9322cd AP_Math: define ROTATION_MAX_AUTO_ROTATION
we don't want to use ROTATION_PITCH_7 in our auto rotation mix, as it
is too close to level
2020-01-01 09:08:19 +11:00
Andrew Tridgell 8311a5be63 HAL_ChibiOS: fixed H7 I2C timing
we were running the clock at too low speed. This affected the SSD1306 display

# Conflicts:
#	libraries/AP_HAL_ChibiOS/I2CDevice.cpp
2019-12-30 14:35:57 +11:00
Peter Barker abe1a09c7a AP_HAL: stop emitting extra CR before a LF as part of our printf 2019-12-25 12:00:37 +11:00
Pierre Kancir ecdd07e793 AP_Compass: add register to checked ones and remove single-use goto
Also fix comment on TMRC register setting
2019-12-23 20:20:12 +11:00
Pierre Kancir d9edd3c8b5 AP_Compass: probe for RM3100 2019-12-23 20:20:01 +11:00
Andrew Tridgell 318c0a958d HAL_ChibiOS: removed PB1 and PB0 TIM1 complementary channels for F76x
these do not work, possibly a datasheet bug
2019-12-23 19:42:04 +11:00
Andrew Tridgell 24e48b5e81 HAL_ChibiOS: switch MatekF765 to timer 12
fixes PWM 5 and 6
2019-12-23 19:42:02 +11:00
Andrew Tridgell af04f1eb93 HAL_ChibiOS: ensure bootloader flash is multiple of 32 bytes 2019-12-23 17:36:28 +11:00
Andrew Tridgell 9c2caf5b12 AP_InertialSensor: default fast sampling on
if we have a first IMU capable of fast sampling then we want it
enabled by default
2019-12-23 09:56:26 +11:00
Andrew Tridgell f733e963df HAL_ChibiOS: scale uart rx buffer size with baudrate
this ensures we have enough buffer space for a RTK GPS, as well as for
high speed comms with a companion computer
2019-12-23 09:56:26 +11:00
Peter Barker 48a04d21ce AP_NMEA_Output: NavEKF constructors no longer take rangefinder 2019-12-23 09:56:26 +11:00
Randy Mackay e206134fa6 AP_NMEA_Output: 10hz rate limiting uses uint32_t 2019-12-23 09:56:26 +11:00
Peter Barker 46c384b412 AP_NMEA_Output: correct 10Hz rate limiting
integer promotion issue
2019-12-23 09:56:26 +11:00
Peter Barker 9fd53b0dbc AP_NMEA_Output: add example 2019-12-23 09:56:26 +11:00
Peter Barker e90b6bafca AP_NMEA_Output: skip sending sentences if no space on UART
AP_NMEA_Output: clean scope by removing unneeded temps

AP_NMEA_Output: redo last_sent to last_run

AP_NMA_Output: early-exit if no data
2019-12-23 09:56:26 +11:00
Andrew Tridgell 12e51965c9 HAL_ChibiOS: change CUAVv5Nano volt scale to 18.000 2019-12-23 09:56:26 +11:00
Andrew Tridgell 96bccba638 HAL_ChibiOS: fixed build of SPI clock test 2019-12-12 20:43:40 +11:00
Andrew Tridgell 87f2839f3e GCS_MAVLink: fixed critical error on prefight cal ops 2019-12-12 20:43:35 +11:00
Andrew Tridgell 595a49eec4 GCS_MAVLink: send temperature for IMUs 2019-12-09 13:25:18 +11:00
Andrew Tridgell 04827d229c AP_NavEKF2: don't use WMM tables unless we have a compass scale factor set 2019-12-09 13:18:01 +11:00
Andrew Tridgell c36687a79f SITL: added SIM_MAG_SCALING for testing scale factor errors
# Conflicts:
#	libraries/SITL/SITL.cpp
2019-12-09 13:18:01 +11:00
Andrew Tridgell bc7f811ff0 AP_GPS: cope with UAVCAN GPS that don't provide Aux message
thanks to @VadimZ for the suggestion
2019-12-09 13:18:01 +11:00
Randy Mackay 0cd737856d AP_RangeFinder: remove param conversion for 3rd and 4th
3rd and 4th instances were not available to users unless they used their own builds which is rare
this reduces the firmware's flash size a small amount
2019-12-09 13:18:01 +11:00
Randy Mackay 4cb470e4df AP_RangeFinder: param conversion fix
This resolves an issue with the parameter conversion when moving from Copter-3.6.x to 4.0 (and similar moves for other vehicle types)
2019-12-09 13:18:01 +11:00
Peter Barker 8fac70149d AP_Compass: tidy constructor 2019-12-09 13:18:01 +11:00
Peter Barker 03064f8eea AP_Compass: make compass_cal_status_t enum class Status within CompassCalibrator 2019-12-09 13:18:01 +11:00
Andrew Tridgell 342dd67dc0 AP_Compass: narrow range of allowed scale factor 2019-12-09 13:18:01 +11:00
Andrew Tridgell 536222859d AP_Compass: added COMPASS_OPTIONS
this allows user to set that calibration requires GPS lock
2019-12-09 13:18:01 +11:00
Andrew Tridgell 920007f3c4 AP_Compass: added estimation of compass scale factor
this adds new COMPASS_SCALE, COMPASS_SCALE2 and COMPASS_SCALE3
parameters, which give the sensor scaling factor. It is used to
compensate for an incorrect scaling in a compass.

The 3D compass calibration process will set the correct value
automatically, otherwise users can set the value to a known value for
an existing compass
2019-12-09 13:18:01 +11:00
Randy Mackay ae234635e8 AP_Compass: minor comment fix
Co-Authored-By: Peter Barker <pb-gh@barker.dropbear.id.au>
2019-12-09 13:18:01 +11:00
lukezhqin f59d22aa41 AP_Compass: fix thin_samples to avoid comparing sample to itself 2019-12-09 13:18:01 +11:00
Randy Mackay b87f42bc07 AP_Compass: fix calibrator update when step one fails 2019-12-09 13:18:01 +11:00
Randy Mackay d9fde84ccb AP_Compass: rename CompassCalibrator::clear to stop 2019-12-09 13:18:01 +11:00
Randy Mackay 6c8ee8fa67 AP_Compass: remove unused calc_mean_squared_residuals 2019-12-09 13:18:01 +11:00
Randy Mackay a5e0af6868 AP_Compass: add comments to calibrator 2019-12-09 13:18:01 +11:00
Randy Mackay 243cf3b22d AP_Compass: formatting fixes
this should be a non-functional change
2019-12-09 13:18:01 +11:00
Randy Mackay 69a7a52e5f AP_Compass: constify get_completion_mask and remove use of auto 2019-12-09 13:18:01 +11:00
Randy Mackay cf34abba87 AP_Compass: constify get_orientation 2019-12-09 13:18:01 +11:00
Andrew Tridgell 47fe57bd8d AP_Compass: remove expected error
this happens with AK09916 probing on invensense sensor
2019-12-09 13:18:01 +11:00
Andrew Tridgell 3b244bbc7f AP_Compass: disable HIL for AP_Periph
this saves several k of flash
2019-12-09 13:18:01 +11:00
Randy Mackay 88761e59f0 AP_Compass: LEARN param default to 0 for all vehicles 2019-12-09 13:18:01 +11:00
Andrew Tridgell 1afd603fa8 AP_Compass: don't show too many params when max compasses 1 2019-12-09 13:18:01 +11:00
Andrew Tridgell 2d25adca33 HAL_ChibiOS: fixed build of sparky2
running out of flash
2019-12-09 13:18:01 +11:00