Commit Graph

25441 Commits

Author SHA1 Message Date
Hugo Trippaers
44902ef535 AP_Mount: Add parameter to control relative pan option for servo mounts
* Change from a dedicated parameter to a reusable options field
2021-03-03 18:55:38 +11:00
Hugo Trippaers
bcee4b7b82 AP_Mount: Add parameter to control relative pan option for servo mounts 2021-03-03 18:55:38 +11:00
Pierre Kancir
2953aa3748 AP_NMEA: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
77367c1376 AP_AHRS: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
8b1d35bc76 AP_Module: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
67540dc5bb AP_InertialSensor: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
ce34ce6def AP_Baro: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
aaf7504ac8 AP_Module: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
c8a7ab1a75 AP_InertialSensor: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
f2570d49a1 AP_Scheduler: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
1082a799c2 AP_Compass: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
95d0c67a99 AP_Baro: fix example 2021-03-03 18:07:38 +11:00
Samuel Tabor
fb8ec292cd AP_TECS: Clarify TECS_THR_DAMP and TECS_LAND_TDAMP descriptions. 2021-03-03 18:05:22 +11:00
Andy Piper
d6575fb6ad AP_HAL_ChibiOS: bdshot configs for CubeYellow and mRoControlZeroH7 2021-03-03 18:02:26 +11:00
Michael du Breuil
f227d67d58 AP_GPS: Remove unused enum 2021-03-03 10:00:15 +09:00
Randy Mackay
79c9b4b523 AC_WPNav: increase default speed to 10m/s and accel to 2.5m/s/s 2021-03-03 08:03:39 +09:00
murata
3824277d11 AC_Fence: Add Smart RTL or LAND to the fence action 2021-03-03 07:59:03 +09:00
Peter Barker
a97786c01d RC_Channel: use RC channel options 203 and 204 for throttle and yaw
This gives us a 200 + n mapping for the traditional AETR mapping.

Unfortunately, it will break walking robots until they update their
parameters
2021-03-03 08:42:00 +11:00
Peter Barker
7480a2a00b GCS_MAVLink: correct output of AHRS2 mavlink message
The || here was causing short-circuiting
2021-03-02 20:48:36 +11:00
Peter Barker
03bb3237ef SITL: set default RPM_TYPE to 10 for FlightAxis 2021-03-02 15:41:44 +11:00
Peter Barker
4d2cf8c95b AP_Frsky_SPort: correct handling of RPM sensor data
Nails support down to just two RPM sensors for the time being.

Simplifies things (there was an issue here when I corrected RPM-in-SITL)
2021-03-02 15:41:44 +11:00
Peter Barker
370db00096 AP_RPM: add explicit RPM_TYPE_SITL
Old behaviour is that anything that wasn't claimed (or failed to
allocate) would become a SITL RPM sensor.  This meant we always had at
least one RPM sensor which was allocated but never provided valid data.

