Commit Graph

29698 Commits

Author SHA1 Message Date
Peter Barker
be15dfff29 AP_SerialLED: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
27b34f8b5f AP_Scheduler: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
5ddd50fefb AP_RPM: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
5bc20af9d6 AP_ROMFS: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
0e8ac68af4 AP_RCTelemetry: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
50fc43b2d2 AP_RangeFinder: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
6fafd04b2f AP_Rally: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
489f68f68e AP_Proximity: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
97ccf77941 AP_OSD: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
fa2c78f057 AP_OpticalFlow: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
4178c685a3 AP_ONVIF: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
3e75359aef AP_OLC: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
db590f65f1 AP_Notify: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
92b44c118f AP_MSP: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
7ce739aeef AP_Mount: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
8930b5f6f5 AP_Motors: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
4c7f4514cd AP_Module: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
445b10d8b3 AP_Mission: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
a08025125b AP_Math: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
750fd2c820 AP_Logger: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
94dc0e78cd AP_InertialSensor: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
0ea46a93a1 AP_ICEngine: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
b158e15ed4 AP_Hott_Telem: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
c456172821 AP_HAL_Linux: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
9857954529 AP_GPS: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
6fa9fd1768 AP_EFI: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
f1069023ee AP_Common: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
24f7369760 AP_Beacon: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
6c377b2dcd AP_BattMonitor: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
8dcc2e969f AP_Arming: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
9b14760dc9 AP_Airspeed: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
34a7503c1e AP_AHRS: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
d3563e72c8 AP_ADSB: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
666ac39e31 AC_Avoidance: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
73c6eabde2 APM_Control: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
6f2fd9c4a4 AC_AutoTune: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
d62e6e3228 AC_Autorotation: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
0fb5be7f2b AC_AttitudeControl: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
7c00b525a3 AP_Tuning: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
17ad710866 GCS_MAVLink: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker
6eaf2c545a AP_Filesystem: correct run-length encoding in param download
If a parameter's name was a prefix of the previous name we would
suffer an integer-wrap problem and incorrectly encode the parameter name
2022-05-03 07:49:36 +10:00
Iampete1
20a2e6aaf0 AP_Scripting: allow deprecation warnings 2022-05-03 07:48:39 +10:00
Peter Barker
2c0f52a8b7 AP_BattMonitor: zero-terminate strings in caller rather than read_block
It was noted that we did not increment the return value bufflen when
adding zero.  This is an ambiguity in the function declaration; if we
are told to add a zero should the return value be like strnlen (does not
include terminating null character) or read (includes all bytes used in
return buffer).

This PR makes it a non-issue by ensuring string null termination in the
caller and removing the append_zero parameter.
2022-05-03 07:11:45 +10:00
Josh Henderson
51eb398277 SITL: SIM_BattMonitor_SMBus add registers to smartbatts 2022-05-02 10:56:39 +10:00
Kirill Shilov
c414a021ae AirLink-HWDEF: external peripherals enabled with logical high 2022-05-02 10:56:09 +10:00
Mirko Denecke
e60520160f SRV_Channel: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Mirko Denecke
60b0be4a97 RC_Channel: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Mirko Denecke
11a74cf28c AP_HAL_ChibiOS: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Mirko Denecke
853fd7f8c1 AP_HAL: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Mirko Denecke
d6843c4ca1 AP_Airspeed: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Henry Wurzburg
c6fbdc0cb8 AP_Relay:Prevent operation for sim-on-hardware,add logs
Co-authored-by: Iampete1 <iampete@hotmail.co.uk>
2022-05-02 10:54:02 +10:00
Iampete1
6eea4d12ee SITL: apply momentum drag per-motor 2022-05-01 09:17:23 +10:00
Iampete1
f9050c3040 SITL: Frame: take drag from thrust not accel 2022-05-01 09:17:23 +10:00
Iampete1
92135400f8 SITL: Frame: stop adding random physics noise 2022-05-01 09:17:23 +10:00
Iampete1
f869506b0a SITL: Motor: acount for airflow due to vehicle rotation 2022-05-01 09:17:23 +10:00
Iampete1
bead0ac0f8 SITL: JSON allow to set motor rotation direciton 2022-05-01 09:17:23 +10:00
m
dbf00bae10 AP_Scripting: Add pre_arm_checks LUA binding 2022-04-30 10:23:28 +09:00
Andrew Tridgell
ed89acea66 AP_Scripting: added PDmod binding for quick tuning 2022-04-29 11:54:12 +10:00
Andrew Tridgell
f8fe74f5fe AC_AttitudeControl: added get_rpy_PDmod method
used for lua scripts to do VTOL tuning
2022-04-29 11:54:12 +10:00
bugobliterator
46f9ae54af AP_HAL_ChibiOS: fix CubeOrangePlus IMU rotation 2022-04-29 08:26:34 +10:00
Andrew Tridgell
8c3d2205cb hwdef: added DShot peripheral for MatekL431 2022-04-28 13:56:16 +10:00
Peter Barker
a5dee06afb SRV_Channel: add PARAMETER CONVERSION comments 2022-04-28 10:17:11 +10:00
Peter Barker
414d3d27db AP_RangeFinder: add PARAMETER CONVERSION comments 2022-04-28 10:17:11 +10:00
Peter Barker
c2bf79d3f3 AP_BattMonitor: add PARAMETER CONVERSION comments 2022-04-28 10:17:11 +10:00
Andy Piper
742c2b034f AC_AutoTune: allow high ANGLE_P gains 2022-04-28 08:51:54 +09:00
Leonardo Garcia
0eb6ae365a AP_InertialSensor: Added BMI085 support
Fixed styling for 61125e2

