Commit Graph

19982 Commits

Author SHA1 Message Date
Andrew Tridgell
0de65ca734 AP_Notify: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
a3b283708b AP_IRLock: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
4e769730c9 AP_InertialSensor: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
916b3003e1 AP_HAL_SITL: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
a159b01b26 AP_HAL_Linux: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
d368d95aa7 HAL_ChibiOS: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
9f5a598697 AP_GPS: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
9e7929adf6 AP_Compass: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
71e91c953a AP_BattMonitor: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
097519926d AP_Baro: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
f8741f2e2a AP_Avoidance: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
03fb0b803b AP_Airspeed: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
11ceacfdb6 AP_AHRS: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell
75397c1734 AP_Common: removed old Semaphore.h
now moved to AP_HAL/Semaphores.h
2019-05-15 15:33:48 +10:00
Andrew Tridgell
8f973da4b5 AP_HAL: moved the WITH_SEMAPHORE() logic into AP_HAL
this is needed to allow us to record the location of a blocking
semaphore to track down bugs where we have a semaphore deadlock
2019-05-15 15:33:48 +10:00
Andrew Tridgell
e3c80bf08f HAL_ChibiOS: fixed bootloader build 2019-05-15 15:33:48 +10:00
Andrew Tridgell
d7a0eb42ee HAL_ChibiOS: added logging of watchdog data
log MON msgs in the leadup to a watchdog, and log a WDOG message after
a watchdog reset
2019-05-15 15:33:48 +10:00
Andrew Tridgell
b217771dbf AP_InternalError: persist internal error values 2019-05-15 15:33:48 +10:00
Andrew Tridgell
45d5e7f6d2 AP_HAL: added persistance for internal errors 2019-05-15 15:33:48 +10:00
Andrew Tridgell
49061aae67 AP_Scheduler: use persistent_data for current_task 2019-05-15 15:33:48 +10:00
Andrew Tridgell
0873e54cc0 HAL_SITL: fixed build error 2019-05-15 15:33:48 +10:00
Andrew Tridgell
4b298aa80e AP_HAL: add scheduler state to persistent_data 2019-05-15 15:33:48 +10:00
Andrew Tridgell
9173989e63 AP_Mission: save waypoint number for watchdog reset 2019-05-15 15:33:48 +10:00
Andrew Tridgell
ebf04e70fe AP_InternalError: don't panic on SITL watchdog_reset 2019-05-15 15:33:48 +10:00
Andrew Tridgell
6897cecea2 HAL_SITL: support watchdog reset in SITL
this only works for speedup 1, and does not initialise the physics
models correctly for internal models
2019-05-15 15:33:48 +10:00
Andrew Tridgell
74e56ab8cc AP_AHRS: use new persistent_data interface 2019-05-15 15:33:48 +10:00
Andrew Tridgell
dbfe6b8019 HAL_ChibiOS: implement persistent_data for watchdog
this is a much simpler approach to persistent data
2019-05-15 15:33:48 +10:00
Andrew Tridgell
11c123e4da AP_HAL: added persistent_data structure
this is a much simpler way to save data for a watchdog reset
2019-05-15 15:33:48 +10:00
Tom Pittenger
1f3c3c853f GCS_MAVLink: move heartbeat sending to gcs instead of by vehicles 2019-05-14 10:54:45 -06:00
Peter Barker
0d1b7b90b9 AP_Param: avoid allocating 0 bytes if no defaults
This stopped CUAVv5 from booting.

Also add some protection against having different parsers for the same
file format used for counting parameters and actually using them.
2019-05-14 08:02:54 +10:00
Michael du Breuil
7b7bdd9bf8 AP_BattMonitor: Prevent capacity_remaining_pct from returning a large
value when low
2019-05-13 15:46:38 +10:00
Michael du Breuil
7871040bb6 AP_GPS: Pass an in range value for the param initilizer 2019-05-13 15:46:38 +10:00
Michael du Breuil
1040ca2d5e AP_Landing: Fix shadowing with deepstall
Was breaking clang 8 builds
2019-05-13 15:46:38 +10:00
Peter Barker
77985f509f AP_Follow: correct parameter descriptions 2019-05-13 15:34:01 +10:00
Michael du Breuil
8db8dcd2d2 AP_Scripting: Fix up some warnings
-Remove some non forward declared issues
  -Remove forced min/max values from the enum range check