New behaviour is that if you want a SITL RPM sensor you have to set type
to 10.
2021-03-02 15:41:44 +11:00
Peter Barker
c059338386 AP_Frsky_Telem: use location from AHRS not GPS
The AHRS may be able to supply information even in the absense of an
actual GPS unit.
2021-03-02 15:41:44 +11:00
Andrew Tridgell
4fbdb59398 HAL_ChibiOS: prevent sharing the same DMA stream on TIMn_UP channels
this avoids an issue with DShot where we run the same DMA stream on
two timers at once
2021-03-02 11:58:38 +11:00
Andy Piper
6cb263056d AP_HAL_ChibiOS: build fix for iomcu 2021-03-02 11:58:38 +11:00
Andy Piper
d0e4d510cf AP_HAL_ChibiOS: order PWM timers by DMA UP stream id to prevent deadlocks in dshot 2021-03-02 11:58:38 +11:00
Iampete1
e64a7b2884 AP_Mount: type enable flag 2021-03-02 10:09:19 +11:00
Iampete1
3306484023 AP_NavEKF2: log position offset as float in meters 2021-03-02 10:03:12 +11:00
Iampete1
8173cd442a AP_NavEKF3 log position offset as float in meters 2021-03-02 10:03:12 +11:00
Paul Riseborough
0971ef55a4 AP_NavEKF3: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Paul Riseborough
948650dbe5 AP_NavEKF2: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Andrew Tridgell
e884e4c5ac AP_Math: added fixedwing_turn_rate() helper 2021-02-27 14:42:20 +11:00
Yash Vadi
b450740fb0 AP_Button: update BTN_FUNCx param descriptions 2021-02-26 12:30:13 +11:00
Andrew Tridgell
35149ae8b2 AP_Scripting: allow scripting startup with no sdcard
as scripts can be in ROMFS we should still create the thread without
the scripts directory
2021-02-25 11:34:39 -07:00
Peter Barker
9932aa99f7 GCS_MAVlink: return identical seq in MISSION_CURRENT if possible after set
// because MISSION_SET_CURRENT is a message not a command,
        // there is not ACK associated with us successfully changing
        // our waypoint.  Some GCSs use the fact we return exactly the
        // same mission sequence number in this packet as an ACK - so
        // if they send a MISSION_SET_CURRENT with seq number of 4
        // then they expect to receive a MISSION_CURRENT message with
        // exactly that sequence number in it, even if ArduPilot never
        // actually holds that as a sequence number (e.g. packet.seq==0).
2021-02-24 19:00:34 +11:00
Andrew Tridgell
14791c335b HAL_ChibiOS: fixed build of f3 boards without PWM out 2021-02-24 18:25:02 +11:00
Andrew Tridgell
9d87645c6e AP_IOMCU: fixed event handling bug in IOMCU code
if a a message send fails to IOMCU then we were discarding all
currently pending non-recurring events. This means that states like
oneshot enable would be lost if the IOMCU reset.

We now re-trigger all events that have not yet been handled
2021-02-24 18:21:08 +11:00
Andrew Tridgell
9126579b77 AP_IOMCU: added memory to debug code 2021-02-24 18:21:08 +11:00
Andrew Tridgell
243cf2199d HAL_ChibiOS: disable shared DMA on IOMCU
this saves about 600 bytes of ram
2021-02-24 18:21:08 +11:00
Andrew Tridgell
bf999f701f AP_InertialSensor: fixed ICM-20602 y offset bug
this works around a bug in the ICM-20602 that can cause the Y facttory
offset register to change unexpectedly. We don't know what triggers
this.