Remove whitespace l202

Removed else
2022-04-27 18:37:39 +10:00
Andy Piper
7c4d0ad9f4 AP_HAL_ChibiOS: catch and handle STM32_DMA_ISR_DMEIF in bdshot. 2022-04-27 18:19:24 +10:00
Andrew Tridgell
12f348398a Revert "AP_Notify: fixed DroneCAN LEDs on AP_Periph"
This reverts commit 1858969697.

This was an incorrect change that actually broke LEDs on CAN GPS modules
2022-04-27 17:13:40 +10:00
Andrew Tridgell
06b9b804a1 hwdef: uncompress bootloader for HolybroG4_GPS
not enough ram to uncompress at runtime
2022-04-27 17:12:08 +10:00
Tatsuya Yamaguchi
073683cc69 AP_Arming: remove ARMING_CHECK_ALL bit check from disarm_switch_checks 2022-04-27 09:36:36 +09:00
Tatsuya Yamaguchi
02f966a35d AP_Arming: add ARMING_OPTIONS param 2022-04-27 09:36:36 +09:00
Mohammad Hefny
ce8405b7a4 AP_Rangefinder: preserve new address 2022-04-27 10:16:40 +10:00
Randy Mackay
599cd15c7b AP_Scripting: add copter-deadreckon-home example 2022-04-26 18:37:54 +09:00
Randy Mackay
7b6ad412fe AP_Scripting: add ahrs get_relative_position_D_home binding 2022-04-26 18:37:54 +09:00
Randy Mackay
f0623fa8c9 AP_Scripting: add has_ekf_failsafed binding 2022-04-26 18:37:54 +09:00
Randy Mackay
21ee06d362 AP_Vehicle: implement has_ekf_failsafed for use by lua 2022-04-26 18:37:54 +09:00
Randy Mackay
23ad8b23ac AP_Common: clarify Location::get_distance is horizontal only 2022-04-26 18:37:54 +09:00
Randy Mackay
da961948db AP_RPM: pre-arm displays gpio vs servo_ch conflict 2022-04-26 15:19:28 +09:00
Randy Mackay
d8219c2200 AP_Relay: pre-arm displays gpio vs servo_ch conflict 2022-04-26 15:19:28 +09:00
Randy Mackay
846637e3e9 AP_Button: pre-arm displays gpio vs servo_ch conflict 2022-04-26 15:19:28 +09:00
Randy Mackay
1ee01577f6 AP_HAL: add GPIO::pin_to_servo_channel method 2022-04-26 15:19:28 +09:00
Randy Mackay
588a75a883 AP_HAL_ChibiOS: GPIO comment removes mention of BRD_PWM_COUNT 2022-04-26 15:19:28 +09:00
Randy Mackay
b6e86eee49 AP_IOMCU: valid_GPIO_pin checks if pin configured for GPIO 2022-04-26 15:19:28 +09:00
Randy Mackay
caa2ed3294 AP_IOMCU: convert_pin_number leaves input untouched on failure 2022-04-26 15:19:28 +09:00
Iampete1
d621910a59 AP_AHRS: remove unneeded get_position wrapper 2022-04-26 10:28:28 +10:00
Iampete1
6e3cb7efdc AP_Scripting: support true aliases 2022-04-26 10:28:28 +10:00
Iampete1
352c48233e AP_Scripting: generator: rename alias keyword to rename 2022-04-26 10:28:28 +10:00
Iampete1
4fe335c2d0 SITL: tests: only build on sitl 2022-04-26 10:26:29 +10:00
Iampete1
d1aa7aa062 SITL: add battery model evaluation example 2022-04-26 10:26:29 +10:00
Iampete1
1111ca4867 SITL: SIM_Frame: load_frame_params and model to protected, allow USE_PICOJSON override 2022-04-26 10:26:29 +10:00
Iampete1
f0c17f0e49 SITL: use AP_SIM_ENABLED define more 2022-04-26 10:26:29 +10:00
Iampete1
c58404beac AP_HAL_Linux: allow stop_clock in examples 2022-04-26 10:26:29 +10:00
Iampete1
2d2165936a AP_InertialSensor: use pitch to guess which axis the user is trying to calibrate, warn about Q_TRIM_PITCH on plane 2022-04-26 10:03:30 +10:00
Iampete1
6c24a5ff37 AP_AHRS: add method to get view 2022-04-26 10:03:30 +10:00
Iampete1
04fdfea74a AP_AHRS_View: add method to get pitch trim and note on rotation 2022-04-26 10:03:30 +10:00
Randy Mackay
902b895aef AP_Arming: add pre-arm check of disabled servo channels 2022-04-25 15:55:54 +09:00
Andy Piper
cc6b907a2f SRV_Channel: observe disabled_channels when enabling channels
setup disabled_channels observing channels that are implied to be digital
allow none to be a valid channel function once again
2022-04-25 15:55:54 +09:00
Andy Piper
119cde79a7 AP_HAL_ChibiOS: determine presence of disabled channels based on digital channels in a group 2022-04-25 15:55:54 +09:00
Andy Piper
8ccc84beab AP_HAL: add accessor for disabled channels to RCOutput 2022-04-25 15:55:54 +09:00
Andy Piper
03aeca22ec AP_BLHeli: keep a record of disabled motors 2022-04-25 15:55:54 +09:00
Peter Barker
7d10192550 SITL: do not write post locations files unless on HAL_BOARD_SITL
Nobody's going to be retrieving these from SD card so they can visualise
things...
2022-04-25 11:20:26 +10:00
Peter Barker
1d96dfe7c1 SITL: exclude method declarations based on USE_PICOJSON
Fixes SimOnHardware build
2022-04-25 11:20:26 +10:00
Randy Mackay
bfd168dd4f AP_RPM: avoid attach interrupt retry and spam to GCS if PIN = -1 2022-04-25 08:59:03 +09:00
Henry Wurzburg
8556edc5ad AP_RPM: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
93bdae50ab AP_Relay: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
4a2aeb03f3 AP_RangeFinder: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
a8ff5ca2b9 AP_Notify: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
cc51e9f995 AP_LandingGear: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
1e7fc17af3 AP_Camera: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
958e36f80b AP_Button: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Henry Wurzburg
9d6f9bf907 AP_AdvancedFailsafe: add note to desc's on how to determine GPIO pin numbers 2022-04-24 08:21:01 +09:00
Randy Mackay
291d709409 AP_NavEKF: GSF comment typo fix 2022-04-22 15:24:11 +09:00
xianglunkai
c853694f7a AP_Proximity_Boundary_3D:correction of miswriting 2022-04-21 08:41:07 +09:00
Iampete1
c31e54b5bb AP_CustomRotations: fix param refrencing 2022-04-20 18:25:57 +10:00
Andy Piper
6355934a36 AP_HAL: add bitwidth hal definitions.
revert to original bitwidths for neopixel and profiled
add proper neopixel test that observes spec'ed timings
2022-04-20 17:39:29 +10:00
Andy Piper
df35cb6243 AP_HAL_ChibiOS: move bitwidths to AP_HAL 2022-04-20 17:39:29 +10:00
Andy Piper
89ea5dc12c AP_RCProtocol: flush CRSF telemety writes 2022-04-20 17:38:08 +10:00
Andy Piper
eaa414bb0c AP_HAL_ChibiOS: implement pseudo-flushing for buffered UARTS 2022-04-20 17:38:08 +10:00
yuri-rage
eaa62fb490 AP_HAL: remove BRD_PWM_COUNT reference 2022-04-20 07:57:57 +09:00
Andrew Tridgell
e73f868fc0 HAL_ChibiOS: disable fatal exceptions for DMA errors
this zeros-watchdog was caused by a SPI DMA error on STM32F405:

  https://discuss.ardupilot.org/t/crash-with-4-2-0-beta-and-4-3-0-daily-bdshot/83297

