Andrew Tridgell
d59caa95ad
AP_Logger: avoid all opens of log files in main thread
...
this fixes a problem with sdcards where file open is very slow. It can
trigger a watchdog if it is slow enough. Peter and I hit this issue on
a pixracer today with a new sd card
2022-01-31 19:41:01 +09:00
Andrew Tridgell
f21e00a3ef
AP_RCProtocol: raise SBUS frame gap
...
cope with UART input for newer SBUS receivers
2022-01-31 19:41:01 +09:00
Andrew Tridgell
da52e6fb74
AP_GPS: drop default GPS lag to 0.1s
...
this impacts UAVCAN GPS modules, which these days usually have at
least u-blox M8
2022-01-31 19:41:01 +09:00
Andrew Tridgell
4f6fe3389e
AP_Filesystem: fixed a param ftp bug
...
if param count changes we need to zero the file size
2022-01-31 19:41:01 +09:00
Andrew Tridgell
288f4bfbb4
AP_NavEKF3: fixed gaps in EKF logging
...
timestamps should not be static as otherwise some lanes will not be
logged
2022-01-31 19:41:01 +09:00
Andrew Tridgell
b1da3467c4
AP_BattMonitor: fixed a segv with BATT_MONITOR=14
...
this causes a hang on boot on some boards
2022-01-31 19:41:01 +09:00
Mingchen Zhang
a17bbe2dfd
AP_SmartAudio: fix a bug that would starve the lower priority thread, such as scripting.
2021-12-22 10:03:29 +09:00
Andrew Tridgell
96793c43c7
AC_AutoTune: limit autotune target rates to parameter limits
...
this makes it safer to autotune a large vehicle which may become
unstable at very high target rates
2021-12-22 10:03:29 +09:00
Andrew Tridgell
ad7caa39c3
AC_AttitudeControl: added get_ang_vel_yaw_max_rads()
2021-12-22 10:03:29 +09:00
Andrew Tridgell
4555b4dd81
AP_NavEKF3: Add missing covariance row reset
2021-12-22 10:03:29 +09:00
Andrew Tridgell
4a180f1f32
AP_InertialSensor: added support for IIM-42652 and ICM-40605 sensors
...
handle new Invensense v3 sensor types
2021-12-22 10:03:29 +09:00
Andrew Tridgell
7e543d7643
AP_InertialSensor: added support for ICM-20608-D sensor
2021-12-22 10:03:29 +09:00
Andrew Tridgell
02f671f33a
AP_RCTelemetry: use have_serial when detecting
...
avoid find_serial() as it changes port options
2021-12-22 10:03:29 +09:00
Andrew Tridgell
f32bdbf6d6
AP_RangeFinder: use have_serial when detecting
...
avoid find_serial() as it changes port options
2021-12-22 10:03:29 +09:00
Andrew Tridgell
0e24b4ad44
AP_Proximity: use have_serial when detecting
...
avoid find_serial() as it changes port options
2021-12-22 10:03:29 +09:00
Andrew Tridgell
6728a7f681
AP_ADSB: use have_serial when detecting
...
avoid find_serial() as it changes port options
2021-12-22 10:03:29 +09:00
Andrew Tridgell
63ff047c16
AP_RCProtocol: fixed multi-protocol search with added uart
2021-12-22 10:03:29 +09:00
Andrew Tridgell
9984e56e53
AP_SerialManager: added have_serial() method
...
this checks if we have the protocol without setting the options on the
uart
2021-12-22 10:03:29 +09:00
Andrew Tridgell
4ee292ec5e
AP_BoardConfig: disable STLink debug pins by default
...
this avoids leaving the debug pins in a state where they may be
vulnerable to ESD issues
2021-12-22 10:03:29 +09:00
Bill Geyer
814c52fbb7
AP_Motors: add spool down complete flag
2021-12-18 12:17:38 +09:00
Andrew Tridgell
3b25bc3edb
AP_UAVCAN: use soft armed state for DroneCAN ARMING_STATUS
...
this fixes motortest on quadplanes, so that ESCs see an armed state
during the test
2021-12-18 12:17:38 +09:00
Andrew Tridgell
07cff1ce1b
HAL_ChibiOS: use a 16 bit sysinterval_t on 16 bit timers
...
prevent mixed size subtraction errors
2021-12-18 12:17:38 +09:00
Peter Barker
0a1191ea1f
AC_Fence: void index when overwriting fence count on fencepoint-close
2021-12-18 12:17:38 +09:00
Andrew Tridgell
50c14e62cf
AC_Fence: fixed fence count for old upload
...
when uploading a fence that is smaller than an old fence we were not
correctly setting the inclusion fence size.
2021-12-18 12:17:38 +09:00
Andrew Tridgell
0a8bd53f5e
APM_Control: make 2nd reduction of P smaller
...
this prevents severe P reductions when we get a small oscillation
glitch after we've already got the primary P gain
2021-12-18 12:17:38 +09:00
李孟晓
9814580149
CUAV-X7: Add servo voltage detection pin
2021-12-18 12:17:38 +09:00
Andrew Tridgell
7f84e296a6
AP_AHRS: fixed switching airspeed sensor based on EKF3 affinity (for 4.1)
...
we need to use the EKF selected airspeed sensor when the EKF is setup
to run a different sensor on each lane
2021-12-18 12:17:38 +09:00
Andrew Tridgell
2924ae76da
AC_AttitudeControl: fixed limiting of throttle mix values
...
use constrain instead of reset to keep as much of user requested value
as possible
also raise limit for MIX_MIN to 0.5 after discussion with Leonard
2021-12-18 12:17:38 +09:00
Andrew Tridgell
f25918e170
RC_Channel: added QRTL mode on a switch
2021-12-18 12:17:38 +09:00
Andy Piper
de27e2ce25
AP_Vehicle: correct update_dynamic_notch_at_specified_rate()
2021-11-29 19:02:57 +09:00
Andy Piper
187a12103c
AP_Vehicle: make sure notch update rate is configurable
2021-11-29 19:02:57 +09:00
Andy Piper
476713f9e3
Filter: set output slew rate to zero when max is zero.
2021-11-29 19:02:57 +09:00
Andy Piper
facd9614b8
AC_AutoTune: set slew rate to 0 while twitching
2021-11-29 19:02:57 +09:00
Andy Piper
273ed18d34
AC_PID: add slew_rate modifier
2021-11-29 19:02:57 +09:00
Hwurzburg
e3d7dd0776
AP_Motors: change H_COLL_HOVER to H_COL_HOVER for consistency
2021-11-29 19:02:57 +09:00
torsten
7f4e3aebe3
AP_FETtecOneWire: reset buf_used
...
if byte is missing due to electrical noise it can now resync
2021-11-29 19:02:57 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
b9b988fff4
AP_FETtecOneWire: Do not write to the UART buffer if the previous transfer did not complete yet
...
Required for stable operation on F4 processors
2021-11-29 19:02:57 +09:00
Andy Piper
98c03b498d
AP_HAL_ChibiOS: return correct value for tx_pending().
2021-11-29 19:02:57 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
c88d91bdc1
AP_HAL_ChibiOS: disable FETtec OneWire device driver
2021-11-29 19:02:57 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
dda50fffed
AP_Arming: call fettec prearm checks
2021-11-29 19:02:57 +09:00
Peter Barker
bc6b412083
SITL: add simulated FETtec ESC
2021-11-29 19:02:57 +09:00
Peter Barker
a62cd781be
AP_HAL_SITL: add simulated FETtec ESC
...
do not overwrite FETTecESC telemetry data w/SITL ESC data
2021-11-29 19:02:57 +09:00
Peter Barker
da34e63374
AP_Math: move crc8_dvb_update into crc library
2021-11-29 19:02:57 +09:00
Pierre Kancir
f1ac606f98
SRV_Channel: add FETtec support
2021-11-29 19:02:57 +09:00
Pierre Kancir
551a1a800a
AP_SerialManager: add FETtecOneWire protocol
2021-11-29 19:02:57 +09:00
Torsten Z
db197c0068
AP_FETtecOneWire: A serial-based ESC protocol with telemetry
...
Co-authored-by: Torsten Z <t.zunker@fettec.net>
Co-authored-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
- uses ArduPilot's coding guidelines and naming conventions
- control motor speed
- Use the AP_ESC_Telem base class to:
- copy ESC telemetry data into MAVLink telemetry
- save ESC telemetry data in dataflash logs
- use RPM telemetry for dynamic notch filter frequencies
- sum the current telemetry info from all ESCs and use it as virtual battery current monitor sensor
- average the voltage telemetry info and use it as virtual battery voltage monitor sensor
- average the temperature telemetry info and use it as virtual battery temperature monitor sensor
- Obey the safety switch. Keeps motors from turning
- Use `SERVO_FWT_MASK` to define which servo output should be routed to FETtec ESCs
- Use `SERVO_FWT_RVMASK` to define the rotation direction of the motors
- `SERVO_FWT_RVMASK` changes only take effect when disarmed
- Can be compiled when `HAL_WITH_ESC_TELEM` is disabled. No telemetry data will be available but it saves a lot of memory
- pre-arm checks:
- Check that UART is available
- check that the desired motor channels parameter (`SERVO_FWT_MASK`) is valid
- check that the desired motor poles parameter (`SERVO_FWT_POLES`) is valid
- check that the all desired ESCs are found and configured
- check that the ESCs are periodically sending telemetry data
- re-init and configure an ESC(s) if not armed (motors not spinning) when
- telemetry communication with the ESC(s) is lost
- adds a serial simulator (--uartF=sim:fetteconewireesc) of FETtec OneWire ESCs
- adds autotest (using the simulator) to:
- simulate telemetry voltage, current, temperature, RPM data using SITL internal variables
- test the safety switch functionality
- test ESC power outages
- test `SERVO_FWT_MASK` parameter validation
- fly a copter over a simulated serial link connection
2021-11-29 19:02:57 +09:00
Andrew Tridgell
3a65df9bca
hwdef: added alternative Durandal 20602 IMU
2021-11-29 19:02:57 +09:00
Andrew Tridgell
58a97a844e
RC_Channel: added fixed wing autotune rc option
2021-11-29 19:02:57 +09:00
Andrew Tridgell
0fc47d793a
AP_ADSB: bugfix vertical velocity sign was backwards
2021-11-29 19:02:57 +09:00
Andrew Tridgell
bd441ef816
AP_NavEKF3: fixed switch to non-zero primary on disarm
...
if EK3_PRIMARY is not zero then we were not switching to it when
disarmed
2021-11-29 19:02:57 +09:00