Commit Graph

41483 Commits

Author SHA1 Message Date
Rishabh
0b01bb531d Plane: Remove unutilized case 2020-02-25 11:02:43 +11:00
Rishabh
30fd915312 Plane: Update CRASH_DETECT param 2020-02-25 11:02:43 +11:00
Peter Barker
e2c9f6a8a1 GCS_MAVLink: add flags to MAV dataflash log
holds various pieces of simple information about a link
2020-02-25 10:59:22 +11:00
Peter Barker
10c9bc3659 AP_Logger: add flags to MAV dataflash log
holds various pieces of simple information about a link
2020-02-25 10:59:22 +11:00
Gone4Dirt
e02a9890b3 Plane: force mission resume on RTL when DO_LAND_START in mission 2020-02-25 10:05:12 +11:00
Gone4Dirt
d813a70c8d AP_Mission: Added force resume for when MIS_RESTART=1 2020-02-25 10:05:12 +11:00
Andy Piper
3b25a8ae2e AP_GyroFFT: adjust default FFT lengths for boards that can cope and are likely to have BMI088 2020-02-25 08:35:09 +11:00
Andy Piper
ee18db36fa autotest: be more lenient on frequency with harmonic matching test 2020-02-25 08:35:09 +11:00
Andy Piper
509341957f AP_HAL: check for div0 in quinn's estimator 2020-02-25 08:35:09 +11:00
Andy Piper
507bd9eea9 AP_InertialSensor: add in user-specified background noise when there is no rpm noise 2020-02-25 08:35:09 +11:00
Peter Barker
b3bfc0bd32 autotest: add instant-disarm radio failsafe test 2020-02-24 12:25:42 +11:00
Andrew Tridgell
2b24e922a7 Plane: updated release notes for 4.0.5beta1 2020-02-23 08:20:50 +11:00
Andrew Tridgell
de791682e9 waf: fixed build on cygwin
this fixes a link error on cygwin with the new DSP libs
2020-02-22 22:41:24 +11:00
Peter Barker
194998d631 travis: restore fly.ArduCopter as running all tests 2020-02-22 16:51:39 +11:00
Peter Barker
82f53abee2 autotest: restore fly.ArduCopter as running all tests
the test list for ArduCopter is made up of those from tests1 and tests2
2020-02-22 16:51:39 +11:00
Arash Negahdar
9fb2914209 Tools: Only calculate root_dir and autotest_dir once in sim_vehicle.py 2020-02-22 13:12:42 +11:00
Andrew Tridgell
1a0079878a Tools: rebuild AP_Periph bootloaders 2020-02-22 12:28:16 +11:00
Andrew Tridgell
84ac1ac41d AP_Periph: don't probe rangefinder continuously 2020-02-22 12:28:16 +11:00
Andrew Tridgell
41b74ec014 HAL_ChibiOS: use DNA by default for all AP_Periph builds
this makes multiple sensors of the same type on the bus easier
2020-02-22 12:28:16 +11:00
Andrew Tridgell
6139860a64 HAL_ChibiOS: use default USB IDs for fmuv3 2020-02-22 12:17:05 +11:00
Peter Barker
4d0c61970d ArduSub: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
74dbcac40e ArduPlane: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
ce5f23810b ArduCopter: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
98c999d0de APMrover2: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
347f64264d RC_Channel: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
f8f4ed7ee0 GCS_MAVLink: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
1e82ae4676 AP_Scripting: log disarm method 2020-02-22 12:16:29 +11:00
Peter Barker
7b9cdd6d06 AP_Arming: log disarm method 2020-02-22 12:16:29 +11:00
Andy Piper
05a0fe615b Tools: split Copter tests into two runs to balance time on travis 2020-02-22 11:15:37 +11:00
Andy Piper
41b41c05f3 AP_InertialSensor: scale SITL motor noise by SIM_VIB_MOT_MULT 2020-02-22 11:15:37 +11:00
Andy Piper
2033cf3b4a SITL: add SIM_VIB_MOT_MULT to allow motor noise to have a different amplitude to the fixed frequency noise 2020-02-22 11:15:37 +11:00
Andy Piper
c0c61660b0 SITL: quadplane updates 2020-02-22 11:15:37 +11:00
Andy Piper
dcdd1707f7 AP_HAL_SITL: make throttle comply with quadplane dynamics 2020-02-22 11:15:37 +11:00
Andy Piper
ba67ad39a0 Tools: quadplane test 2020-02-22 11:15:37 +11:00
Andy Piper
3832bc455d Plane: dynamic notch setting via FFT 2020-02-22 11:15:37 +11:00
Andy Piper
0e9b2a26c5 AP_InertialSensor: SITL the raw sample rate is not the same as the sensor rate
use regulated time for frequency noise to avoid spurious harmonics
SITL sensors must be true separate instances
don't compile in FFT structures if DSP disabled
2020-02-22 11:15:37 +11:00
Andy Piper
83b1c3a0bd ArduSub: add gyro fft logging 2020-02-22 11:15:37 +11:00
Andy Piper
04792b23a9 ArduPlane: add gyro fft logging 2020-02-22 11:15:37 +11:00
Andy Piper
a16bb2f188 AP_Scheduler: allow registration of tasks at loop rate 2020-02-22 11:15:37 +11:00
Andy Piper
7663c67eec AP_Arming: gyrofft arming checks 2020-02-22 11:15:37 +11:00
Andy Piper
6613d4da3d AP_Vehicle: add FFT configuration and initialization
add arming checks to validate FFT performance
allow gyros to be sampled at either the fastloop rate or gyro rate.
add gyro and parameter update loops for GyroFFT
add GYRO_FFT aux function
save FFT results on disarm
2020-02-22 11:15:37 +11:00
Andy Piper
4c1816a983 Copter: port betaflight in-flight fft analysis to arducopter and expose as a log message
add harmonic notch tracking mode
call AP_GyroFFT::update_freq_hover() from update_throttle_hover()
move gyrofft configuration and control to AP_Vehicle
move fft logging to fft library
2020-02-22 11:15:37 +11:00
Andy Piper
6f5b991f28 Filter: add harmonic notch dynamic tracking mode
move definition of HNF_MAX_HARMONICS
2020-02-22 11:15:37 +11:00
Andy Piper
127a0e9b41 AP_HAL_Linux: add in empty dsp driver 2020-02-22 11:15:37 +11:00
Andy Piper
7d36bc4422 AP_GyroFFT: new FFT library for motor peak analysis using HAL DSP abstraction
add dynamic gyro windows
control inclusion based on HAL_WITH_DSP and GYROFFT_ENABLED
target appropriate ARM cpus
constrain window sizes to be achievable
improve FFT signal accuracy through configurable window overlap and quinn's estimator
calculate energy weighted center frequency
add support for learning hover frequency and throttle reference
calculate power spectrum rather than amplitude
record noise as a per-bin power spectrum
calculate true SNR per-bin and use that to determine there is a signal
add user config for SNR signal level
constrain frequency scanning to MAXHZ
calculate and learn the peak bandwidth at the configured attenuation
allow enabling/disabling dynamically through rc function
MAXHZ should be below Nyquist
Incorporate full range of MAXHZ to MINHZ
update FFT analysis in a separate thread
allocate memory in a specific region
constrain window size by CPU class
do not allocate any resources when not enabled
Prevent self-check and analysis interfering with each other
put configuration and initialization to AP_Vehicle
add logging
fix significant issues with threading, locking and sample buffer access
use both calculated noise peaks together with the harmonic notch configuration to detemine which peak represents the fundamental harmonic that should be tracked
record harmonic fit
add CMSIS 5 libraries and headers
allow larger FFT lengths on Linux and SITL
2020-02-22 11:15:37 +11:00
Andy Piper
7571b4d95c AP_HAL_SITL: SITL version of DSP implementation 2020-02-22 11:15:37 +11:00
Andy Piper
495a89459f AP_HAL_Empty: empty implementation of HAL FFT 2020-02-22 11:15:37 +11:00
Andy Piper
3d0cf7e12a AP_HAL_ChibiOS: hardware M4-Cortex and M7-Cortex (and H7) implementation of HAL FFT abstraction
implements an FFT engine based on the betaflight feature using ARM hardware accelerated CMSIS library
make the FFT feature optional
add dynamic gyro windows
add quinns and candans estimators and record in DSP state
disable DSP for boards with limited flash
calculate power spectrum rather than amplitude
start/analyse version of analysis to support threading
allocate memory in a specific region
constrain window size by CPU class
control inclusion of DSP based on board size
2020-02-22 11:15:37 +11:00
Andy Piper
f4a99a1589 AP_HAL: hardware abstraction for FFT.
control inclusion of FFT based on HAL_WITH_DSP and HAL_GYROFFT_ENABLED. target appropriate ARM cpus
define hanning window and quinn's estimator
start/analyse version of FFT to support threading
allocate memory in a specific region
calculate frequency and noise bandwidth of two noisiest peaks
control inclusion of DSP based on board size
2020-02-22 11:15:37 +11:00
Andy Piper
3d9776dd6d AP_InertialSensor: expose statically filtered gyro values for FFT analysis and allow sampling to gyro window for FFT analysis.
FFT windows can be dynamically allocated
add harmonic notch dynamic tracking mode
unwind gyro window allocation in the case of failure
allow access to harmonic notch harmonics
2020-02-22 11:15:37 +11:00