we had incorrectly left these internal errors enabled when asserts
were not enabled. That led to a osalSysHalt()

without these we get an spi_fail internal error, caught by the
SPIDevice code
2022-04-19 21:52:53 +10:00
Andrew Tridgell
ed1a5c086b AP_Logger: removed annoying message on missing logs 2022-04-19 11:45:26 +10:00
Andrew Tridgell
93b55e367e AP_Logger: fixed log listing with gap, and EKF error on log list
this fixes two issues:

The first issue that if we are missing a log file in the middle of the
list then it was not possible to download recent logs, as we get the
incorrect value for total number of logs. This happened for me with
107 logs, with log62 missing from the microSD. It would only show 45
available logs, so the most recent logs could not be downloaded.

The second issue is that get_num_logs() was very slow if there were a
lot of log files in a directory. This would cause EKF errors and ESC
resets. Using a opendir/readdir loop is much faster (approx 10x faster
in my testing with 107 logs on a MatekH743).
2022-04-19 11:45:26 +10:00
Peter Barker
348f0ad590 SITL: add SIM_SONAR_ROT, use it for measuring horizontal distances 2022-04-19 10:26:10 +10:00
xianglunkai
f7f053191a AP_Logger: must set default fd = -1 2022-04-19 10:00:32 +10:00
Iampete1
a7abfeeb4a SITL: allow cutom motor postions and thrust vectors to be specified 2022-04-19 09:43:51 +10:00
Iampete1
c4518e5cb7 SITL: motor: use postion and thrust vector 2022-04-19 09:43:51 +10:00
Iampete1
47f327b500 SITL: allow Vector3f inertia to be set via JSON 2022-04-19 09:43:51 +10:00
Iampete1
6272dc33dd SITL: move moments inertia to frame property 2022-04-19 09:43:51 +10:00
Iampete1
7936f3bb0a SITL: move motor related constants to motor object 2022-04-19 09:43:51 +10:00
Andrew Tridgell
db14ba46dc AP_InertialSensor: call notch param update with semaphore held 2022-04-19 09:39:03 +10:00
Andrew Tridgell
bccca9ed2e AP_GyroFFT: added defaults for FFT with no notch
allow for testing with FFT enabled, and defaulting number of
frequencies to look for
2022-04-19 09:39:03 +10:00
Andrew Tridgell
dff0e5ecc1 AP_InertialSensor: fixed the last notch values to be per-instance
thanks to Andy for noticing this
2022-04-19 09:39:03 +10:00
Andrew Tridgell
e0bb717231 AP_GyroFFT: skip disabled notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell
184f84f4ee AP_InertialSensor: don't update disabled notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell
492e203fd2 AP_GyroFFT: allow for 2 FFT based notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell
301c56d30a AP_Vehicle: implement common harmonic notch update code 2022-04-19 09:39:03 +10:00
Andrew Tridgell
e6b56ce9ba AP_RPM: use HarmonicNotch class 2022-04-19 09:39:03 +10:00
Andrew Tridgell
86db91e3b4 AP_GyroFFT: use HarmonicNotch class 2022-04-19 09:39:03 +10:00
Andrew Tridgell
ddab3f02ca AP_Arming: use HarmonicNotch class 2022-04-19 09:39:03 +10:00
Andrew Tridgell
e2e1e74da5 AP_InertialSensor: switch to HarmonicNotch class
this makes the logic much easier to follow, without indexes into
arrays
2022-04-19 09:39:03 +10:00
Andrew Tridgell
d7d04bc7cf Filter: removed parameters from the old notch filter
saves some flash space
2022-04-19 09:39:03 +10:00
Andrew Tridgell
782e4887bc AP_GyroFFT: only allow one harmonic notch filter to be linked to FFT 2022-04-19 09:39:03 +10:00
Andrew Tridgell
ae1e9e06c1 AP_Arming: added arming check for conflicting notch modes 2022-04-19 09:39:03 +10:00
Andrew Tridgell
1cd1519a4f Filter: clarify meaning of 1st harmonic 2022-04-19 09:39:03 +10:00
Andrew Tridgell
7272a29b7b Filter: added RPM2 harmonic notch type 2022-04-19 09:39:03 +10:00
Andrew Tridgell
a2fc4d909d AP_Vehicle: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell
ac50d3cc9f AP_RPM: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell
e67d9b4179 AP_InertialSensor: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell
622ad2a088 AP_GyroFFT: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Joshua Henderson
7cc2382a78 AP_AHRS_DCM: NFC comment on check_matrix() normalization reset 2022-04-19 09:27:00 +10:00
Randy Mackay
9d73cfb28f AP_NavEKF: GSF logging in deg from 0 to 360 2022-04-19 08:56:40 +10:00
Peter Barker
55517450bc AP_Scripting: correct script restart send_text message 2022-04-18 12:50:18 +01:00
Bill Geyer
b8690ba109 AC_AutoTune: fix gain determination fail logic 2022-04-18 18:00:20 +09:00
Bill Geyer
8e35fd2658 AC_AutoTune: use failed state to exit 2022-04-18 18:00:20 +09:00
Bill Geyer
b4059d3745 AC_AutoTune: use generic load gain method to save flash 2022-04-18 18:00:20 +09:00
Walter Dunckel
b0c3fae662 AP_HAL_ChibiOS: add support for NucleoH755 board
This addition allows for cheap testing of a STM32H755 (dual core). This borrows the setup file STM32H757xx.py, as there are almost no changes between the chips. CRSF in and out, gps, ICM20948, BMP388, settings saving to on board flash all working.

