Commit Graph

23238 Commits

Author SHA1 Message Date
Andrew Tridgell
6a1f43d5df HAL_ChibiOS: fixed build with our old compiler
gcc 4.9 doesn't like static_assert() in C code
2020-06-07 14:11:48 +10:00
Paul Riseborough
71ae9426c5 SITL: Fix hand launch behaviour
Launch acceleration should be multiplied by vehicle mass when calculating launch force.
10 m/s (1g) is much too low for a hand launch. 25 m/s (2.5g) over a shorter period is more realistic and will trigger the recommended value of TKOFF_THR_MINACC of 15 recommended for hand launches.
2020-06-07 11:53:02 +10:00
Peter Barker
c1de346150 GCS_MAVLink: avoid copying data twice in ftp transfers 2020-06-07 08:51:09 +10:00
duccan
cdcdd5ce27 AP_HAL_ChibiOS: Added support for Bitcraze Crazyflie 2.1
Rework after review:
- Kept old IMU and barometer definition of crazyflie 2.0 in hwdef
- Added comment regarding soft-reset command
- Added defaults.parm for crazyflie
2020-06-07 07:49:37 +10:00
duccan
0d96c7f7a5 AP_HAL_ChibiOS: Added support for Bitcraze Crazyflie 2.1 2020-06-07 07:49:37 +10:00
Randy Mackay
9f26bd0a67 AP_BattMonitor: TYPE param swap for SMBus-Maxell and SMBus-Generic
Generic becomes type "7" which was previously Maxell.  Maxell becomes type 16
2020-06-05 16:57:39 -07:00
Randy Mackay
ff0460342b AP_Proximity: minor comment fix 2020-06-05 16:57:39 -07:00
Randy Mackay
2396a8176c AP_BattMonitor: comment fix 2020-06-05 16:57:39 -07:00
Randy Mackay
268c67d12d AP_BattMonitor: correct Maxell capacity 2020-06-05 16:57:39 -07:00
Randy Mackay
3de2dff6e3 AP_BattMonitor: simplify SMBus driver includes 2020-06-05 16:57:39 -07:00
Randy Mackay
4ea565e4ed AP_BattMonitor: Maxell driver inherits from SMBus_Generic 2020-06-05 16:57:39 -07:00
Randy Mackay
f869cd9aa6 AP_BattMonitor: complete rename of SMBus_Maxell to Generic 2020-06-05 16:57:39 -07:00
Randy Mackay
c13c037f7b AP_BattMonitor: rename SMBus_Maxell to Generic 2020-06-05 16:57:39 -07:00
Andrew Tridgell
2e7dc380c4 SITL: revert default physics step to 1200
this should help us pass CI
2020-06-06 08:17:25 +10:00
Andrew Tridgell
5349113104 SITL: improved the speedup code
more accurate sleeps using sleep debt system
2020-06-06 08:17:25 +10:00
Andrew Tridgell
750b220a5f SITL: simulations optimisations
- change to 600Hz physics rate by default
 - don't export rotational acceleration (not needed)
 - report speedup in terminal output at 0.5Hz (wall clock rate)
2020-06-06 08:17:25 +10:00
Andrew Tridgell
7c2d13c571 SITL: added simulation of pressure altitude for multicopter
this gives us a ceiling of 5.4km above sea level for the default
copter
2020-06-05 11:35:53 +10:00
Siddharth Purohit
c0eb27cc35 AP_Compass: pull compass calibrator out into a separate thread 2020-06-05 09:38:40 +10:00
bugobliterator
c914a91be9 AP_Compass: add support for per mag calibration 2020-06-05 09:38:40 +10:00
bugobliterator
95493e4569 SITL: add support for per mag calibration 2020-06-05 09:38:40 +10:00
Peter Barker
86687d240d AP_NavEKF3: avoid compiler warnings from -Wclass-memaccess
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp: In member function ‘void NavEKF2_core::InitialiseVariables()’:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:343:50: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct NavEKF2_core::ext_nav_vel_elements’; use assignment or value-initialization instead [-Wclass-memaccess]
  343 |     memset(&extNavVelNew, 0, sizeof(extNavVelNew));
      |                                                  ^