The fix is to save the factory offset at boot and restore it if it
changes. We log a message describing the change, but don't mark the
IMU unhealthy as this happens too often and we don't want to fallback
to a 2nd less good quality IMU (eg. MPU6000 on MatekH743)
2021-02-24 18:18:37 +11:00
Andrew Tridgell
4cddf37984 AP_InertialSensor: log unexpected register changes
when the register checking code finds an error we will log what
register changed and to what value
2021-02-24 18:18:37 +11:00
Andrew Tridgell
c23f61b79a HAL_ChibiOS: set internal error on panic 2021-02-24 18:18:37 +11:00
Andrew Tridgell
f250c4d684 AP_InertialSensor: added an internal error for panic
ensure users cannot arm while in a panic
2021-02-24 18:18:37 +11:00
Andrew Tridgell
7010eae9e8 AP_HAL: remember details of register check fails
this allows for logging of register resets
2021-02-24 18:18:37 +11:00
Andrew Tridgell
85ef6b7ac6 AP_InertialSensor: added optional logging of register changes 2021-02-24 18:18:37 +11:00
Andrew Tridgell
eec05c1f48 HAL_ChibiOS: fixed a race and null ptr deref in dshot
if a dshot is cancelled then the waiter can be nullptr
2021-02-24 15:39:10 +11:00
murata
dee040b14a AP_Notify: Change division to multiplication 2021-02-24 11:06:54 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
48ab08fb67 AP_ESC_Telem: Fix copy & paste typo 2021-02-24 12:49:05 +11:00
Andy Piper
b102391163 AP_HAL_ChibiOS: don't send rcout events without rcout thread 2021-02-24 08:55:12 +11:00
Andrew Tridgell
f7098c1635 AP_ROMFS: added crc check in ROMFS decompression 2021-02-23 20:20:07 +11:00
Andrew Tridgell
1c74f14162 AP_ROMFS: fixed range check in tinflate
this could cause valid compressed data to fail decompression
2021-02-23 20:20:07 +11:00
Sebastian Quilter
b4119aa07b AP_OSD: remove font bins from gitignore 2021-02-23 15:22:22 +11:00
Sebastian Quilter
bea8bf3afb AP_OSD: Add draw_vtx_power() 2021-02-23 15:22:22 +11:00
Sebastian Quilter
e44eb47143 AP_OSD: Update fonts to include mW char 2021-02-23 15:22:22 +11:00
Peter Barker
a3dcf5a6ff AP_NavEKF: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
65b780fad5 AP_NavEKF3: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
d668243d1e AP_NavEKF2: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
a17a8faf42 AP_Logger: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
cfe9dc32d1 GCS_MAVLink: only send distance_sensor messages if valid data seen
In the case you only have a forward-pointing LIDAR we'd send messages
for each of the other orientations from proximty's horizontal-distances
array, chewing up bandwidth and processing time.
2021-02-23 10:02:47 +09:00
Peter Barker
9a66a1564c AP_Proximity: only send distance_sensor messages if valid data seen
In the case you only have a forward-pointing LIDAR we'd send messages
for each of the other orientations from proximty's horizontal-distances
array, chewing up bandwidth and processing time.
2021-02-23 10:02:47 +09:00
Andy Piper
fcd35ba0f8 AP_Vehicle: move AP_Vehicle to AP_Vehicle 2021-02-23 11:43:32 +11:00
Andy Piper
8df8898464 RC_Channel: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
7039d67474 AP_VideoTX: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
74318dd0dd AP_Vehicle: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
dd310fd12f AP_RCProtocol: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
d97079e53b AP_RCTelemetry: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Peter Barker
c5e62eb6e4 GCS_MAVLink: schedule current waypoint rather than immediate send
This message may not fit in our outgoing buffer
2021-02-23 11:27:22 +11:00
Patrick José Pereira
0e76006dc5 SRV_Channel: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
300a14aaae SITL: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
ba2adac869 GCS_MAVLink: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
3b0dac3198 AP_NavEKF3: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
4f81aa82e2 AP_LeakDetector: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
d749fce378 AP_LandingGear: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
1038581bcb AP_HAL_SITL: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Patrick José Pereira
9965cbb79a AP_Generator: Simplify boolean expression
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Peter Barker
a0172fd2ca AC_Fence: emit a FENCE_STATUS message if we newly-breach the fences
This should resolve a problem in autotest where we don't detect the
fence as being breached as ArduPilot never announces the fact it has
breached - it just changes mode to RTL but the interval on the
FENCE_STATUS message never aligns with the time the vehicle is breached.
2021-02-23 08:28:02 +09:00
Mirko Denecke
edc2b0c94e AP_HAL_ChibiOS: fix copy and paste typo 2021-02-23 08:15:50 +09:00
Andrew Tridgell
17031707e3 AP_Scripting: added pcall example
this shows how to catch errors in scripts to make them robust against
runtime errors
2021-02-23 09:59:37 +11:00
Paul Riseborough
342e6b35fa AP_NavEKF3: Fix use of incorrect ballistic coefficient parameter 2021-02-22 13:21:03 +09:00
Paul Riseborough
7370cd9f00 AP_NavEKF3: Fix typo and update parameter description 2021-02-22 13:21:03 +09:00
Randy Mackay
0c9559db6d AP_Motors: fixup octaquad CW_X motor directions 2021-02-22 11:00:44 +09:00
Peter Barker
1afa0a7ff2 GCS_MAVLink: remove unused member
and a bogus comment
2021-02-20 21:48:25 +11:00
Andrew Tridgell
7af20e9ea3 HAL_ChibiOS: increase H7 serial buffer sizes
this takes better advantage of the new UART code. Log download over
USB gets to 730 kbyte/s. For comparison, with the 4.0 code on the same
H7 we get about 300 kbyte/s
2021-02-20 20:49:45 +11:00
Andrew Tridgell
3b88a3273b HAL_ChibiOS: adjust up uart tx stack size
lowest was showing 80 bytes free, which is too close to the 64 byte
level where we trigger an internal error
2021-02-20 14:37:11 +11:00
Andrew Tridgell
5e0f175223 HAL_ChibiOS: adjust UART buffer sizes for new UART code
this gains about 20k of RAM, and has almost no impact on log download
speed at 921600 on a F427. The improved threading means we can afford
to have smaller buffers
2021-02-20 14:37:11 +11:00
Andy Piper
4e61ba2dc8 AP_HAL_ChibiOS: reduce stack sizes for rcout, uart_rx and storage. 2021-02-20 14:37:11 +11:00
Andy Piper
94de238751 AP_HAL_ChibiOS: disable RCOUT thread on iomcu and rebuild iomcu. 2021-02-20 14:37:11 +11:00
Andy Piper
f9c5f9be00 AP_HAL_ChibiOS: make dshot DMA unlock event driven in order to allow unlocking from rcout thread
refactor rcout into separate thread and process all dshot requests there
move uart DMA completion to event model
process dshot locks in strick reverse order when unlocking
convert Shared_DMA to use mutexes
move UART transmit to a thread-per-uart
do blocking UART DMA transactions
do blocking dshot DMA transactions
trim stack sizes
cancel dma transactions on dshot when timeout occurs
support contention stats on blocking locking
move thread supression into chibios_hwdef.py
invalidate DMA bounce buffer correctly
separate UART initialisation into two halves
cleanup UART transaction timeouts
add @SYS/uarts.txt
move half-duplex handling to TX thread
correct thread statistics after use of ExpandingString
set unbuffered TX thread priority owner + 1
correctly unlock serial_led_send()
don't share IMU RX on KakuteF7Mini
observe dshot pulse time more accurately.
set TRBUFF bit for UART DMA transfers
deal with UART DMA timeouts correctly
don't deadlock on reverse ordered DMA locks
change PORT_INT_REQUIRED_STACK to 128
2021-02-20 14:37:11 +11:00
Andy Piper
c388fd9214 AP_Filesystem: add @SYS/uarts.txt 2021-02-20 14:37:11 +11:00
Andy Piper
a07b238c7d AP_HAL: add PRIORITY_RCOUT
don't allow UART copies
add @SYS/uarts.txt
2021-02-20 14:37:11 +11:00
Iampete1
bf7920f2d7 AP_Scripting: use helper for not supported error saving 1K of flash 2021-02-18 15:12:58 -07:00
Leonard Hall
f0f87be06d AC_PID: AC_PI_2D format changes 2021-02-18 12:59:39 +09:00
mateksys
7eb4e9b370 AP_Periph: set PORT defaults for F405-MatekGPS 2021-02-18 11:51:50 +11:00
mateksys
97c2b7228e AP_Periph: Matek F303 and F405 AP_Periph use DSP310 baro 2021-02-18 11:51:50 +11:00
Tom Pittenger
8019cc160a AP_ICEngine: make it obvious that update_idle_gov does nothing if disabled 2021-02-18 09:45:30 +11:00
Peter Barker
f124cf0991 AP_Hott_Telem: use GPS single-char representation of fix type 2021-02-18 08:59:23 +11:00
Peter Barker
9da9d8c94b AP_GPS: provide method for getting single char representing fix type
Should allow us to be consistent across places in the code base that
need a compact representation for a user display.
2021-02-18 08:59:23 +11:00
Leonard Hall
e788d63686 AC_AttitudeControl: clear up comment for inertial_frame_reset 2021-02-17 21:19:18 +09:00
Andy Piper
4c2cbdab8d AP_HAL_ChibiOS: only setup half-duplex for receive when transmit is fully over 2021-02-17 20:09:48 +11:00
Andy Piper
5c32007cdf AP_HAL_ChibiOS: ensure stop bits can be set before UART begin 2021-02-17 20:09:48 +11:00