PWM(3) pin change

Changed PWM(3) pin to one exposed on connector
2022-04-18 14:53:14 +10:00
QioTek
9909499a81 AP_HAL_ChibiOS: ICM4 series sensors as an alternative with IMU3.
AP_HAL_ChibiOS:  ICM4 series sensors as an alternative with IMU3.
2022-04-18 11:01:14 +10:00
Andrew Tridgell
9f58c73780 hwdef: Added MatekL431-Rangefinder 2022-04-17 17:40:04 +10:00
Peter Barker
bca4fc9608 hwdef: disable serially-attached actuators on SkyViper 2022-04-17 09:10:10 +10:00
Andrew Tridgell
95ae150a21 AP_InertialSensor: catch FIFO overruns on BMI088
we have seen errors where the BMI088 gets out of sync, so that the 3
axes are rotated. The data is shifted by 4 bytes, so that X=Z, Y=X
and Z=Y

this changes the BMI088 to "stop on full" mode, which is what Bosch
use in their example drivers, and also catches FIFO overrun events and
triggers a full FIFO reset. This should fix the problem with the FIFO
sync
2022-04-16 19:24:16 +10:00
Andrew Tridgell
973befa5d8 GCS_MAVLink: prevent devop larger than buffer 2022-04-16 19:24:16 +10:00
Andrew Tridgell
4c9a851fc6 SITL: update for changed INS_NOTCH parameter name 2022-04-16 08:14:06 +10:00
Andrew Tridgell
f5c3b56426 AP_HAL_ChibiOS: update for changed INS_NOTCH parameter name 2022-04-16 08:14:06 +10:00
Andrew Tridgell
ab5e8419d8 AP_InertialSensor: move INS_HNTC2 to a new parameter table ID 2022-04-16 08:14:06 +10:00
Willian Galvani
6e326ee912 AC_PosControl_Sub.h: do not use our own input_vel_accel_z 2022-04-13 16:23:55 -03:00
mateksys
16a8400f85 AP_HAL_ChibiOS:add icm42688p as substitution 2022-04-13 20:59:07 +10:00
Peter Barker
e788941f70 hwdef: turn off various GPS backends on on AP_Periph 2022-04-13 18:23:51 +10:00
Peter Barker
ccca0e8e0f AP_GPS: stop using HAL_BUILD_AP_PERIPH to gate GPS backends 2022-04-13 18:23:51 +10:00
Andrew Tridgell
cdfa682be0 AC_AttitudeControl: use deadzone for pitch
when pitch for nose-in and tail-in is enabled we should use the
deadzone
2022-04-13 18:19:02 +10:00
Andrew Tridgell
f4548daa5a AC_AttitudeControl: added an option for pitch weathervaning
when nose-in or tail-in, if the aircraft has significant pitch
asymmetry in hover then we would spin around in no wind if we use
pitch as an input