2019-05-11 18:25:43 -07:00
Michael du Breuil
bd256afee4 AP_Scripting: extract a common argument check helper
Allows an easy additional flag for saving flash space
2019-05-11 18:25:43 -07:00
Michael du Breuil
84c2b18e43 AP_Scripting: Support enum types, add millis() remove manual GCS wrapper
This introduces enum types for range checking/returns, adds a millis(() call
(this returns a uint32_t), and moves over to an auto generated version of the GCS binding
2019-05-11 18:25:43 -07:00
Michael du Breuil
eddf926433 AP_Scripting: Add support for semaphore protection around singletons
This makes the assumption that the semaphore is available via reference, not pointer
For a singleton object this seems like a reasonable API restriction
2019-05-11 18:25:43 -07:00
Andrew Tridgell
6333494d99 HAL_ChibiOS: disable peripheral power on boot on fmuv3
then enable after 100ms, and let settle for 20ms. This is to fix an
issue with peripheral power on consistency with all fmuv3 boards

Thanks to Philip for the suggestion
2019-05-11 18:45:18 +10:00
Randy Mackay
0a5d6a430a AP_NavEKF3: accept optical flow data at up to 50hz 2019-05-11 16:23:57 +09:00
Randy Mackay
e19d638c0f AP_NavEKF2: support higher optical flow updates rates 2019-05-11 16:23:57 +09:00
Randy Mackay
5c99f02c15 AP_LandingGear: minor format fix 2019-05-11 08:49:40 +09:00
Tom Pittenger
fc710d8a81 RC_Channel: remove UINT16_MAX check, moved to mavlink handler 2019-05-10 15:30:54 -07:00
Tom Pittenger
4c641c6e2b GCS_MAVLink: comply with mavlink spec to ignore rc_override UINT16_MAX 2019-05-10 15:30:54 -07:00
Andrew Tridgell
ce9e9d8670 HAL_ChibiOS: end scheduler boost on expected delay
we want timer thread to be higher priority than main thread while in a
long operation
2019-05-11 05:56:34 +10:00
Rajat Singhal
2c519d5176 SITL: Fix to sync to JSBSim simulation time
SITL: Additional fix to remove time-lag in JSBSim
2019-05-10 17:12:52 +10:00
Rajat Singhal
dedb7e108f SITL: Added <time> tag to JSBSim output directive
Instructs JSBSim to transmit current simulation time which is used to sync with Ardupilot
2019-05-10 17:12:52 +10:00
Rajat Singhal
2317e73e0b SITL: JSBSim: Use rate_hz to specify timestep 2019-05-10 17:12:52 +10:00
Rajat Singhal
732f2e7a2e SITL: Change JSBSim mode to Batch mode, specify nice sleeptime
Previously it was run in realtime mode which doesn't support iterate command. Without setting sleeptime, defaults to 0.01s which slows down a lot
2019-05-10 17:12:52 +10:00
Phillip Kocmoud
069d054e5c AP_Baro.cpp: support DPS280 on SPI 2019-05-10 15:05:42 +10:00
Phillip Kocmoud
1f827004be AP_Compass: Enable AK09916 inside the ICM20948 2019-05-10 15:05:42 +10:00
Phillip Kocmoud
6665e4c0a7 AP_InertialSensor: probe IMUs for mRoControlZeroF7 2019-05-10 15:05:42 +10:00
Phillip Kocmoud
a24bbe0b13 AP_Baro: support DPS280 on SPI 2019-05-10 15:05:42 +10:00
Phillip Kocmoud
db57b6c4f3 AP_HAL: added DPS280 on SPI / added board type for mRoControlZeroF7 2019-05-10 15:05:42 +10:00
Phillip Kocmoud
16f1ec8ce2 HAL_ChibiOS: added missing AF functions for F777 2019-05-10 15:05:42 +10:00
Phillip Kocmoud
9709401595 HAL_ChibiOS: added hwdef for mRoControlZeroF7 2019-05-10 15:05:42 +10:00
Andrew Tridgell
893b49d145 AP_InertialSensor: disable register checking in invensensev2 driver
register checking doesn't work for the banked registers used in the
invensensev2 register layout. It ends up setting the wrong register
value in some cases, which can either cause the sensor to stop working
or in the worst case give bad data
2019-05-10 14:55:39 +10:00
Randy Mackay
b0f0b16135 AR_WPNav: remove unnecessary temp variable
also heading-unknown made a const
also minor comment fix
also removed unused include
2019-05-10 06:55:35 +09:00
Peter Barker
6f97f56726 AR_WPNav: add WARN_IF_UNUSED to various methods, fix for same 2019-05-10 06:55:35 +09:00
Randy Mackay
56c344ae94 AR_WPNav: rover navigation library 2019-05-10 06:55:35 +09:00
Randy Mackay
4e68d16526 AR_AttitudeControl: use speed_control_active in get_desired_speed_accel_limited
also minor formatting fixes
this is a non-functional change
2019-05-10 06:55:35 +09:00
Randy Mackay
6d4d1bc20a AR_AttitudeControl: add get_turn_rate_from_heading 2019-05-10 06:55:35 +09:00
Randy Mackay
8907b727f6 AR_AttitudeControl: add get_turn_rate_from_lat_accel 2019-05-10 06:55:35 +09:00
Peter Barker
dd62489f5e AC_PrecLand: stop ignoring return values on methods 2019-05-09 13:03:49 +10:00
Peter Barker
71d16557fa AP_Common: Location: add WARN_IF_UNUSED to boolean methods 2019-05-09 13:03:49 +10:00
Randy Mackay
b668c6f855 AC_Circle: improve target heading 2019-05-07 13:54:31 +09:00
Peter Barker
0c24810a48 AP_AHRS: fix example 2019-05-07 13:52:40 +09:00
Peter Hall
a0d8c04f3e AC_AutoTune: add public reset method 2019-05-07 09:23:50 +10:00
Andrew Tridgell
e4f6ffe719 AP_NavEKF3: fixed bug in EKF lane selection
this fixes an issue in selecting the best lane to change to when we
have 3 or more EKF cores. The bug is that if the current lane is
unhealthy it would always choose the last healthy lane instead of
choosing the lane with the lowest score
2019-05-07 06:59:50 +10:00
Andrew Tridgell
cc62998d40 AP_NavEKF2: fixed bug in EKF lane selection
this fixes an issue in selecting the best lane to change to when we
have 3 or more EKF cores. The bug is that if the current lane is
unhealthy it would always choose the last healthy lane instead of
choosing the lane with the lowest score
2019-05-07 06:59:50 +10:00
Peter Hall
505e1d8c1d APM_Control: AP_RollContorller: move rate limit 2019-05-06 19:16:26 +10:00
Andrew Tridgell
2b0a30a2c5 HAL_ChibiOS: ensure we don't overflow bootloader area
this modifies the ld script to use the maximum size available for the
bootloader, so we can't accidentially grow the bootloader beyond its
max size
2019-05-06 12:36:41 +10:00
Michael du Breuil
85da4955b6 AP_Rangefinder: Enforce checking I2C status on VL53L1X 2019-05-05 12:12:05 -07:00
Randy Mackay
415042e557 AR_AttitudeControl: minor declaration ordering change 2019-05-04 14:49:32 +09:00
Randy Mackay
f6f5967a82 AR_AttitudeControl: minor param desc fix 2019-05-04 14:49:26 +09:00
Tom Pittenger
fbe43dba5c RC_Channel: refactor stick_mixing to library 2019-05-03 13:14:11 -07:00
Andrew Tridgell
11021bbaa9 HAL_ChibiOS: fixed LEDs on new CUAVv5 revision 2019-05-03 16:32:00 +10:00
Andrew Tridgell
8d2f016cc8 HAL_ChibiOS: fixed LEDs on CUAVv5Nano
need to be opendrain
2019-05-03 16:32:00 +10:00
Andrew Tridgell
0e28f66761 AP_Notify: don't use pinMode for pixracer LEDs
this is needed for LEDs that are driven by 5V, which means they need
to use OPENDRAIN.
2019-05-03 16:32:00 +10:00
Peter Hall
26a6cccf21 AP_HAL_ChibiOS: KakuteF7 add two PWM pin options 2019-05-03 14:47:00 +10:00
Andrew Tridgell
ef5f83d0b5 AP_IOMCU: remove 2s delay on boot and skip crc check on watchdog
thanks to @Jaaaky for the suggestion in #11232
2019-05-03 13:44:56 +10:00
Jaaaky
6ed8b2aad9 AP_Baro: Fix not healthy by watchdog reset 2019-05-03 10:42:43 +10:00
Andrew Tridgell
4deb2c38f6 HAL_ChibiOS: fixed brick2 valid status in POWR flags for fmuv5
and fixed sense of VBUS
2019-05-03 10:32:41 +10:00
Jaaaky
971e3af826 GCS_MAVLink: prgama away address-of-packed-member only for g++ >= 9 2019-05-03 01:57:26 +10:00
Andrew Tridgell
48aacb9462 HAL_Linux: removed use of RCInput_SBUS and RCInput_115200 2019-05-02 17:58:51 +10:00
Andrew Tridgell
1c322d296f HAL_Linux: switch Disco to using AP_RCProtocol library for RCIN
this is the first step to using AP_RCProtocol for most (or all) RC
input on Linux boards. It also fixes a major bug on Disco where the
old SBUS decoder didn't use strict enough timing checks to filter out
bad frames when video capture is running. That led to erratic flight
mode changes and sometimes loss of control.
2019-05-02 17:58:51 +10:00
Lucas De Marchi
5520b397c2 AP_HAL_Linux: allow disco to use RCInput_UDP
This allows to use any device to send RCInput to Disco via network.
Particularly this is useful when paired to additional changes on
SkyController 2 so it can be used to control Ardupilot.

This was tested with https://github.com/lucasdemarchi/dema-rc running
on SkyController 2.
2019-05-02 16:14:17 +10:00
Peter Barker
9273ac3631 GCS_MAVLink: pragma away address-of-packed-member
g++-9 throws a lot of warnings for taking addresses of packed members.
We can have this warning for our ArduPilot code, but there's way too
many issues within MAVLink to put up with.
2019-05-01 19:36:49 -07:00
Peter Barker
900d9f71f6 AP_HAL_SITL: stop taking address of packed members 2019-05-01 19:36:49 -07:00
Pierre Kancir
427a88a1fe AP_Compass: fix AP_Compass_test 2019-05-01 14:17:34 -07:00
Pierre Kancir
ff5cedc49f AP_AHRS: add missing include 2019-05-01 14:17:34 -07:00
Pierre Kancir
deb6aafcbe AP_GPS: fix GPS_AUTO_test 2019-05-01 14:17:34 -07:00
Jaaaky
464540ab56 AP_HAL_ChibiOS: tune delay for flashing bootloader
As the function can internally loop for 10 seconds
2019-05-01 14:23:20 +10:00
Jaaaky
47c65314fb AP_InertialSensor: fix accelcalsimple watchdog 2019-05-01 14:23:20 +10:00
Peter Barker
a0c80a0b3b GCS_MAVLink: make send_text and send_textv const 2019-05-01 10:18:46 +10:00
Andrew Tridgell
f48d07ffca HAL_ChibiOS: added WARN_IF_UNUSED based on PR feedback 2019-04-30 10:16:38 +10:00
Andrew Tridgell
ce9b75fdf0 HAL_ChibiOS: added timeouts on all SPI transfers
this is never expected to trigger unless we have a severe MCU error as
SPI transfers don't rely on a response from a device.

The only case that we could get a timeout is when a bug leads to use
doing transfers from memory that does not support the DMA
transaction (such as on H7). This change turns that from a immediately
fatal lockup into a bus error and failed sensor
2019-04-30 10:16:38 +10:00
Andrew Tridgell
8e1f100d98 AP_InternalError: added spi timeout error 2019-04-30 10:16:38 +10:00
Vinicius Knabben
040fa3e10a AP_Parachute: Added time check for sink rate to avoid glitches
Signed-off-by: Vinicius Knabben <viniciusknabben@hotmail.com>
2019-04-30 10:04:58 +10:00
Vinicius Knabben
c710002bc9 AP_Parachute: Added parachute release at critical sink rate
Signed-off-by: Vinicius Knabben <viniciusknabben@hotmail.com>
2019-04-30 10:04:58 +10:00