Commit Graph

20092 Commits

Author SHA1 Message Date
Stone white 8b7b5f0db9 AP_OpticalFlow: Make PX4FLOW work on all external I2C buses 2019-05-21 09:44:26 +10:00
Francisco Ferreira 869a369cc0 AP_AHRS: support NMEA output 2019-05-21 09:41:15 +10:00
Francisco Ferreira e06556a677 AP_SerialManager: support NMEA output 2019-05-21 09:41:15 +10:00
Francisco Ferreira 80093f41b0 AP_NMEA_Output: new library for writing NMEA to serial ports 2019-05-21 09:41:15 +10:00
Francisco Ferreira 0e33907cf7 AP_HAL_SITL: change NMEA output to use new macro 2019-05-21 09:41:15 +10:00
Francisco Ferreira 6e95a144ef AP_Math: add macro for m/s to knots convertion 2019-05-21 09:41:15 +10:00
Peter Barker 32a6f0026a AP_OSD: add mutex against maniplating sf windows from different threads 2019-05-21 09:21:56 +10:00
Peter Barker 02e34c95c9 AP_Notify: add mutex against maniplating sf windows from different threads 2019-05-21 09:21:56 +10:00
Peter Barker 2fa1f041e3 AP_Notify: add SITL RGBLed 2019-05-21 09:21:56 +10:00
murata 9ed38eaf7b AP_OpticalFlow: Change to collected CRC header 2019-05-21 09:19:19 +10:00
murata c6bcb1d54c AP_Math: Collect CRC16 into CRC file
AP_Math: Collect CRC16 into CRC file
2019-05-21 09:19:19 +10:00
Patrick José Pereira dc238946b0 AP_ROMFS: Add missing header guard
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-05-20 23:50:23 +01:00
Patrick José Pereira b54399b9a7 AP_ICEngine: Add missing header guard
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-05-20 23:50:23 +01:00
Patrick José Pereira fe3d4e2c3b AP_HAL: Utility: Add missing header guard in packetise
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-05-20 23:50:23 +01:00
Patrick José Pereira c4825a6d02 AP_Button: Add missing header guard
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-05-20 23:50:23 +01:00
Jaaaky f21e4d833c AP_NavEKF3: Fix GPS < 3D empty PreArm: msg-as EKF2 2019-05-20 16:57:57 +10:00
Andrew Tridgell 4888583e17 AP_Scheduler: use task -3 for wait_for_sample() 2019-05-17 09:00:22 +10:00
Andrew Tridgell e801821f0c AP_Scheduler: log SPI and I2C counters in PM msg 2019-05-17 08:56:06 +10:00
Andrew Tridgell 6b1374e55c AP_Logger: log SPI and I2C counters in PM msg 2019-05-17 08:56:06 +10:00
Andrew Tridgell 59678840a8 HAL_ChibiOS: log SPI and I2C counters 2019-05-17 08:56:06 +10:00
Andrew Tridgell e64c5ef354 AP_HAL: added SPI and I2C counters 2019-05-17 08:56:06 +10:00
Andrew Tridgell e2d863498b GCS_MAVLink: clear last msgs when done
this makes MON and WDOG logs clearer
2019-05-17 08:56:06 +10:00
Peter Barker 0a3fe32209 AP_HAL_SITL: log watchdog reset 2019-05-16 17:21:24 +10:00
Peter Barker f5190d1bcc AP_HAL_ChibiOS: use logger().WriteCritical(...) for WDOG message 2019-05-16 17:21:24 +10:00
Peter Barker 0225b6817a AP_Logger: examples: add test for Write and WriteCritical 2019-05-16 17:21:24 +10:00
Peter Barker 54eff7eafc AP_Logger: add WriteCritical method to AP::logger()
For callers who emphatically want their custom messages to be written out.
2019-05-16 17:21:24 +10:00
Andrew Tridgell 2fc95f88ae AP_Notify: fixed handling of mavlink LED override 2019-05-16 15:17:37 +10:00
Peter Barker 9dc4e17564 AP_LeakDetector: add missing override keywords 2019-05-15 21:05:20 +10:00
Peter Barker 93c33fda1d RangeFinder: correct bad include of old semaphore library 2019-05-15 19:34:31 +09:00
Peter Barker 18999aab72 AP_OpticalFlow: correct bad include of old semaphore library 2019-05-15 19:34:31 +09:00
Siddharth Purohit 479c238177 RangeFinder: add support for rangefinder sensor over can 2019-05-15 16:01:53 +09:00
Siddharth Purohit e866a574dd AP_UAVCAN:add hex flow sensor message 2019-05-15 16:01:53 +09:00
Siddharth Purohit c4360264cf AP_UAVCAN: add support for hereflow and range sensor message over can 2019-05-15 16:01:53 +09:00
Siddharth Purohit 67fcd773a6 OpticalFlow: add support for HereFlow message over can 2019-05-15 16:01:53 +09:00
Andrew Tridgell 0708b65c2d AP_HAL_ChibiOS: added const for PersistentData 2019-05-15 15:33:48 +10:00
Andrew Tridgell 670015b30e AP_AHRS: added const for PersistentData 2019-05-15 15:33:48 +10:00
Andrew Tridgell ba9b92c4af AP_Compass: rename to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell 6fa69c2297 AP_Logger: rename to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell 3823ba539c AP_InertialSensor: rename to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell 48302427c7 HAL_ChibiOS: rename to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell 911a99b79e AP_HAL: removed hal argument to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell f8bcdf9d3a HAL_SITL: fixed cygwin build error 2019-05-15 15:33:48 +10:00
Andrew Tridgell 85ce10adfd AP_Math: fixed test build 2019-05-15 15:33:48 +10:00
Andrew Tridgell c1b201d051 HAL_SITL: fixed comment typo 2019-05-15 15:33:48 +10:00
Andrew Tridgell d2c9db3f1f AP_FlashStorage: fixed build error with -O0 2019-05-15 15:33:48 +10:00
Andrew Tridgell a7eb85e1c5 HAL_ChibiOS: cope with nesting of expected_delay_ms() 2019-05-15 15:33:48 +10:00
Andrew Tridgell 64c723fd31 GCS_MAVLink: record mavlink msg IDs for watchdog 2019-05-15 15:33:48 +10:00
Andrew Tridgell 8d0bca6ba9 HAL_ChibiOS: log mavlink IDs and semaphore lines for watchdog
this gives a better chance of tracking down a hang
2019-05-15 15:33:48 +10:00
Andrew Tridgell c786674442 AP_HAL: record mavlink msg IDs and semaphore line 2019-05-15 15:33:48 +10:00
Andrew Tridgell 4cdfe6bac3 AP_Logger: use EXPECT_DELAY() macro 2019-05-15 15:33:48 +10:00
Andrew Tridgell 02326ac52c AP_InertialSensor: use EXPECT_DELAY() macro 2019-05-15 15:33:48 +10:00
Andrew Tridgell 1b8cbfc6a4 HAL_ChibiOS: use EXPECT_DELAY() macro 2019-05-15 15:33:48 +10:00
Andrew Tridgell ecc6f15dc0 AP_Compass: use EXPECT_DELAY() macro 2019-05-15 15:33:48 +10:00
Andrew Tridgell b1ed77bee9 AP_HAL: added EXPECT_DELAY() macro
this prevents nesting errors in use of EXPECT_DELAY(), ensuring we
always close the expected delay
2019-05-15 15:33:48 +10:00
Andrew Tridgell 3772f58be9 GCS_MAVLink: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell 1443f0c3f9 AP_UAVCAN: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell 24636aeb45 AP_ToshibaCAN: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell 09792d3056 AP_RangeFinder: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell 37936a125f AP_RAMTRON: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
Andrew Tridgell b3b59c7298 AP_OSD: removed unusued AP_Common/Semaphore.h 2019-05-15 15:33:48 +10:00
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