Commit Graph

29776 Commits

Author SHA1 Message Date
Andy Piper 3199412bff AP_HAL_SITL: add vector addition function 2022-05-04 17:05:51 +10:00
Andy Piper 884454cd88 AP_HAL_ChibiOS: add vector addition function 2022-05-04 17:05:51 +10:00
Andy Piper f57ac4787d AP_HAL: add Jain's estimator
notch tuning using FFT averaging
allocate scratch space for peak finding
return all detected peaks to caller
2022-05-04 17:05:51 +10:00
Andrew Tridgell a7b3a5713d AP_Scripting: fixed non-oscillating yaw limit 2022-05-04 13:56:43 +10:00
Andrew Tridgell c2af9a9154 AP_Scripting: pause quicktune during pilot input
thanks to Marco for the suggestion
2022-05-04 13:56:43 +10:00
Andrew Tridgell 8320b90a01 AP_Scripting: added norm_input_dz binding 2022-05-04 13:56:43 +10:00
MallikarjunSE bf9c0fffa7 hwdef: sierra-l431 hwdef update 2022-05-04 07:17:41 +10:00
Andrew Tridgell 5a1a87cc60 AP_AHRS: fixed bug in blended EKF bias
The bug fix in #20431 was incomplete, and ended up with the wrong
blended accel bias. This fixes it
2022-05-04 06:49:34 +10:00
Peter Barker d9f605ed36 AP_Baro: move error logging of sensor health into AP_Baro 2022-05-03 17:38:09 +10:00
Iampete1 f61d96dd5c SITL: SIM_Frame: add number of motors to json spec 2022-05-03 10:03:07 +10:00
Iampete1 f864d93140 SITL: Frame and Motor changes to allow motor example 2022-05-03 10:03:07 +10:00
Iampete1 6a8fff67f7 SITL: SIM_Frame: remove motor evaluation debug code 2022-05-03 10:03:07 +10:00
Iampete1 a095415702 SITL: examples: evaluate battery: add readme 2022-05-03 10:03:07 +10:00
Iampete1 53f7ad24a8 SITL: add motor + prop evaluation model 2022-05-03 10:03:07 +10:00
Andrew Tridgell 617213bef0 AP_Scripting: added quicktune.lua script
rapid tuning for VTOL control
2022-05-03 10:01:19 +10:00
Andrew Tridgell 77a985182c AP_Scripting: added get_rpy_srate binding
and remove dmod binding
2022-05-03 10:01:19 +10:00
Andrew Tridgell 99a6cb69f8 AC_AttitudeControl: added get_rpy_srate()
and remove dmod binding, as slew rate turned out to be more useful
2022-05-03 10:01:19 +10:00
Peter Barker cef436b272 AP_RangeFinder: implement distance_cm_orient in terms of distance_orient 2022-05-03 09:23:37 +10:00
Andy Piper 2209576c90 AP_Scheduler: refactor task info into TaskInfo
break fast_loop down into FastTasks to aid profiling
run fast tasks before scheduled tasks
fix scheduler example
introduce fast task priorities
remove fast loop
2022-05-03 08:20:13 +09:00
Andy Piper cc2acc35a6 AP_Vehicle: add task info for fast loop
move fast loop tasks into scheduler table
remove fast loop
2022-05-03 08:20:13 +09:00
Peter Barker 66a9677f79 SITL: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker c3cd733f26 Filter: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker 3592132774 AP_WindVane: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker 80c3415419 AP_WheelEncoder: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker 678d51f47e AP_VisualOdom: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker 2ffc16d1c5 AP_VideoTX: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker e490a5b5cd AP_UAVCAN: tidy includes 2022-05-03 09:14:58 +10:00
Peter Barker a6eec9f063 AP_Terrain: tidy includes 2022-05-03 09:14:58 +10:00
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
Peter Barker 29c2c40c41 hwdef: enable both OreoLED and Solo gimbal on fmuv3
for users running fmuv3 on their Solo
2022-03-29 08:24:59 +09:00
Peter Barker a30f33a674 hwdef: enable both OreoLED and Solo gimbal on CubeOrange
for users who have replaced their CubeSolo with a CubeOrange
2022-03-29 08:24:59 +09:00
Peter Barker f3bf6e56c8 AP_Mount: enable Solo Gimbal only on CubeGreen 2022-03-29 08:24:59 +09:00
Peter Barker f186f612f9 AP_HAL_ChibiOS: enable Solo Gimbal only on CubeGreen 2022-03-29 08:24:59 +09:00
Bill Geyer 7e09f68f26 AP_Math: add chirp function to support frequency sweeps in systemid and autotune 2022-03-29 08:05:41 +09:00
Bill Geyer f1a6865caa AC_Autotune: clean up variable init for dwell 2022-03-29 08:05:41 +09:00
Bill Geyer bd0df72863 AC_AutoTune: use chirp function in AP_Math for frequency sweeps 2022-03-29 08:05:41 +09:00
Bill Geyer ce725764d4 AC_AutoTune: combine dwell_run_test for angle and rate 2022-03-29 08:05:41 +09:00
Bill Geyer ba28227483 AC_AutoTune: combine dwell_init methods 2022-03-29 08:05:41 +09:00
Bill Geyer bbc259329d AC_AutoTune:tradheli-streamline gcs messages 2022-03-29 08:05:41 +09:00
Andrew Tridgell 7dc5911572 hwdef: changed MatekH743 to a 32 bit timer
the 68ms issue is still present on this board. Switching to a 32 bit
timer will fix it, but loses us the tonealarm support
2022-03-29 07:45:23 +11:00
Andrew Tridgell 4564140745 HAL_ChibiOS: display source of RC input
distinguish between IOMCU, RCInput with bytes and RCInput with pulses
2022-03-28 17:09:26 +11:00
Andrew Tridgell b46b0d61a6 HAL_ChibiOS: switch between IOMCU and RCProt rapidly
keep the RCProtocol decoder going when IOMCU being used, allowing for fast failover
between IOMCU RC input and uart RC input
2022-03-28 17:09:26 +11:00
Andrew Tridgell 5df38d0298 AP_RCProtocol: added using_uart() method 2022-03-28 17:09:26 +11:00
Andrew Tridgell ee6a7f21ec AP_Logger: added terrain correction logging field 2022-03-28 16:01:21 +11:00
Andrew Tridgell 62dc865321 AP_Terrain: added logging of terrain correction 2022-03-28 16:01:21 +11:00
Andrew Tridgell 54f6dbf476 AP_Scripting: restored corrected boolean in height_amsl binding 2022-03-28 16:01:21 +11:00
Andrew Tridgell f8aa4623ef HAL_SITL: don't use terrain adjustment 2022-03-28 16:01:21 +11:00
Andrew Tridgell ed8f028359 AP_Arming: setup for terrain adjustment on arming 2022-03-28 16:01:21 +11:00
Andrew Tridgell 536b59ed42 SITL: don't use adjusted terrain in SITL 2022-03-28 16:01:21 +11:00
Andrew Tridgell 5f2c5be84a AP_Terrain: added terrain reference adjustment
this restores the terrain adjustment functionality removed in #19946,
but without the problematic approach of always using home (which can
be moved in flight) and with a TERR_OFS_MAX parameter to limit the
amount of adjustment
2022-03-28 16:01:21 +11:00
Peter Barker cafad05b38 AP_GPS: rearrange send-text for consistency 2022-03-27 06:21:20 -07:00