Commit Graph

26690 Commits

Author SHA1 Message Date
Leonard Hall
f4cdbb2707 AC_WPNav: Support error input to kinematic shaper 2022-02-12 08:55:16 +11:00
Leonard Hall
686ef10987 AC_AttitudeControl: AC_PosControl: Support error input to kinematic shaper 2022-02-12 08:55:16 +11:00
Leonard Hall
a5c9a2e32e AP_Math: Control: Adjust limit handling to improve corners 2022-02-12 08:55:16 +11:00
Iampete1
34266ce8ab AP_Math: control: remove unneeded normalisation. 2022-02-12 08:55:16 +11:00
Randy Mackay
8563c8125a AP_Math: update_pos_vel_accel methods accept limit as const reference
also update some comments
2022-02-12 08:55:16 +11:00
Peter Barker
ba06c3e03a SRV_Channel: correct casting of servo function number 2022-02-12 08:55:16 +11:00
Andrew Tridgell
a9161dccc6 AP_Arming: support Benewake CAN 2022-02-12 08:55:16 +11:00
Andrew Tridgell
7495cb3712 AP_CANManager: support Benewake CAN 2022-02-12 08:55:16 +11:00
Andrew Tridgell
93aeadea3b AP_RangeFinder: added Benewake CAN Lidars
includes support for setting CAN ID and min SNR
2022-02-12 08:55:16 +11:00
Iampete1
e707a3ea0b AP_Compass: never override custom orentation in calabration 2022-02-12 08:55:16 +11:00
Andrew Tridgell
75f7c36bc7 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-02-12 08:55:16 +11:00
Andrew Tridgell
3ad6c5523b AP_RCProtocol: raise SBUS frame gap
cope with UART input for newer SBUS receivers
2022-01-27 15:56:24 +11:00
Andrew Tridgell
8df5723362 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-27 14:48:31 +11:00
Andrew Tridgell
14d6358f18 AP_Filesystem: fixed a param ftp bug
if param count changes we need to zero the file size
2022-01-18 06:44:49 +11:00
Andrew Tridgell
221881c4ae AP_NavEKF3: fixed gaps in EKF logging
timestamps should not be static as otherwise some lanes will not be
logged
2022-01-03 12:55:37 +11:00
Andrew Tridgell
2e6063495f AP_BattMonitor: fixed a segv with BATT_MONITOR=14
this causes a hang on boot on some boards
2022-01-03 12:55:06 +11:00
Andrew Tridgell
cda8a61903 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-21 11:32:36 +11:00
Bill Geyer
22f1044d4d AP_Motors: add spool down complete flag 2021-12-21 11:32:36 +11:00
Mingchen Zhang
3e6074738a AP_SmartAudio: fix a bug that would starve the lower priority thread, such as scripting. 2021-12-21 11:29:29 +11:00
Andrew Tridgell
661876e969 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-20 16:00:46 +11:00
Andrew Tridgell
3b0a9e47a7 AC_AttitudeControl: added get_ang_vel_yaw_max_rads() 2021-12-20 16:00:19 +11:00
Andrew Tridgell
689e2ad003 AP_RCTelemetry: use have_serial when detecting
avoid find_serial() as it changes port options
2021-12-20 15:54:44 +11:00
Andrew Tridgell
b1a2063142 AP_RangeFinder: use have_serial when detecting
avoid find_serial() as it changes port options
2021-12-20 15:54:42 +11:00
Andrew Tridgell
5ec59d8a3e AP_Proximity: use have_serial when detecting
avoid find_serial() as it changes port options
2021-12-20 15:54:39 +11:00
Andrew Tridgell
46fcc0fdf3 AP_ADSB: use have_serial when detecting
avoid find_serial() as it changes port options
2021-12-20 15:54:37 +11:00
Andrew Tridgell
4ebece3dfd AP_RCProtocol: fixed multi-protocol search with added uart 2021-12-20 15:54:34 +11:00
Andrew Tridgell
c682b7deab AP_SerialManager: added have_serial() method
this checks if we have the protocol without setting the options on the
uart
2021-12-20 15:54:31 +11:00
Andrew Tridgell
664b55a49a AP_NavEKF3: Add missing covariance row reset 2021-12-20 09:30:14 +11:00
Andrew Tridgell
6ef5a9a909 AP_InertialSensor: added support for IIM-42652 and ICM-40605 sensors
handle new Invensense v3 sensor types
2021-12-17 13:59:42 +11:00
Andrew Tridgell
35f8c361b7 AP_InertialSensor: added support for ICM-20608-D sensor 2021-12-17 08:00:38 +11:00
Andrew Tridgell
6fc1049439 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-13 10:49:32 +11:00
Andy Piper
93ed8212ae AP_Vehicle: correct update_dynamic_notch_at_specified_rate() 2021-12-13 10:49:32 +11:00
Andy Piper
65017887d1 AP_Vehicle: make sure notch update rate is configurable 2021-12-13 10:49:32 +11:00
Andy Piper
9dd4314341 Filter: set output slew rate to zero when max is zero. 2021-12-13 10:49:32 +11:00
Andy Piper
20a509d771 AC_AutoTune: set slew rate to 0 while twitching 2021-12-13 10:49:32 +11:00
Andy Piper
8be3c4ab83 AC_PID: add slew_rate modifier 2021-12-13 10:49:32 +11:00
Hwurzburg
ef59ab143e AP_Motors: change H_COLL_HOVER to H_COL_HOVER for consistency 2021-12-13 10:49:32 +11:00
torsten
4c050f4f7e AP_FETtecOneWire: reset buf_used
if byte is missing due to electrical noise it can now resync
2021-12-13 10:49:32 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
800414a1d0 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-12-13 10:49:32 +11:00
Andy Piper
5591ea2530 AP_HAL_ChibiOS: return correct value for tx_pending(). 2021-12-13 10:49:32 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
765bf35703 AP_HAL_ChibiOS: disable FETtec OneWire device driver 2021-12-13 10:49:32 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
0fe4a2573d AP_Arming: call fettec prearm checks 2021-12-13 10:49:32 +11:00
Peter Barker
ee4069921b SITL: add simulated FETtec ESC 2021-12-13 10:49:32 +11:00
Peter Barker
22809d1578 AP_HAL_SITL: add simulated FETtec ESC
do not overwrite FETTecESC telemetry data w/SITL ESC data
2021-12-13 10:49:32 +11:00
Peter Barker
bcea6fc806 AP_Math: move crc8_dvb_update into crc library 2021-12-13 10:49:32 +11:00
Pierre Kancir
ec4c4d0058 SRV_Channel: add FETtec support 2021-12-13 10:49:32 +11:00
Pierre Kancir
57ee2cb8d4 AP_SerialManager: add FETtecOneWire protocol 2021-12-13 10:49:32 +11:00
Torsten Z
2ca545a988 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-12-13 10:49:32 +11:00
Andrew Tridgell
5e4de872ac HAL_ChibiOS: use a 16 bit sysinterval_t on 16 bit timers
prevent mixed size subtraction errors
2021-12-13 10:49:32 +11:00
Peter Barker
559387c864 AC_Fence: void index when overwriting fence count on fencepoint-close 2021-12-13 10:49:32 +11:00