this makes pitch input for nose-in and tail-in optional and off by
default to preserve existing behaviour
2022-04-13 18:19:02 +10:00
Peter Barker
e5c40d0e54 AP_Logger: move logging of Beacon into Beacon library 2022-04-13 16:22:19 +10:00
Peter Barker
bbcf0a0968 AP_Beacon: move logging of Beacon into Beacon library 2022-04-13 16:22:19 +10:00
Peter Barker
a62e08ee40 AP_Proximity: move logging of Proximity into Proximity library 2022-04-13 16:22:19 +10:00
Peter Barker
795427e574 AP_Logger: move logging of Proximity into Proximity library 2022-04-13 16:22:19 +10:00
Peter Barker
f023f0443d GCS_MAVLink: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker
ab86dafda7 AP_RPM: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker
23f2055330 AP_Logger: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker
c09f56112e AP_Arming: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker
04cc45de65 hwdef: remove non-ascii character from hwdef
Killing the custom build server
2022-04-13 12:14:17 +10:00
Randy Mackay
375ab84e56 SITL: correct suggestion to user re wind estimatation param value
EK3_MCOEF becomes EK3_DRAG_MCOEF
EK3_BCOEF_ becomes EK3_DRAG_BCOEF_
2022-04-13 07:57:35 +09:00
Randy Mackay
002bcca7f9 AP_Baro: correct param description refering to EK3 wind est params
AP_NavEKF3: correct wind estimate param descriptions

mention of EK3_BCOEF_X/Y becomes EK3_DRAG_BCOEF_X/Y
2022-04-13 07:57:35 +09:00
Randy Mackay
37e9ce3fb7 AP_NavEKF3: correct wind estimate param descriptions
EK3_MCOEF becomes EK3_DRAG_MCOEF
EK3_BCOEF_X/Y becomes EK3_DRAG_BCOEF_X/Y
2022-04-13 07:57:35 +09:00
Peter Barker
e0a96eaa83 AP_GPS: remove more code based on GPS_MOVING_BASELINE 2022-04-12 11:20:01 +10:00
Peter Barker
aa72559d00 AP_GPS: tidy initialisation of sending blobs 2022-04-12 11:20:01 +10:00
Peter Barker
4b6590734a AP_GPS: move gps blob initialisation out to method 2022-04-12 11:20:01 +10:00
Andy Piper
13464ebb20 AP_RCTelemetry: check EKF checks against failsafe defaults. 2022-04-12 11:14:44 +10:00
Peter Barker
961cf659d9 SRV_Channels: stop gating FETTECONEWIRE parameters on HAL_BUILD_BUILD_AP_PERIPH
This would break fettech on AP_Periph.  The define is off by default on
AP_Periph.
2022-04-12 10:35:01 +10:00
Peter Barker
a5be9d0f18 SRV_Channel: allow RobotisServo protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker
9001058d12 AP_RobotisServo: allow RobotisServo protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker
73b86ccc04 AP_HAL_ChibiOS: allow RobotisServo protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker
3339d96573 SRV_Channel: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker
d97c847966 AP_Volz_Protocol: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker
2e20e26403 AP_HAL_ChibiOS: allow Volz protocol to be compiled out 2022-04-12 10:35:01 +10:00
Peter Barker
04a64a20fa AP_NavEKF2: remove instance id from EK2 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-12 10:25:29 +10:00
Peter Barker
c1c18331f9 AP_AHRS: remove instance id from EK2 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-12 10:25:29 +10:00
Henry Wurzburg
c770a2bd58 hwdef: minimal GPS support for Flywoo baords 2022-04-12 10:04:57 +10:00
Andy Piper
1a843f659f AP_HAL_ChibiOS: bdshot version of MatekF765-Wing 2022-04-12 10:03:11 +10:00
Andy Piper
29e8f96275 AP_InertialSensor: move frontend update into ramfunc. 2022-04-12 09:19:45 +10:00
Andy Piper
2d62da9298 AP_FlashIface: make sure XIP flash is ready before returning 2022-04-12 09:19:45 +10:00
Andy Piper
e89eb34d55 AP_HAL_ChibiOS: add I2C and compass backend to drivers in memory on H750
move more of EKF into memory on H750
move rc handling into memory on H750
disable double math on SPRacing H7
2022-04-12 09:19:45 +10:00
Michel Pastor
f4a3a65797 hwdef: add revo-mini-sd 2022-04-12 09:17:03 +10:00
Andrew Tridgell
0f230eec5a AP_Scripting: increase default heap size in SITL and on F7/H7
if we have 500k or more memory then use 100k heap for Lua, making
setup easier
2022-04-11 17:02:04 +10:00
Lokesh Ramina
729466358d hwdef: added CarbonixF405 AP_Periph node
added hwdef files for CarbonixF405 board
2022-04-11 12:58:48 +10:00
Peter Barker
a9b90a3b5a AP_HAL: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
0b16c4063e AP_NavEKF3: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
65b00bcc2a AP_NavEKF2: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
df91effa4e AR_Motors: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
224c32edf0 AR_WPNav: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
6a0250bc85 AP_Winch: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
c452002ae4 AC_PrecLand: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
d319370080 RC_Channel: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
a10ed0e87f PID: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
c829b109bf AP_Vehicle: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
e1dd53eb17 AP_TECS: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
ce312a3750 AP_Scripting: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
df60565769 AP_Mission: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
dd589934cc APM_Control: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
0c32eeca2e AP_Logger: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
8ec0eed749 AP_Landing: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
6a97056736 AP_Camera: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
d73cd7d0e3 AC_WPNav: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
e5e4dee708 AC_PID: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
66f0a0f42b AC_AutoTune: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker
c1e776fc46 AC_AttitudeControl: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andy Piper
e0adbb978e AP_HAL_ChibiOS: fix dshot timeout bug where the elapsed pulse is longer than the send time
dshot timeouts should be no longer than the pulse interval
use correct timestamp for dmar send time
2022-04-07 07:21:21 +10:00
Peter Barker
b80cc9a610 AP_Logger: remove old, unused log metadata for MON 2022-04-06 21:54:15 +10:00
Peter Barker
00de10d796 AP_HAL_ChibiOS: use structure for writing out WDOG,MON message 2022-04-06 21:54:15 +10:00
Peter Barker
a546bc797c AP_Logger: source IDs and structs from HAL_ChibiOS 2022-04-06 21:54:15 +10:00
Peter Barker
adf9c21d48 AP_NavEKF3: remove instance id from EK3 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-06 17:36:05 +10:00
Peter Barker
b762aac6ce AP_AHRS: remove instance id from EK3 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-06 17:36:05 +10:00
Peter Barker
c2112565b5 AP_GPS: remove redundant _blend_mask check
filling in of these values is already gated by checking the mask
2022-04-06 17:31:42 +10:00
Peter Barker
4332ed8f36 AP_GPS: use sq function for squaring numbers 2022-04-06 17:31:42 +10:00
Iampete1
2589fa1b3b AP_GPS: UBlox: add TIM-TM2 logging 2022-04-06 17:22:30 +10:00
Iampete1
0a0178988d AP_Logger: add 1e-9 log multiplyer 2022-04-06 17:22:30 +10:00
Peter Barker
717edae9ef hwdef: fix redefinition of Solo values in CubeSolo/CubeGreen-Solo
adding fmuv3 into the list of firmwares we might run on Solo was a late
addition to the recent PRs.  It was forgotten that the inheritance would
cause a redefition failure
2022-04-06 16:38:23 +10:00
Andrew Tridgell
37d8feb928 hwdef: disable GPS drivers on low flash boards
only leave uBlox enabled on boards that are running out of flash
2022-04-06 14:14:07 +10:00
Andrew Tridgell
c9bbfd94c0 hwdef: set AUTOBUILD_TARGETS None on eval boards 2022-04-06 14:13:44 +10:00
李孟晓
2d37bc9c78 AP_HAL_ChibiOS: CUAV-Nora: add usart3 support 2022-04-06 11:04:08 +10:00
Andrew Tridgell
06b6632f30 AP_Logger: fixed @SYS file logging
the key fix is the reset of the fd to -1. Without that fix we only
ever log @SYS/uarts.txt

