Commit Graph

16960 Commits

Author SHA1 Message Date
Andrew Tridgell
777b4c8cfe DataFlash: avoid stat of current log file
this avoids getting invalid data base for stat() for the current log
file.

It also only gives up writing to a log file if writes fail for 2
seconds. This avoids a temporary write failure causing the log to be
closed (that can happen on ChibiOS with directory listing while writing)
2018-06-14 14:55:41 +10:00
Andrew Tridgell
8a2f1fdb3d AP_Airspeed: fixed airspeed filtering issue
this fixes an issue where an airspeed sensor that becomes unhealthy
can have an undue effect after the sensor becomes healthy again.

In a recent flight log the MS4525 airspeed sensor went unhealthy for a
few seconds, and at the same time gave a reading of 12m/s. The plane
was flying at 24m/s. While the sensor was unhealthy the code correctly
switched to the airspeed estimate, which was fine.

When the airspeed sensor become healthy again the IIR filter in
AP_Airspeed meant that the speed read at 12m/s initially, then came up
to 24m/s over a couple of seconds. This caused the VTOL motors to come
on for a few seconds.
2018-06-14 09:13:30 +10:00
Andrew Tridgell
10ca1e78e8 HAL_ChibiOS: switched to Mode3 on SPI1
this is now working correctly
2018-06-13 20:05:26 +10:00
Andrew Tridgell
9d248456e4 HAL_ChibiOS: re-enable I2C4 DMA for F765
now we have fixed the error from the datasheet we can do DMA
2018-06-13 20:05:26 +10:00
Andrew Tridgell
ad3eca4e6b HAL_ChibiOS: fixed I2C4 DMA streams
There is an error in the datasheet. See
https://community.st.com/thread/50484-documentation-error-on-dma-channels-for-i2c4-on-stm32f7
2018-06-13 20:05:26 +10:00
Andrew Tridgell
62e8fbb9d3 HAL_ChibiOS: fixed OMNIBUSF7V2 hwdef.dat 2018-06-13 20:05:26 +10:00
Andrew Tridgell
e068106669 HAL_ChibiOS: support I2C devices on STM32F7 without DMA
this allows us to support I2C4 on fmuv5
2018-06-13 20:05:26 +10:00
chobits
0d2b70e607 GCS_MAVLink: fix ATT_POS_MOCAP timestamp handle 2018-06-13 09:43:42 +09:00
Randy Mackay
5e7b37f0b2 AR_AttitudeControl: remove constraint on steering output 2018-06-12 17:44:10 +09:00
Michael du Breuil
95eda5d9b7 RC_Channel: Remove unneeded interfaces 2018-06-11 16:29:36 -07:00
Andrew Tridgell
b225868711 AP_Compass: detect conflict between AK09916 and ICM20948
this detects if we have both a AK09916 and an ICM20948 on the same i2c
bus. If that is found then the ICM20948 is disabled as it otherwise we
will have two devices on the same i2c address
2018-06-12 09:04:43 +10:00
Jacob Walser
c4175be7aa AP_Camera: explicitly specify floats 2018-06-11 15:57:48 -04:00
Peter Barker
b0aeec4b6a GCS_MAVLink: move handling of MAV_CMD_DO_GRIPPER up 2018-06-11 19:07:39 +01:00
Peter Barker
8a3df17a07 AP_Gripper: add singleton 2018-06-11 19:07:39 +01:00
Alexander Malishev
289b93c3d0 HAL_ChibiOS: added parse_timer to chibios_hwdef.dat 2018-06-11 18:32:17 +10:00
murata
4d5e258b19 AP_NavEKF3: Delete unused definitions 2018-06-11 09:11:44 +09:00
murata
a9b2b9dddf AP_NavEKF2: Delete unused definitions 2018-06-11 09:11:44 +09:00
Ammarf
b614ca9b75 AR_AttitudeControl: disable limits when _ACCEL_MAX is zero 2018-06-11 08:54:59 +09:00
Carlos Martínez Úbeda
30e0c7f746 AP_HAL_SITL: use FD_CLOEXEC instead of linux SOCK_CLOEXEC for socket 2018-06-10 19:15:50 +01:00
Eugene Shamaev
56cc0d3ef7 AP_BoardConfig: comments 2018-06-09 22:46:48 -07:00
Eugene Shamaev
2055f264e5 AP_HAL_ChibiOS: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
df6b7ed5ea AP_Compass_UAVCAN: update 2018-06-09 22:46:48 -07:00
Eugene Shamaev
9985d4a937 AP_GPS: uniform naming 2018-06-09 22:46:48 -07:00
Eugene Shamaev
13954f97cf AP_Baro: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
f7e9ce44b1 AP_BattMonitor: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
9195ba80fc AP_Compass: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
9f27a65f4b AP_GPS: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
05c8d4cc36 AP_HAL_PX4: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
0e3ad3f48d AP_HAL_VRBRAIN: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
71791d22cd AP_UAVCAN: helper func 2018-06-09 22:46:48 -07:00
Eugene Shamaev
baa6daf270 AP_Compass: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
857bd4f775 AP_BoardConfig: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
dc228a25fa AP_BattMonitor: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
f8da16d11a AP_Baro: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
a805b3ce18 AP_GPS: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
0d52f6d2de AP_UAVCAN: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
b190b6793b AP_HAL_VRBRAIN: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
2a6387fd3b AP_HAL_PX4: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
Eugene Shamaev
7dd8308a8c AP_HAL_Linux: reducing indenting by linearizing the logic 2018-06-09 22:46:48 -07:00
hoangthien94
70a23724b5 AP_Follow: Add FOLL_ALT_SOURCE parameter, 0: absolute, 1: relative
AP_Follow: Fill _target_location.alt with packet.relative_alt when FOLL_ALT_SOURCE param is set to 1

