Commit Graph

22325 Commits

Author SHA1 Message Date
Peter Barker
f8058bcf70 AP_HAL_Linux: avoid segfaults during early panics
singletons failing to be singleton can cause the segfaults.  This is
more a tidiness thing - but better not to have cascading failures.
2020-03-10 10:45:09 +11:00
Peter Barker
19249a13fd AP_Scripting: tell the user where their scripts directory is on failure 2020-03-10 08:43:03 +09:00
Peter Hall
e95e996cc4 AP_Scripting: Add led matrix examples 2020-03-10 10:37:26 +11:00
Peter Hall
bf76a8c727 AP_Scripting: update LED_roll example 2020-03-10 10:37:26 +11:00
Peter Hall
3002089396 AP_HAL_SITL: update function names 2020-03-10 10:37:26 +11:00
Peter Hall
e1c2977adc AP_Notify: support ProfiLEDs 2020-03-10 10:37:26 +11:00
Peter Hall
fe5779fd88 AP_HAL_ChibiOS: add support for ProfiLEDs 2020-03-10 10:37:26 +11:00
Peter Hall
6ab13333c2 AP_HAL: support ProfiLEDs 2020-03-10 10:37:26 +11:00
Peter Hall
f1fee1ebc5 AP_SerialLED: support ProfiLEDs 2020-03-10 10:37:26 +11:00
Peter Hall
8dccea4a15 AP_Scripting: regenerate bindings 2020-03-10 10:37:26 +11:00
Peter Hall
426f5e6180 AP_Scripting: support ProfiLEDs 2020-03-10 10:37:26 +11:00
Peter Hall
001f71e3de SRV_Channel: add ProfiLED ouputs 2020-03-10 10:37:26 +11:00
Andrew Tridgell
16f34778fc HAL_ChibiOS: added f103-HWESC target 2020-03-04 16:21:06 +11:00
Andrew Tridgell
bca1bd2c72 HAL_ChibiOS: added f303-HWESC firmware 2020-03-04 16:21:06 +11:00
Randy Mackay
1486421581 AP_Scripting: rename arming-check-batt-temp example script 2020-03-04 11:28:10 +09:00
Randy Mackay
8d12c25555 AP_Vehicle: formatting fixes 2020-03-03 10:06:38 -07:00
Randy Mackay
2526aaeb74 AP_Scripting: set-target-location example script 2020-03-03 10:06:38 -07:00
Randy Mackay
ae8c8b71b2 AP_Scripting: make bindings 2020-03-03 10:06:38 -07:00
Randy Mackay
989241a6bd AP_Scripting: fix limits on Location alt field binding 2020-03-03 10:06:38 -07:00
Randy Mackay
e8699ab9fe AP_Scripting: add Location.alt to bindings 2020-03-03 10:06:38 -07:00
Randy Mackay
1e2fc444b6 AP_Scripting: add set_target_location binding 2020-03-03 10:06:38 -07:00
Randy Mackay
6f5d733ba9 AP_Vehicle: add set_target_location method 2020-03-03 10:06:38 -07:00
Peter Hall
fc0d845b6c AP_Scripting: add NMEA decode example 2020-03-03 09:57:07 -07:00
Peter Barker
12f7337030 AP_Radio: correct for recent semaphore bool/void changes 2020-03-03 21:56:33 +09:00
Peter Barker
a32e54ea17 AP_Arming: correct toymode compilation for recent disarm-reason changes 2020-03-03 21:56:33 +09:00
Rishabh
f3e66055e5 GCS_MAVLink: Alert GCS if user tries calibration while vehicle is armed 2020-03-03 11:37:19 +11:00
Rishabh
cbccdfa8a3 AP_Compass: Alert GCS if user tries to calibrate compass while vehicle is armed 2020-03-03 11:37:19 +11:00
Peter Barker
d1f74faed7 AP_Notify: remove bad HIGH/LOW defines
These are just terrible defines to have in a header which can be
included into random files.  These symbols can confuse construction of
enumerations, for example.
2020-03-03 10:46:06 +11:00
Peter Barker
09562e1f13 AP_HAL_Linux: use constants for high/low rather than defines, like ChibiOS
These are really bad defines to have hanging around for general use.
2020-03-03 10:46:06 +11:00
Peter Barker
1a123e5f8d AP_HAL_ChibiOS: avoid referencing flash sector/page 22 on 1MB boards 2020-03-03 10:13:53 +11:00
Peter Barker
c917cd4dbb AP_HAL_Linux: make a static-const hal references references to external symbol 2020-03-03 10:12:14 +11:00
Peter Barker
2d2fdf8bd0 AP_HAL_ChibiOS: make a static-const hal a reference to the external symbol 2020-03-03 10:12:14 +11:00
Peter Hall
2f036c65f3 AP_Motors: MotorsMulticopter fix floating boost output 2020-03-02 18:22:30 +09:00
Peter Hall
71f1755c97 AP_Scripting: update plane-wind-fs example 2020-02-27 18:33:56 -07:00
Peter Hall
6587653e14 AP_Scripting: regnerate bindings 2020-02-27 18:07:31 -07:00
Peter Hall
129dc16bdb AP_Scripting: add mission scripting example 2020-02-27 18:07:31 -07:00
Peter Hall
46714d69a5 AP_Mission: add get id functions for scripting 2020-02-27 18:07:31 -07:00
Peter Hall
370b6473a2 AP_Scripting: add AP_Mission bindings 2020-02-27 18:07:31 -07:00
Andrew Tridgell
fbbba887e5 AP_Notify: implement SIM_LED_LAYOUT
added support for luminousbee layout
2020-02-27 13:12:26 +11:00
Andrew Tridgell
09b272b840 SITL: added SIM_LED_LAYOUT parameter
for layout of simulated LEDs
2020-02-27 13:12:26 +11:00
Andrew Tridgell
ccc7d48c20 HAL_ChibiOS: reserve plenty of DMA memory for luminousbee4 2020-02-27 13:12:26 +11:00
Andrew Tridgell
e582432a2f AP_Scripting: regen bindings 2020-02-27 13:12:26 +11:00
Andrew Tridgell
2277e22bc7 AP_SerialLED: added define for LED limit 2020-02-27 13:12:26 +11:00
Andrew Tridgell
5ad4ceef71 AP_SerialLED: allow more than 32 LEDs 2020-02-27 13:12:26 +11:00
Andrew Tridgell
fe86d8bb0c AP_Scripting: adjust for updated LED API 2020-02-27 13:12:26 +11:00
Andrew Tridgell
dbba89a024 AP_Notify: allow up to 64 LEDs on a pin 2020-02-27 13:12:26 +11:00
Andrew Tridgell
09d10df3a3 HAL_SITL: allow more than 32 LEDs on a pin 2020-02-27 13:12:26 +11:00
Andrew Tridgell
669b98c6df HAL_ChibiOS: allow more than 32 WS2812 LEDs on a pin 2020-02-27 13:12:26 +11:00
Andrew Tridgell
5d15d867b5 AP_HAL: adjust LED API to allow more than 32 LEDs on a pin 2020-02-27 13:12:26 +11:00
Andrew Tridgell
5bfd607300 HAL_ChibiOS: added luminousbee4 flight controller 2020-02-27 13:12:26 +11:00
Peter Barker
fbe2e75b9f GCS_MAVLink: divide time allowed to send messages fairly 2020-02-27 08:49:59 +11:00
murata
c6f12e519b AP_SerialManager: Add a description 2020-02-26 12:18:40 +11:00
Bill Geyer
bf345b0dd4 AC_AttitudeControlHeli: update filter parameter desc mins 2020-02-26 08:02:27 +09:00
Randy Mackay
aff854f485 AC_AttitudeControl: update param ranges 2020-02-26 08:02:27 +09:00
Randy Mackay
6297306492 AP_LandingGear: add OPTIONS param to auto deploy and retract 2020-02-26 08:01:00 +09:00
Randy Mackay
cc33c8d116 AP_Scripting: make bindings 2020-02-25 19:55:54 +09:00
Randy Mackay
c0bc696b86 AP_Scripting: add arming-check-batt-temp example script 2020-02-25 19:55:54 +09:00
Randy Mackay
ccaa74655c AP_Scripting: support external authorisation for arming 2020-02-25 19:55:54 +09:00
Randy Mackay
05a8e34d5c AP_Arming: support auxiliary authorisation 2020-02-25 19:55:54 +09:00
Randy Mackay
2ee5f9dcc5 AP_Logger: ARM msg logs ArmChecks as uint32_t 2020-02-25 19:55:54 +09:00
Randy Mackay
df8bf27a7f AP_Arming: get_enabled_checks returns uint32_t 2020-02-25 19:55:54 +09:00
Randy Mackay
8ad9a49900 AP_Mount: ignore rc trim when calculating desired mount angles 2020-02-25 17:38:24 +09:00
Randy Mackay
cd38940ecf RC_Channel: formatting fixes 2020-02-25 17:38:24 +09:00
Randy Mackay
77d5165c01 RC_Channel: add norm_input_ignore_trim
same as norm_input but ignores the trim value
2020-02-25 17:38:24 +09:00
Andrew Tridgell
8f83bf5e80 AP_Compass: fixed in-flight learning for all compasses
after recent changes only first compass was learnt

See
https://discuss.ardupilot.org/t/break-in-latest-master-in-flight-compass-calibration/52602
2020-02-25 12:40:27 +11:00
Peter Barker
727c12c388 GCS_MAVLink: move initialisation of serial and gcs to AP_Vehicle 2020-02-25 11:50:55 +11:00
Peter Barker
2ede027635 AP_Vehicle: move initialisation of serial and gcs to AP_Vehicle 2020-02-25 11:50:55 +11:00
Peter Barker
2b7af4d70b AP_Vehicle: fold init_vehicle back into AP_Vehicle init method 2020-02-25 11:47:52 +11:00
Peter Barker
a7c493d037 AP_BoardConfig: fold init_vehicle back into AP_Vehicle init method 2020-02-25 11:47:52 +11:00
Peter Hall
0ca6b7cf77 AP_HAL_ChibiOS: retry neopixel until successful send 2020-02-25 11:15:55 +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
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
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
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
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
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
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
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