The timing change is needed to get the files out in a reasonable
time. The function is actually getting called at 100Hz or less, not
1kHz (measured on MatekH743 copter at 400Hz). So we need to run it
faster to get the files logged in a reasonable time
2022-04-06 07:46:29 +10:00
Peter Barker
d2c3c578c2 hwdef: add hwdef for CubeOrange-SimOnHardware 2022-04-05 18:10:14 +10:00
Andrew Tridgell
392e80001f HAL_ChibiOS: fixed H7 flash storage
this fixes the flash re-init problem when flash storage fills on
H7. It was caused by rejecting writes where one or more of the 32 byte
chunks was not all 0xff but was equal to the current data. That
happens when writing to the sector header in AP_FlashStorage

it also moves the interrupt disable inside the loop to allow for
other interrupts to run between blocks
2022-04-05 17:46:52 +10:00
Andrew Tridgell
093acc1577 HAL_ChibiOS: use 16 byte lines for flash storage on H7
this halves the number of flash writes needed, and makes flash storage
twice as space efficient on H7

On H7 we need to write 32 bytes at a time to flash, which corresponds
to 30 bytes of data in AP_FlashStorage. By using a 16 byte storage
line we don't waste as much space
2022-04-05 17:46:52 +10:00
Andrew Tridgell
055ee6ba82 HAL_ChibiOS: increase monitor thread stack by 512
this is needed to ensure that the log writes of MON and WDOG don't
overflow monitor thread stack
2022-04-05 17:46:52 +10:00
Andrew Tridgell
1b6620b42f HAL_ChibiOS: added expected delays on flash writes
this prevents a long loop internal error on disarm after a large
amount of flash writes when armed on a board with flash storage
2022-04-05 17:46:52 +10:00
Andrew Tridgell
a0c867bce7 HAL_ChibiOS: disable interrupts during flash operations
we have now shown that interrupts being enabled during flash
operations can cause the infamous "68ms" bug, or watchdog when using a
32 bit timer on boards using flash for storage

The issue is quite repeatable with a load of a very large waypoint
file (over 500 waypoints) using "wp ftpload" in MAVProxy. This puts a
huge load on flash storage.