AP_Follow: Change current_loc to have altitude above home if relative_alt flag is set

AP_Follow: Fill _target_location.alt with packet.relative_alt when FOLL_ALT_SOURCE param is set to 1

AP_Follow: Change current_loc to have altitude above home if relative_alt flag is set

AP_Follow: Fix things up before merging
- Rebase code on master
- Change all the commits to start with AP_Follow
- Change _ALT_SOURCE to _ALT_TYPE, bottom of param list, value to 10
- Minor formatting

AP_Follow: Tiny formatting issue
2018-06-09 11:01:35 +09:00
Andrew Tridgell
ab946b5d76 HAL_ChibiOS: disable debug code for FMUv5 2018-06-08 09:56:41 +10:00
Philip
2424e38ed2 HAL_ChibiOS: Update cube-orange hwdef.dat for USB IDs 2018-06-08 09:56:41 +10:00
Andrew Tridgell
058e83c180 HAL_ChibiOS: switched cube-orange SPI1 devices to Mode0 2018-06-08 09:56:41 +10:00
Andrew Tridgell
2df0a71a4b HAL_ChibiOS: fixed flash load address in hwdef.h 2018-06-08 09:56:41 +10:00
Andrew Tridgell
3a7c1b4d42 HAL_ChibiOS: switch BMI055 to mode0 on fmuv5 2018-06-08 09:56:41 +10:00
Andrew Tridgell
89b8124560 AP_InertialSensor: added BMI055 IMU driver 2018-06-08 09:56:41 +10:00
mirkix
b32b57ad75 AP_HAL_Linux: change SPI Bus for PocketPilot final design 2018-06-07 12:28:21 -07:00
Andrew Tridgell
520e33261a AP_AHRS: fixed EKF type 10 for SITL
this fixes the use of EKF type 10 in SITL, preventing it from using
the DCM attitude estimate.