In file included from ../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:4:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.h:518:12: note: ‘struct NavEKF2_core::ext_nav_vel_elements’ declared here
  518 |     struct ext_nav_vel_elements {
      |            ^~~~~~~~~~~~~~~~~~~~
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:344:58: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct NavEKF2_core::ext_nav_vel_elements’; use assignment or value-initialization instead [-Wclass-memaccess]
  344 |     memset(&extNavVelDelayed, 0, sizeof(extNavVelDelayed));
      |                                                          ^
In file included from ../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:4:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.h:518:12: note: ‘struct NavEKF2_core::ext_nav_vel_elements’ declared here
  518 |     struct ext_nav_vel_elements {
      |            ^~~~~~~~~~~~~~~~~~~~
2020-06-05 08:42:45 +10:00
Peter Barker
b02d9abd32 AP_NavEKF2: avoid compiler warnings from -Wclass-memaccess
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp: In member function ‘void NavEKF2_core::InitialiseVariables()’:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:343:50: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct NavEKF2_core::ext_nav_vel_elements’; use assignment or value-initialization instead [-Wclass-memaccess]
  343 |     memset(&extNavVelNew, 0, sizeof(extNavVelNew));
      |                                                  ^
In file included from ../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:4:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.h:518:12: note: ‘struct NavEKF2_core::ext_nav_vel_elements’ declared here
  518 |     struct ext_nav_vel_elements {
      |            ^~~~~~~~~~~~~~~~~~~~
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:344:58: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct NavEKF2_core::ext_nav_vel_elements’; use assignment or value-initialization instead [-Wclass-memaccess]
  344 |     memset(&extNavVelDelayed, 0, sizeof(extNavVelDelayed));
      |                                                          ^
In file included from ../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:4:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.h:518:12: note: ‘struct NavEKF2_core::ext_nav_vel_elements’ declared here
  518 |     struct ext_nav_vel_elements {
      |            ^~~~~~~~~~~~~~~~~~~~
2020-06-05 08:42:45 +10:00
James Jacobsson
8a87322d93 AP_HAL_Chibios: Adjust MatekF765-Wing voltage and current scales
The new values matches the ones from here:
http://www.mateksys.com/?portfolio=f765-wing#tab-id-5

Also verified to be a lot more accurate in real life.
2020-06-04 10:06:22 +10:00
Alexander Maryanovsky
d73043fc2f SITL: get_wall_time_us() to use a monotonic clock on non-Windows systems 2020-06-04 10:05:22 +10:00
Phillip Kocmoud
0d5a0f392c hwdef.dat update x2.1-777 2020-06-04 09:51:27 +10:00
Andrew Tridgell
571fbf8f71 HAL_ChibiOS: update power VALID pins 2020-06-04 09:51:27 +10:00
Andrew Tridgell
863807c9fb HAL_ChibiOS: use more consistent naming for power VALID pins
this uses _VALID for an active high pin and _nVALID for an active low
pin. It uses _OC for active high overcurrent and _nOC for active low
overcurrent
2020-06-04 09:51:27 +10:00
Andrew Tridgell
f896213770 AP_AHRS: drop rotate prefix on 2D rotates 2020-06-04 09:49:52 +10:00
Andrew Tridgell
d7b20c6e48 AP_Scripting: added micros() 2020-06-04 09:49:52 +10:00
Andrew Tridgell
1bc9001267 AP_Scripting: added ahrs:get_EAS2TAS() 2020-06-04 09:49:52 +10:00
Andrew Tridgell
f8be087c7e AP_Scripting: added new lua bindings 2020-06-04 09:49:52 +10:00
Andrew Tridgell
7d520c8307 AP_AHRS: added body/earth frame ops for Lua 2020-06-04 09:49:52 +10:00
Andrew Tridgell
a56a7f7da4 AP_Math: added more vector3f ops for lua 2020-06-04 09:49:52 +10:00
Andrew Tridgell
cab3630009 AP_InertialSensor: switched to supplying timestamps for SITL
this allows the time step to change on each loop as we no longer use
the average sensor rate when calculating deltas
2020-06-03 18:11:06 +10:00
Andrew Tridgell
e4596efe9b SITL: added SIM_RATE_HZ
this allows the physics step size to be changed while flying the
internal models, which allows for lower CPU usage
2020-06-03 18:11:06 +10:00
Andras Schaffer
43bef1ac9e AP_Proximity: fix proximity ignored zone calulation
It seems there was a typo in the checking of proximity ignored zones.
2020-06-03 16:11:55 +09:00
Peter Barker
f842c27070 AP_HAL_SITL: correct clearing of UART drivers 2020-06-03 17:00:44 +10:00
Peter Barker
f3bee7fa03 AP_HAL_Linux: correct clearing of UART drivers 2020-06-03 17:00:44 +10:00
Peter Barker
931c77fa77 AP_HAL_ChibiOS: correct clearing of UART drivers 2020-06-03 17:00:44 +10:00
Randy Mackay
c936307ecf RC_Channel: minor format fix to option param desc 2020-06-03 15:21:21 +09:00
Tatsuya Yamaguchi
ea3c11030c RC_Channel: add ZIGZAG_Auto Aux switch 2020-06-03 15:21:21 +09:00
Samuel Tabor
b21f9030b7 AP_Soaring: Update parameter ranges. 2020-06-02 10:36:51 -07:00
TunaLobster
a13ddc1096 AP_Scripting: add binding for get_output_pwm 2020-06-02 12:53:24 +10:00
Andrew Tridgell
78858bbcdd AP_GPS: switch ublox over to 230400 baud
this ensures we have sufficient bandwidth for raw data
2020-06-01 17:18:17 -07:00
Andrew Tridgell
d9d53d380d AP_Landing: implement continue after land for fixed wing landings
this makes touch and go missions possible
2020-06-02 09:12:22 +09:00
Andrew Tridgell
7c49723f19 AP_Mission: added continue after land mission option
this allows for option to continue a mission after a landing is
complete. The default in copter was to continue, so adding this
option makes copter not continue by default. Plane already disarmed on
land complete.
2020-06-02 09:12:22 +09:00
Henry Wurzburg
f9b02a6814 AP_RangeFinder: HC-SR04: Add glitch filter 2020-06-02 09:58:53 +10:00
Peter Barker
fc1ea612b1 AP_RangeFinder: add support for HC-SR04 rangefinder 2020-06-02 09:58:53 +10:00
Michael du Breuil
400220e210 AP_BattMonitor: Rearrange arming check order 2020-06-02 09:55:36 +10:00
Andrew Tridgell
2dcf8a3b08 AP_RangeFinder: cope with beyond max range with LightwareI2C 2020-06-02 08:49:38 +09:00
mmk0102
22d052b711 AP_Arming: check for duplicate auxswitch options 2020-06-02 09:43:31 +10:00
Randy Mackay
93d8458d2a AP_NavEKF3: FuseVelPosNED uses ext nav vel err in obs data check 2020-06-02 08:33:42 +09:00
Randy Mackay
d37eec5fd8 AP_NavEKF3: ext nav vel corrected for sensor position when recalled from buffer 2020-06-02 08:33:42 +09:00
Randy Mackay
79901ffc1b AP_VisualOdom: pass velocity error to logger 2020-06-02 08:33:42 +09:00
Randy Mackay
08f6b2128e AP_Logger: add VISV field descriptions 2020-06-02 08:33:42 +09:00
Randy Mackay
714975662d AP_Logger: VISP message gets velocity error field 2020-06-02 08:33:42 +09:00
Randy Mackay
31763424a3 SITL: speed up vicon messages to avoid EKF timeouts during resets 2020-06-02 08:33:42 +09:00
Randy Mackay
630bc01101 AP_HAL_SITL: send vehicle velocity to sitl vicon class 2020-06-02 08:33:42 +09:00
Randy Mackay
c8f6cb233b SITL: vicon supports sending vision-speed-estimate
SIM_VICON_TMASK controls which of the 3 supported messages are sent
SIM_VICON_VGLI_X/Y/Z allows introducing a velocity glitch
2020-06-02 08:33:42 +09:00
Randy Mackay
3a209d5d84 SITL: SIM_Vicon loses unused obs_elements structure 2020-06-02 08:33:42 +09:00
Randy Mackay
cad9889656 AP_AHRS: send vision-speed-estimates to EKF3 2020-06-02 08:33:42 +09:00
chobits
c7817eaca1 AP_NavEKF3: support VISION_SPEED_ESTIMATE
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2020-06-02 08:33:42 +09:00
Randy Mackay
bdb67532b0 AP_Math: clarify get_vel_correction_for_sensor_offset comment 2020-06-02 08:33:42 +09:00
Randy Mackay
4639e8a698 AP_Math: add get_vel_correction_for_sensor_offset 2020-06-01 17:51:24 +09:00
chobits
9b480ca755 AP_Logger: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
chobits
66a5f645d7 AP_VisualOdom: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
chobits
ff6e4c4f9a GCS_MAVLink: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
chobits
dee095b4a4 AP_NavEKF2: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
chobits
c9e363d529 AP_AHRS: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
Rishabh
e7d98648e6 AR_WPNav: Reset WP origin if recovering from OA 2020-05-30 08:55:45 +09:00
Rishabh
44f0aef5e9 AP_OAPathPlanner: Add param to reset WP origin while recovering from Bendy 2020-05-30 08:55:45 +09:00
Gone4Dirt
1b7672a84f AP_Motors: Correctly adjust heli run up timer in bailout 2020-05-28 18:50:08 -04:00
Iampete1
141ab622a3 SITL: examples: JSON: MATLAB: add pnet linux compiled 2020-05-29 08:25:24 +10:00
Iampete1
13965133b0 SITL: examples: JSON: add MATLAB example 2020-05-29 08:25:24 +10:00
Iampete1
fa712082d7 SITL: examples: add JSON readme 2020-05-29 08:25:24 +10:00
Iampete1
ce0cb9660f SITL: examples: add MATLAB TCP/UDP/IP Toolbox 2020-05-29 08:25:24 +10:00
Iampete1
0c6efa5f26 SITL: add JSON backend 2020-05-29 08:25:24 +10:00
Iampete1
c31a4f4b14 AP_HAL_SITL: add JSON backend 2020-05-29 08:25:24 +10:00
CUAVcaijie
220e6999c7 HAL_ChibiOS:Adapt to CUAV Nora V1.2 hardware 2020-05-28 19:13:49 +10:00
Peter Barker
1ebfc79eb0 AP_HAL_Linux: enable console for examples
Turns out we *do* need this for examples.  We're back to stuffing up
terminals where examples have been run, but that can be addressed later.
2020-05-28 13:49:47 +10:00
pkocmoud
7809dc849c HAL_ChibiOS: Added support for mRo Pixracer Pro flight controller 2020-05-27 21:22:56 +10:00
Andrew Tridgell
529bfe8fcd AP_GPS: fixed issue with GPS selection for moving baseline
when you have a moving baseline pair of ublox GPS modules and the
rover GPS does not have full fixed RTK lock on the base GPS then we
should not use it as our primary GPS as it's position and velocity can
be badly affected by the attempts of the GPS to gain a fixed lock.

This was observed in a flight with two F9P GPS, where the GPS velocity
data from the rover GPS went way off when it lost full RTK lock. It's
status stayed at 4, so it was selected as the primary GPS
2020-05-27 10:59:46 +10:00
MisterMower
41245acf14 AP_Logger: Added units to CurrTot message
Units are not associated with the CurrTot message. AP_BattMonitor.h indicates the total current consumed is reported in mAh. This change sets the units for CurrTot to Ampere seconds and applies a multiplier of 3.6 to convert the reported mAh value to Ampere seconds.
2020-05-26 16:19:14 +10:00
Peter Barker
6cdee8c830 AP_BLHeli: read more efficiently from telemetry UART 2020-05-26 15:59:11 +10:00
Peter Barker
6d9e563ede AP_HAL_ChibiOS: override read(buffer,count) method to be more efficient 2020-05-26 15:59:11 +10:00
Peter Barker
d259c03079 AP_HAL: BetterStream add a read(uint8_t*buffer, uint16_t count method 2020-05-26 15:59:11 +10:00
Peter Barker
1d9c2b1726 AP_Logger: add documentation for SBPH and SBRH 2020-05-26 14:13:06 +10:00
Henry Wurzburg
9c72525bbf AP_HAL_ChibiOS: Add unused LED output as GPIO in OmnibusF4Pro def 2020-05-26 10:51:32 +10:00
Peter Barker
19dc07250d AP_NavEKF2: clarify yaw reset error message
The current wording can be taken to indicate that the mag sensors
stopped, causing this issue.
2020-05-26 10:05:35 +10:00
Peter Barker
bf3cb977fd AP_NavEKF3: clarify yaw reset error message
The current wording can be taken to indicate that the mag sensors
stopped, causing this issue.
2020-05-26 10:05:35 +10:00
vierfuffzig
6fa7dca68b AP-Baro: fix init without baro 2020-05-26 10:04:22 +10:00
yaapu
13592cef91 AP_Frsky_Telem: removed time constraint to allow SITL regression testing 2020-05-26 10:02:12 +10:00
yaapu
6303c700d4 AP_Frsky_Telem: prevent SPort frame fragmentation by writing whole 8byte frames vs writing single bytes
general scheduler delays could introduce small delays when writing SPort frames to the uart one byte
at the time potentially leading to rx desyncs on the SPort bus.
This fix replaces single byte writes with full frame writes.

The library has around 10ms to repond to polling so to guarantee frame integrity responses taking
longer than 7500us are discarded
2020-05-26 10:02:12 +10:00
Peter Barker
af80c4a29f AP_RangeFinder: remove move-to-error-state for LeddarOne driver
Just because there's a lot in your input buffer doesn't necessarily mean
the rangefinder is faulty.
2020-05-26 09:20:32 +10:00
Peter Barker
3bf1ac5918 AP_BLHeli: trim annoying LF from debug "Bad CRC" line 2020-05-26 09:20:32 +10:00
Peter Barker
67e4756f19 AP_Hott_Telem: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
90038339dc AP_UAVCAN: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
95f9769041 AP_RangeFinder: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
f1182637a6 AP_IOMCU: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
71f6262294 AP_EFI: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
d012cf8d47 AP_Camera: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
a073469423 AP_BLHeli: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker
80615c44ff AP_HAL_SITL: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Peter Barker
9a9743e6ba AP_HAL_Linux: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Peter Barker
b16c1ea647 AP_HAL_Empty: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Peter Barker
8f54de4184 AP_HAL_ChibiOS: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Peter Barker
a8d03990ec AP_HAL: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Peter Hall
bfd71fdae1 RC_Channel: add Qassist switch 2020-05-26 09:01:47 +10:00
Andrew Tridgell
5bfcb0ed4a SRV_Channel: Add servo chan override w/ timeout
Adds a feature to override a servo output for a given time. Scripting
bindings and example included.
2020-05-25 14:10:01 +10:00
Andrew Tridgell
5e74152444 AP_Scripting: Add servo chan override w/ timeout
Adds a feature to override a servo output for a given time. Scripting bindings and example included.
2020-05-25 14:10:01 +10:00
Andrew Tridgell
cf0f95f81e AP_BLHeli: allow for negative temperatures from BLHeli32 ESCs
ESCs can send negative values
2020-05-25 13:53:32 +10:00
Andrew Tridgell
a0cf4e158a AP_Compass: revert change to RM3100 scale factor and increase scale limit
This reverts the change from #13895 and instead resolves the issue by
increasing the scale factor limit to 1.4

There is an open question as to why some RM3100 compasses show a
different scale factor (by about 1.25 times) to other versions of the
same sensor. As we haven't resolved this properly it seems the correct
thing to do is follow the datasheet but allow for a wider range of
scale factors to cope with the variation between sensors
2020-05-24 15:06:15 +10:00
Peter Barker
49918d070e AP_Logger: add documentation for ESC LoggerMessage 2020-05-24 13:07:35 +10:00
Peter Barker
cc60faa58e AP_Logger: use single message number for all ESCs by using instance # 2020-05-24 13:07:35 +10:00
Andy Piper
63b5711a4d AP_Compass: use a separate slot for the custom compass rotation 2020-05-24 07:46:17 +10:00
Andy Piper
acff7daba5 AP_RCProtocol: scale SRXL2 using published conversion values. switch SRXL2 channels to match ArduPilot 2020-05-24 07:45:01 +10:00
Andy Piper
6da1f3bf2e AP_GyroFFT: filter energy, harmonic and amplitude fit. Make a better guess at harmonic matching
add filtered second and third harmonics and log them
make sure we use all of the gyro samples available on each axis rather than skipping
separate gyro update from fft start to minimize time in fast loop
add FFT_HMNC_PEAK to allow users to select which noise peak and which axis will be tracked.
make sure the self-test runs once and display the results
report self-test failure reason. make sure self-test runs for all windows.
always give logging a chance to run at IO_PRIORITY
add log message documentation
make sure the engine still runs even when the arming check has been disabled
record last FFT update time and cycle time and fallback to throttle estimate when update is too old
delay for longer in FFT thread between cycles to cope on F4
try really hard to get a viable frequency estimate
change range on MAXHZ/MINHZ to reflect that 50Hz is actually quite dangerous
swap the center peak for one of the shoulders if there is temporarily a closer match with the frequency trend
when FFT is disabled still log harmonic notch frequency
use distance matrix to find most appropriate peak
use a median filter to remove outliers before filtering
discount peaks that are relatively too low in energy
make sure harmonic fit is tracked for both potential targets
convert all gyro buffers to ObjectBuffer<float> for lock-free access
run all FFT steps inside the FFT thread
calculate cycle time and loop delay correctly
drop samples when the ring buffer is full
2020-05-24 07:43:34 +10:00
Andy Piper
fab8168f5c AP_Arming: allow FFT to report failure reason. allow FFT check to be disabled.
document FFT arming check and make sure the appropriate side effect happens regardless
2020-05-24 07:43:34 +10:00
Andy Piper
8ac79da643 AP_InertialSensor: FFT gyro window would overflow on windows >= 256
convert FFT buffers to ObjectBuffer<float> for lock-free access
push gyro samples directly into the FFT ring buffer from the gyro thread
2020-05-24 07:43:34 +10:00
Andy Piper
d873ec4533 AP_Vehicle: separate gyrofft gyro sampling from fft initiation
move FFT gyro sampling into fast loop for all vehicles
rename FFT update method
2020-05-24 07:43:34 +10:00
Andy Piper
13e40a3002 AP_HAL_Empty: add harmonics to DSP
add DSP vector mean function
add ObjectBuffer signature
2020-05-24 07:43:34 +10:00
Andy Piper
33c1523905 AP_HAL_ChibiOS: add harmonics to DSP
add vector_mean_float() to DSP
allow fft_start() to use ObjectBuffer<float> for lock-free access
2020-05-24 07:43:34 +10:00
Andy Piper
ee87ef7013 AP_HAL_SITL: make harmonics part of DSP
add vector mean function to dsp
allow fft_start() to use ObjectBuffer<float> for lock-free access
2020-05-24 07:43:34 +10:00
Andy Piper
e2ef0bd36e AP_HAL: collect data for three largest peaks
new dsp peak detection algorithm
add DSP sketch with frequency ascii art
tool to generate gyro data frames from batch sampled DF logs
add generated data from real Y6B flight
allow fft_start() to use ObjectBuffer<float> for lock-free access
allow ObjectBuffer to be resized
2020-05-24 07:43:34 +10:00
Peter Barker
5bbb02e03b SITL: add support for simulated proximity sensors 2020-05-22 17:06:16 +10:00
Peter Barker
be9fc57e8f AP_HAL_SITL: add support for simulated RPLidarA2 2020-05-22 17:06:16 +10:00
Andy Piper
f5320e8816 AP_Compass: make sure SITL rotation gets initialized like all the others
don't remove a custom rotation that has already been set
2020-05-21 16:28:27 +10:00
bugobliterator
7b9f0f3fd7 HAL_ChibiOS: use FIFO mode instead of Queue mode in FDCAN driver 2020-05-21 15:32:53 +10:00
Gone4Dirt
b2d2bf61da AP_Motors: Support autorotation windows on external governors 2020-05-20 21:56:09 -04:00
Henry Wurzburg
23e7e2d193 AP_RangeFinder: rename Benewake types for easier identification 2020-05-21 08:45:30 +09:00
Paul Riseborough
af19fea268 AP_NavEKF2: Fix 3-axis mag fusion per axis error handling
Ensure that if fusion checks for an axis fails, fusion will not be perfomred for all axes.
2020-05-20 15:09:32 +10:00
Buzz
d4df145b4b ArduPlane: option to keep landing throttle at thr_min during flare and touchdown, not zero. 2020-05-20 11:29:45 +10:00
Buzz
dc3db0476b AP_Landing: option to keep landing throttle at thr_min during flare and touchdown, not zero. 2020-05-20 11:29:45 +10:00
Andy Piper
9f02b1b1a8 AP_NavEKF2: fix typo in comment
Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
2020-05-20 07:29:31 +09:00
Andrew Tridgell
97f335396b AP_Scripting: fixed memory leak 2020-05-19 09:09:48 +10:00
Peter Hall
b368188b01 AP_Scripting: add AP_Logger binding 2020-05-19 09:09:48 +10:00
Peter Hall
be37a8a2b6 AP_Scripting: add example logging serial to dataflash 2020-05-19 09:09:48 +10:00
Peter Hall
11dc3e05e3 AP_Scripting: add SD file and dataflash logging example 2020-05-19 09:09:48 +10:00
Peter Hall
19ba9abc89 AP_Logger: add function and make public for scripting use 2020-05-19 09:09:48 +10:00
Peter Hall
aa657626f2 AP_Scripting: examples: plane-wind-fs: read in CRT_MAH 2020-05-18 11:25:13 -07:00
Paul Riseborough
939331ae8d AP_NavEKF3: Fix double iteration of axes in SelectMagFusion 2020-05-18 09:38:45 +10:00
bugobliterator
05fe49a51f AP_Math: disable INEXACT flag from Float exception 2020-05-17 16:12:43 +10:00
bugobliterator
07907ac81d HAL_SITL: fix gcc build on macosx 2020-05-17 16:12:43 +10:00
Mark Whitehorn
a54f286c1b SITL: fixed running of example programs 2020-05-16 11:06:35 +10:00
Peter Barker
115751833b AP_Logger: process pending rotate on arming
If the user arms the vehicle during the logging-persist-timeout we
should rotate the log immediately.
2020-05-15 16:02:09 +10:00
Randy Mackay
6c20264d9c AP_NavEKF3: minor comment fix 2020-05-15 11:23:07 +09:00
Randy Mackay
5ad3611142 AP_NavEKF3: improve ext nav glitch handling
replaces extNavTimeout with posTimeout
replaces lastExtNavPassTime_ms with lastPosPassTime_ms
2020-05-15 11:23:07 +09:00
Randy Mackay
b2dd6446c8 SITL: add comment to SIM_VICON 2020-05-15 10:07:52 +09:00
Randy Mackay
b71403c11a AP_VisualOdom: provide delay to ahrs:writeBodyFrameOdom 2020-05-15 10:07:52 +09:00
Randy Mackay
b2ad1caf75 AP_AHRS: writeBodyFrameOdom accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay
ef02942459 AP_NavEKF3: writeBodyFrameOdom accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay
69560ec147 AP_VisualOdom: provide delay to ahrs::writeExtNavData 2020-05-15 10:07:52 +09:00
Randy Mackay
762e82d49d AP_AHRS: writeExtNavData accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay
c28fd27b02 AP_NavEKF3: writeExtNavData accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay
f26a2a47b4 AP_NavEKF2: writeExtNavData accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay
366d03a533 SITL: add VICON_YAWERR
this allows simulating an error in the camera's reported yaw
2020-05-15 09:22:07 +10:00
Randy Mackay
bf9ee4ada8 SITL: remove unused MAG_ERROR and VICON_HSTLEN params 2020-05-15 09:22:07 +10:00
Andrew Tridgell
fd32dff45a AP_IOMCU: force safety off on IOMCU reset
if safety was forced off previously and we get an IOMCU reset then
force it off when the reset happens so vehicle can keep flying
2020-05-14 18:28:50 +10:00
mhefny
9f56b656e0 SITL: Revamp Examples to support multiple drones 2020-05-14 18:05:16 +10:00
mhefny
5a64156862 SITL: SITL-Webots timing is received from Webots only 2020-05-14 18:05:16 +10:00
Paul Riseborough
318811210f AP_NavEKF3: Don't perform emergency yaw reset unless commanded externally
This limits the use of the reset to situations where it is a last ditch resort before a lane switch and failsafe.
This will limit false positives for general deployment, but still provide protection from fly-aways at the cost of some increase in reaction time.
2020-05-14 10:40:48 +10:00
Paul Riseborough
c94de61e29 AP_NavEKF2: Don't perform emergency yaw reset unless commanded externally
This limits the use of the reset to situations where it is a last ditch resort before a lane switch and failsafe.
This will limit false positives for general deployment, but still provide protection from fly-aways at the cost of some increase in reaction time.
2020-05-14 10:40:48 +10:00
Andrew Tridgell
fc28cd4fa2 GCS_MAVLink: fixed a ftp duplicate reply
this fixes a bug in burst replies where the duplicate reply may have
the wrong offset. This causes the "paramftp bad type" error
2020-05-14 09:53:42 +10:00
chobits
a7aa43f5d5 AP_NavEKF2: ext nav will not reset yaw if compass is used 2020-05-14 08:04:55 +09:00
Randy Mackay
45e6896d95 AP_NavEKF3: ensure extnav angle error is at least 5deg 2020-05-14 08:02:13 +10:00
Andy Piper
e9b939ccb5 AP_Scripting: build fix for macOS 2020-05-13 11:59:03 -07:00
Andrew Tridgell
36869f668b AP_Scripting: fixed build on cygwin with deep directories 2020-05-12 19:55:21 +10:00
Andrew Tridgell
50db7f1648 AP_Scripting: update README.md 2020-05-12 19:55:21 +10:00
Andrew Tridgell
9cf464e570 AP_Scripting: removed the old Makefile 2020-05-12 19:55:21 +10:00
Andrew Tridgell
2c6fd13899 AP_Scripting: auto-build the bindings 2020-05-12 19:55:21 +10:00
Andrew Tridgell
5c8e4a4d7b AP_Scripting: removed old generated bindings 2020-05-12 19:55:21 +10:00
Buzz
9d9fdd1cb0 AP_Scripting: add big demo script for editing and updating mission item/s from lua. 2020-05-12 14:20:26 +10:00
Buzz
816474b6e8 AP_Scripting: rebuild bindings 2020-05-12 09:58:14 +10:00
Buzz
963b25059d AP_Scripting: allow to get/set/create arbitrary mission items
fetch item/s by their index, and review wp data, etc.  
AP_Mission: ran mission files through approved astyle  as they were non-compliant before this( astyle --options=Tools/CodeStyle/astylerc   )
2020-05-12 09:58:14 +10:00
Andrew Tridgell
d16f31711e AP_RangeFinder: fixed mixing UAVCAN and non-UAVCAN rangefinders
UAVCAN rangefinders add themselves to the frontend drivers as the
devices appear. If they turn up before RangeFinder::init() is run then
this prevented init() from scanning for the other rangefinders as
num_instances is non-zero

This also fixes a race condition in updating num_instances in the
UAVCAN backend
2020-05-12 09:45:15 +10:00
Andrew Tridgell
603e5c4b55 AP_RangeFinder: added get_address()
allows AP_Periph to supply sensor_id for multiple CAN rangefinders
2020-05-11 18:36:46 +10:00
Peter Barker
5100c9fb8c GCS_Common: whitelist AUTOPILOT_VERSION for in_delay_callback sending
GCSs may request this very early on in the boot process, particularly
for SITL.

If we try to send it during a delay callback then we end up dropping it
at the moment - but we'd already sent the ack in response to the
request.
2020-05-11 15:22:38 +10:00
Peter Barker
ca4af94833 AP_Logger: prevent potential infinite recursion in log-open codepath
If anything in start_new_log did logging (for example, by sending a
statustext), we end up infinitely recursing.

With the patch:

diff --git a/libraries/AP_Logger/AP_Logger_File.cpp b/libraries/AP_Logger/AP_Logger_File.cpp
index 69b8ef0431..eb422d10f8 100644
--- a/libraries/AP_Logger/AP_Logger_File.cpp
+++ b/libraries/AP_Logger/AP_Logger_File.cpp
@@ -778,6 +778,7 @@ void AP_Logger_File::PrepForArming()
  */
 void AP_Logger_File::start_new_log(void)
 {
+    gcs().send_text(MAV_SEVERITY_WARNING, "Starting new log");
     stop_logging();

     start_new_log_reset_variables();
pbarker@bluebottle:~/rc/ardupilot(master)$

We see:

    at ../../libraries/AP_Logger/AP_Logger_File.cpp:781
    this=0x555555ad9d30, pBuffer=0x7fffff8209d0, size=75, is_critical=true)
    at ../../libraries/AP_Logger/AP_Logger_Backend.cpp:372
    this=0x555555ad9d30, pBuffer=0x7fffff8209d0, size=75)
    at ../../libraries/AP_Logger/AP_Logger_Backend.h:32
    this=0x555555ad9d30, message=0x7fffff820b10 "Starting new log")
    at ../../libraries/AP_Logger/LogFile.cpp:466
    this=0x555555a6d758 <copter+11384>,
    message=0x7fffff820b10 "Starting new log")
    at ../../libraries/AP_Logger/AP_Logger.cpp:752
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log", arg_list=0x7fffff820be0,
    dest_bitmask=1 '\001') at ../../libraries/GCS_MAVLink/GCS_Common.cpp:1847
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log", arg_list=0x7fffff820be0)
    at ../../libraries/GCS_MAVLink/GCS.cpp:53
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log")
    at ../../libraries/GCS_MAVLink/GCS.cpp:60
    at ../../libraries/AP_Logger/AP_Logger_File.cpp:781
    this=0x555555ad9d30, pBuffer=0x7fffff820dc0, size=75, is_critical=true)
    at ../../libraries/AP_Logger/AP_Logger_Backend.cpp:372