Our current working theory is that while doing flash writes for
storage on dual-bank we block access to only one bank, so if another
thread uses a timeout function with a short timeout while the flash
write is happening and chVTDoTickI calls code which crosses the flash
bank boundary then it can cause chVTDoTickI to violate the assumption
that no more than CH_CFG_ST_DELTA ticks pass while it is calculating
the value to set in the system timer. In that case we get a delay of a
full timer wrap, which is 68ms on boards with 16 bit timer and 70
minutes on boards with 32 bit timer
2022-04-05 17:46:52 +10:00
Andrew Tridgell
f6f6521b28 Revert "hwdef: changed MatekH743 to a 32 bit timer"
This reverts commit 7dc5911572.
2022-04-05 17:46:52 +10:00
Andrew Tridgell
5ef9c5aaa5 HAL_ChibiOS: constrain more timer timeouts 2022-04-05 17:46:52 +10:00
Andrew Tridgell
4c977eb7a0 HAL_ChibiOS: prevent long timeouts in DShot
this prevents bad calculated timeouts in DShot. The timeout would
sometimes come out as 0xFFFFFFFF, which led to an assert and could
block the thread

This fix is meant to be minimilistic to allow it to be merged easily
into 4.2. A better fix would fix all the uint32_t wrap handling in
DShot
2022-04-05 17:46:52 +10:00
Andrew Tridgell
a95b429acc AP_Math: added unsigned versions of constrain functions
sometimes it really does matter that we use constrain_uint32() instead
of constrain_int32(). For example, if we have a value like 0xFFFFFFFF
then the result will be very different

we should use unsigned constrain when dealing with unsigned values
2022-04-05 17:46:52 +10:00
Henry Wurzburg
82235163a2 AP_Scripting: remove original aerobatics example to avoid confusion 2022-04-05 10:12:13 +10:00
Henry Wurzburg
fa81f7813c AP_Airspeed: correct metadata for params for non-Plane vehicles 2022-04-05 09:58:10 +10:00
Lokesh Ramina
11b3eccf66 AP_Periph: Hwdef CarbonixL496 update
Modification of CarbonixL496 to add more features.
Features:
To use internal clock of MCU, Oscillator value is set to 0.
LED pin changed from PA13 to PA15
Enabled  JTAG
Add interface to GPS and ADSB.
2022-04-05 09:57:02 +10:00
Nicholas Kruzan
d42a287db0 AP_HAL_ESP32: partitions.csv - increase app partition to 3M 2022-04-05 08:41:11 +10:00
Nicholas Kruzan
c3e071579d AP_Filesystem: AP_Filesystem_ESP32 allow_absolute_paths in ::open() 2022-04-05 08:40:26 +10:00
Andrew Tridgell
1c5a954b24 HAL_ChibiOS: incorrect class of class in uart TX timeout
need to call chEvtGetAndClearEventsI() as we are in a system lock
state
2022-04-04 16:59:38 +10:00
Peter Barker
fd666dc4f1 AP_AHRS: subtract accel bias from correct ins accel instance
In the case that you have INS_USE indicating IMUs should be used, but
EK3_IMU_MASK leaving some IMUs unused, we subtract the bias from the
wrong INS data
2022-04-03 11:41:09 +10:00
Andrew Tridgell
a01ca35939 AP_Logger: increase stack of log_io thread by 256
This was seem on omnibusf4pro, it is a bit too close:

  log_io PRI= 59 sp=0x20015CC0 STACK=144/1656