This is especially important for RealFlight and XPlane
2018-06-07 11:22:57 +10:00
Andrew Tridgell
3be9077ba9 HAL_ChibiOS: added FMUv5 FMU capture pins 2018-06-06 15:01:38 +10:00
Andrew Tridgell
c05086430d HAL_ChibiOS: fixed hwdef.h generation for PWM on tim12 2018-06-06 15:01:38 +10:00
Andrew Tridgell
63087b6425 HAL_ChibiOS: enable fmu out 7 and 8 for fmuv5
these are exposed on the Pixhawk4
2018-06-06 15:01:38 +10:00
Andrew Tridgell
2d9df83ed5 AP_Compass: probe for ist8310 on bus 2 as well as 0 for fmuv5 2018-06-06 15:01:38 +10:00
Peter Barker
4c8c85f75b AC_WPNav: remove pointless initialisations
new clears this memory
2018-06-06 08:33:56 +09:00
Peter Barker
fa0b315374 AC_WPNav: use rangefinder for terrain offset even if terrain not available 2018-06-06 08:33:56 +09:00
Alexander Malishev
eac5d13f1c HAL_ChibiOS: use 2 channels in SoftSigReaderInt.cpp 2018-06-06 08:23:51 +10:00
Alexander Malishev
fd45b3a69b HAL_ChibiOS: slightly increase EICU interrupt priority 2018-06-06 08:23:51 +10:00
Alexander Malishev
73d33356ad HAL_ChibiOS: detect overcapture in SoftSigReaderInt.cpp 2018-06-06 08:23:51 +10:00
Alexander Malishev
9e4ec33277 AP_RCProtocol: add error check for ppm input 2018-06-06 08:23:51 +10:00
Andrew Tridgell
7a1f87eb52 HAL_ChibiOS: added cube-orange hwdef 2018-06-06 08:13:38 +10:00
Michael du Breuil
1123023a6f AP_HAL_ChibiOS: Wrap process registration with a semaphore 2018-06-06 07:16:58 +10:00
Michael du Breuil
a832bdfd04 AP_HAL_ChibiOS: fix race condition on analog reading 2018-06-06 07:16:58 +10:00
Michael du Breuil
80d1a1de9a AP_HAL_Linux: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
0f2482f05b AP_HAL_SITL: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
a2dfca2fee AP_HAL_VRBrain: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
a833e93708 AP_HAL_PX4: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
4a9fe1745f AP_ChibiOS: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
b1f2fb96a0 AP_HAL_F4Light: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
dbd852bbb6 AP_HAL_Empty: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
1183ed61fb AP_HAL: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Michael du Breuil
c4a66349ef DataFlash: Remove suspend timer calls, restirct flush() to replay 2018-06-06 07:16:58 +10:00
Andrew Tridgell
1ed6a9d34b HAL_ChibiOS: added MCU tables for STM32F777 2018-06-06 07:15:41 +10:00
Andrew Tridgell
d1caa86e12 HAL_ChibiOS: adjust DMA priorities for fmuv3 2018-06-06 07:15:41 +10:00
Andrew Tridgell
c0e8114f9a AP_BLHeli: removed extra UDID_START define 2018-06-06 07:15:41 +10:00
Andrew Tridgell
c273b23940 HAL_ChibiOS: moved MCU config to python database
this moves the key MCU config variables related to memory to the
python MCU database, allowing the hwdef.dat to be considerably simpler
2018-06-06 07:15:41 +10:00
Andrew Tridgell
f390e35c99 HAL_ChibiOS: use port_disable in reboot
this provides a more reliable way to stop all interrupts
2018-06-06 07:15:41 +10:00
Andrew Tridgell
a1c97d0585 HAL_ChibiOS: disable paranoid checks for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
a945c97ec6 HAL_ChibiOS: fixed 3-way DMA sharing bug
when we have 3 way contention across two DMA streams we could get the
dma_deallocate function called in an object from two places at
once. This adds a mutex that prevents that scenario
2018-06-06 07:15:41 +10:00
Andrew Tridgell
0e09dc75c0 HAL_ChibiOS: flush all memory on chSysHalt()
this makes debugging a lot easier, as gdb can see the values in dcache
2018-06-06 07:15:41 +10:00
Andrew Tridgell
dc2a776985 AP_GPS: fixed fake ublox 3D lock PVT speed accuracy
allows EKF to startup fully with fake GPS lock
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2493cdbcb6 HAL_ChibiOS: switch to new bouncebuffer system
this removes the dma_flush and dma_invalidate methods and uses a
common bouncebuffer system for all CPU types. This enables microSD
support on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
0b1e26a470 HAL_ChibiOS: added bouncebuffer system
this makes our bouncebuffers available for ChibiOS system
drivers. This is needed for SDMMCv1 on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
56ce3f057d HAL_ChibiOS: added DRDY and SDMMC pins for FMUv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
018c9ad40b HAL_ChibiOS: fixed build warnings 2018-06-06 07:15:41 +10:00
Andrew Tridgell
f25b95f287 HAL_ChibiOS: fixed array length in ADC debug code 2018-06-06 07:15:41 +10:00
Andrew Tridgell
fef1b0ffc6 HAL_ChibiOS: fixed I2C flush/invalidate calls 2018-06-06 07:15:41 +10:00
Andrew Tridgell
0fade4eb9e HAL_ChibiOS: make sure the UART bounce buffers are DMA safe 2018-06-06 07:15:41 +10:00
Andrew Tridgell
eec4a12cc2 HAL_ChibiOS: switched to using DTCM memory for DMA
this uses SRAM1 and SRAM2 for main memory, which enables the use of the
data cache for faster operation, and using DTCM for all DMA operations.
2018-06-06 07:15:41 +10:00
Andrew Tridgell
8b1db792ee HAL_ChibiOS: ensure ADC memory is aligned for DMA access 2018-06-06 07:15:41 +10:00
Andrew Tridgell
bb2e7a189f HAL_ChibiOS: added a debug function for showing stack free
this can be enabled when needed to investigate stack space remaining
2018-06-06 07:15:41 +10:00
Andrew Tridgell
010cd71ab6 HAL_ChibiOS: enable CAN on FMUv5
and fixed voltage scaling defaults
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2087354939 HAL_ChibiOS: align buffers to STM32F7 cache lines
this allows for DMA flush and invalidate operations to work on all
dynamically allocated memory
2018-06-06 07:15:41 +10:00
Andrew Tridgell
762e4f9915 HAL_ChibiOS: fixed dma priorities for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
77d95f6744 HAL_ChibiOS: fmuv5 tweaks 2018-06-06 07:15:41 +10:00
Andrew Tridgell
a220220758 HAL_ChibiOS: added comment on IS_DMA_SAFE() 2018-06-06 07:15:41 +10:00
Andrew Tridgell
4d4ea894e8 HAL_ChibiOS: disable i2c device debug code 2018-06-06 07:15:41 +10:00
Andrew Tridgell
edb831653f HAL_ChibiOS: added dma_flush and dma_invalidate operations
these are needed to manage the data cache on the STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
7449e15313 HAL_ChibiOS: disable flash storage option on FMUv5
F7 flash driver not working yet
2018-06-06 07:15:41 +10:00
Andrew Tridgell
b961e12456 HAL_ChibiOS: support having no flash storage option 2018-06-06 07:15:41 +10:00
Andrew Tridgell
2d8748ddce HAL_ChibiOS: enable ADCs and buzzer for fmuv5 2018-06-06 07:15:41 +10:00
Andrew Tridgell
6aab9232ef HAL_ChibiOS: enable aux pwm channels on FMUv5 2018-06-06 07:15:41 +10:00