I'm not aware of any instances in the code where this will actually
happen - but it could easily sneak in.
2020-05-11 15:12:36 +10:00
Henry Wurzburg
12d5602926 AP_HAL_ChibiOS: Add ability to use UART3 and UART4 in bd alt config 4 2020-05-11 14:18:35 +10:00
Peter Barker
50523ed0fa AP_HAL_ChibiOS: remove pointless initialisations
These are never stack-allocated.

Only saves 16 bytes - but several lines
2020-05-10 18:03:36 +10:00
Randy Mackay
67903a29e2 AP_NavEKF3: fix getLLH when no GPS 2020-05-10 15:35:55 +10:00
Randy Mackay
b95bc9076b AP_NavEKF2: fix getLLH when no GPS 2020-05-10 15:35:55 +10:00
Andrew Tridgell
2200dfefdb HAL_ChibiOS: during setup() we expect delays
this may fix occasional internal errors on SPI during startup
2020-05-10 15:12:43 +10:00
Andrew Tridgell
04e29d58e3 RC_Channel: avoid invalid misaligned access in example 2020-05-10 15:11:22 +10:00
Andrew Tridgell
5350ea5c58 AP_NavEKF3: avoid build warnings with g++ 9 2020-05-10 15:11:22 +10:00
Andrew Tridgell
3e853344f3 AP_Math: avoid build warnings 2020-05-10 15:11:22 +10:00
Andrew Tridgell
87c2858bde GCS_MAVLink: give banner on param download with ftp
thanks to Peter for noticing
2020-05-10 15:10:21 +10:00
Andrew Tridgell
259cb0aafd HAL_ChibiOS: removed EKF2 define, not needed any more 2020-05-10 15:09:54 +10:00
Andrew Tridgell
8868ac2d6f AP_AHRS: disable EKF2 by default on 1M boards 2020-05-10 15:09:54 +10:00
Andrew Tridgell
61d036acf3 HAL_ChibiOS: added build time check for right system clock
this helps prevent cases where we underclock a chip due to mistake in
headers or hwdef.dat
2020-05-10 15:09:28 +10:00
Andrew Tridgell
69676cd614 HAL_ChibiOS: support 24MHz f3 MCUs 2020-05-10 15:09:28 +10:00
Henry Wurzburg
3f735e7e54 HAL_ChibiOS: Make full UART4 available as bd config option 2020-05-10 08:00:57 +10:00
Henry Wurzburg
225a305cb9 AP_HAL_ChibiOS:Remove alt config since its not useful (no TX available) 2020-05-10 08:00:21 +10:00
Henry Wurzburg
8b3f07416c AP_NAVEKF3: change plane check_scaler value to match EKF2 value 2020-05-10 07:59:27 +10:00
Andrew Tridgell
cd5aae20c1 AP_NavEKF3: fixed scary message for non-compass planes 2020-05-09 12:33:33 +10:00
Andrew Tridgell
4a80313fdd AP_Compass: added get_num_enabled()
used by EKF3
2020-05-09 12:33:33 +10:00
Michael du Breuil
ceb0a9c827 AP_Airspeed: Rearrange state to save memory
Saves 8 bytes per airspeed sensor (2 backends for 8 total), and removes
the unneeded width specifier, which has no impact on used memory, and
saves us 88 bytes of flash because we don't have to do work to shift the
bits around.
2020-05-06 18:15:08 +10:00
Peter Barker
64e300a00c AP_Soaring: add documentation for VAR dataflash log message 2020-05-06 13:23:51 +10:00
Peter Barker
446dc61979 AP_InternalError: add warning on the internal error_t type 2020-05-06 13:23:15 +10:00
Peter Barker
70a9abfaff AP_InternalError: emit stringification of internal errors 2020-05-06 13:23:15 +10:00