2022-04-01 19:56:30 +11:00
Mirko Denecke
c1e0e9c305 AP_HAL_ChibiOS: fix ms5611 probe for NucleoH743 2022-03-31 16:31:13 +11:00
Randy Mackay
0dd9a8028b AR_WPNav: integrate scurve snap 2022-03-30 15:34:14 +09:00
Randy Mackay
c233f114bd AR_PosControl: fixup logging to record desired and target velocity and acceleration 2022-03-30 15:34:14 +09:00
Randy Mackay
74df1c0b22 AR_PosControl: reduce default I term to zero 2022-03-30 15:34:14 +09:00
Randy Mackay
995ff30cd6 AC_Avoid: enable slide behaviour for rover 2022-03-30 15:34:14 +09:00
Randy Mackay
5d96804ef3 AR_WPNav: add protection against zero accel max 2022-03-30 15:34:14 +09:00
Randy Mackay
a1b9fe5097 AR_WPNav: jerk time reduced to 0.1 sec 2022-03-30 15:34:14 +09:00
Randy Mackay
c6dffb990f AR_WPNav: add set_nudge_speed_max
allows pilot to override speed_max from RC input
2022-03-30 15:34:14 +09:00
Randy Mackay
394a5fd2fc AR_WPNav: get/set_desired_speed renamed to get/set_speed_max
set_speed_max updates position controller limits and triggers recalculation of scurves
local _desired_speed member is no longer required because max speed is held in position controller
2022-03-30 15:34:14 +09:00
Randy Mackay
1996085282 AR_WPNav: init accepts speed max
also remove unused set_desired_speed_to_default
also init previous leg in set_desired_location
init accepts speed but inforces minimum
2022-03-30 15:34:14 +09:00
Randy Mackay
a91025fa16 AR_WPNav: remove unused speed_min 2022-03-30 15:34:14 +09:00
Randy Mackay
537874c075 AR_WPNav: jerk_max maintained in position controller 2022-03-30 15:34:14 +09:00
Randy Mackay
54eee7d311 AR_WPNav: simplify init 2022-03-30 15:34:14 +09:00
Randy Mackay
d03e801b65 AR_WPNav: remove get_accel_max, get_jerk_max 2022-03-30 15:34:14 +09:00
Randy Mackay
653afbeb15 AR_WPNav: enable_overspeed added to improve sailboat support 2022-03-30 15:34:14 +09:00
Randy Mackay
2f6e098f23 AR_WPNav: always use local calculation of cross track
also calc_crosstrack_error may return negative values
2022-03-30 15:34:14 +09:00
Randy Mackay
729dfee01c AR_WPNav: pivot turns stop before turning 2022-03-30 15:34:14 +09:00
Randy Mackay
e0a628bb8c AR_WPNav: add is_fast_waypoint accessor 2022-03-30 15:34:14 +09:00
Randy Mackay
0bcae12ceb AR_WPNav_OA: use wpnav's expect fast updates 2022-03-30 15:34:14 +09:00
Randy Mackay
f769a18996 AR_WPNav: add set_desired_location_expect_fast_update 2022-03-30 15:34:14 +09:00
Randy Mackay
1fd9da710d AR_WPNav: add internal error if invalid destination received 2022-03-30 15:34:14 +09:00
Randy Mackay
461c5196e7 AR_WPNav: add ACCEL and JERK params and accessors
allows users to specify a different acceleration and jerk for Auto, Guided, RTL, etc compared with manual modes (Acro, etc)
2022-03-30 15:34:14 +09:00
Randy Mackay
47ab961f42 AR_WPNav: fix application of turn-max-g 2022-03-30 15:34:14 +09:00
Randy Mackay
b1237ffe80 AR_WPNav: always pivot at corners of at least WP_PIVOT_ANGLE 2022-03-30 15:34:14 +09:00
Randy Mackay
3d048ddcc2 AR_WPNav: fix pivot activation when reversing 2022-03-30 15:34:14 +09:00
Randy Mackay
6515e71fc1 AR_WPNav: move OA path planning handling into a separate class 2022-03-30 15:34:14 +09:00
Randy Mackay
2a1013e896 AR_WPNav: set desired lat accel and crosstrack to zero when disarmed 2022-03-30 15:34:14 +09:00
Randy Mackay
a185e78271 AR_WPNav: integrate AR_PivotTurn class
moves pivot turn feature to separate class
also does not advance along scurve path while pivotin
2022-03-30 15:34:14 +09:00
Randy Mackay
7225d74777 AR_PivotTurn: pivot turn controller
also reduces default pivot speed to 60deg/sec (was 90deg/sec)
add would_active and allow activation to be forced
2022-03-30 15:34:14 +09:00
Randy Mackay
9d629f5ecd AR_WPNav: use position controller and s-curves 2022-03-30 15:34:14 +09:00
Randy Mackay
abc7bd446a AR_PosControl: rover position controller 2022-03-30 15:34:14 +09:00
Randy Mackay
8fcefb59b1 AP_Math: add Vector2f::dot 2022-03-30 15:34:14 +09:00
Andy Piper
23f8a00619 AP_HAL_ChibiOS: use narrower bitwidths for dshot and LEDs to allow more accurate prescaler calculation 2022-03-30 17:11:09 +11:00
Andy Piper
fff82bed75 AP_HAL: update prescaler tests 2022-03-30 17:11:09 +11:00
Peter Barker
d9f819085c AP_Math: add specialisation for sq(float)
avoids conversion to double
2022-03-30 08:44:19 +11:00
Henry Wurzburg
479b02e5b0 HWDEF: add SLCAN OTG port, correct defaults.param errors 2022-03-29 10:43:51 +11:00
Andrew Tridgell
0879b497a4 AP_Param: fixed param class conversion code
param class conversion was unconditionally overwriting the parameter
from the old parameter. This meant if the user has set a value in an
old firmware they could not change it in a new firmware.

I hit this with ARSPD_TYPE. I had previously set this to 0 in a
previous use of the board, and found that it kept resetting to 0 on
the new firmware when I tried to enable airspeed
2022-03-29 10:41:33 +11:00
Andy Piper
eb996f28cc AP_HAL_ChibiOS: spro H7 extreme updates.
cannot currently use both IMUs on spro H7 extreme due to CPU load
2022-03-29 10:39:35 +11:00
Andy Piper
63229d7eca AP_HAL_SITL: correct disable channel maths
unilaterally write rcoutput to appease the sitl gods
2022-03-29 10:29:31 +11:00
Andy Piper
6511a65b67 SRV_Channel: don't count disabled channels in mask and setup functions
disable channels that are not in use
2022-03-29 10:29:31 +11:00
Andy Piper
4fa0e275fd AP_HAL_ChibiOS: fix ESCs constantly arming on rover with dshot commands
make sure debug will compile
take into account active channels when configuring bdshot
add channel mask debug output
correct set bdshot telemetry position at startup
make sure all channels in a bdshot group are pulled high to prevent spurious pulses
2022-03-29 10:29:31 +11:00
xianglunkai
abb0bf34d2 test_3d_lines:fix test result for test_3d_lines 2022-03-29 08:26:39 +09:00
xianglunkai
4513546845 vector3:return w1 not zero vector 2022-03-29 08:26:39 +09:00