Commit Graph

32259 Commits

Author SHA1 Message Date
Peter Barker 3a37b61cae AP_TECS: ensure good TECS state before running update_pitch_throttle
update_pitch_throttle can be called when update_50hz hasn't run in a very long time, or ever.  This requires a main loop rate >50Hz, and for the mode change to occur in the same loop that update_50Hz doesn't run but update_pitch_throttle does.
2023-10-13 16:28:52 +09:00
Andrew Tridgell 5d76b4e9fc AP_TECS: fixed descent or lack of climb bug
this fixes a state where we either cannot climb or descend in an
uncontrolled manner in a TECS controlled mode

the conditions under which this happened were:

- _use_synthetic_airspeed_once was true due to quadplane takeoff
- we left _thr_clip_status as MAX from previous use of synthetic airspeed
- then run without airspeed

note that this can also impact users with an airspeed sensor if they
disable it or it fails in flight, particularly during a climb
2023-10-13 16:28:52 +09:00
Peter Barker 6c2a12f5ab SITL: fix balancebot yaw reset to be kinimatically consistent
... or at least closer to it.

We were hard-resetting the yaw to zero when the vehicle was upright.  That makes for huge simulated gyro rates, and that means the differences between the gyros can be huge sample-to-sample, so we can get gyros-inconsistent errors.

Fix things so we don't reset yaw at the same time as pitch, and also twist the vehicle to point North again when disarmed.
Backport of PR https://github.com/ArduPilot/ardupilot/pull/25046
2023-10-13 16:28:51 +09:00
Peter Barker 9d70db6df1 SITL: reset balancebot to vertical in a kinmetically consistent manner
The hard-reset of all state variables means we feed the EKF inconsistent gyro data.  Attempt to upright the vehicle with a simple p-gain when it is disarmed, as if someone is pushing the thing back upright
Backport of PR https://github.com/ArduPilot/ardupilot/pull/24314
2023-10-13 16:28:51 +09:00
bugobliterator 7f10222a27 AP_OpenDroneID: ensure Persistent memory is not read continuously 2023-10-13 16:28:51 +09:00
bugobliterator 884049bb14 GCS_MAVLink: move sysid_my_gcs to be public 2023-10-13 16:28:51 +09:00
bugobliterator 809ca6191d AP_HAL_ChibiOS: remove Chip ID as Basic ID mechanism 2023-10-13 16:28:51 +09:00
bugobliterator 38220a8c4d AP_OpenDroneID: remove Chip ID as Basic ID mechanism 2023-10-13 16:28:51 +09:00
bugobliterator 1d7c406d60 AP_HAL_ChibiOS: explain DID_OPTIONS config in CubeOrange-ODID/defaults.parm 2023-10-13 16:28:51 +09:00
bugobliterator b05df95c3d AP_OpenDroneID: add support for persistent storage of UAS ID 2023-10-13 16:28:51 +09:00
bugobliterator 55504e7fcc AP_HAL: add support for get_persistent_param_by_name 2023-10-13 16:28:51 +09:00
bugobliterator 3f5365ed54 AP_HAL_ChibiOS: add support for get_persistent_param_by_name 2023-10-13 16:28:51 +09:00
bugobliterator d6f0c1e316 AP_HAL_ChibiOS: add support for storing OpenDroneID in bootloader sector 2023-10-13 16:28:51 +09:00
Andy Piper 1a8ae96b0d hwdef: ensure SpeedyBeeF405Mini builds on plane 2023-10-13 16:28:51 +09:00
Andy Piper 8116812ae8 hwdef: adjust serial protocol defaults on various boards for 4.4 naming scheme 2023-10-13 16:28:51 +09:00
Andy Piper 64db5c8310 hwdef: SpeedyBeeF405Mini 2023-10-13 16:28:51 +09:00
Peter Barker b85e77a0d4 GCS_MAVLink: correct sensors when no baros found
GCSs will know we have no baros on-board, as will the RC telemetry library
2023-10-13 16:28:51 +09:00
Andy Piper 7e29b7bdf6 AP_HAL_ChibiOS: T-Motor H743 Mini 2023-10-13 16:28:51 +09:00
Andy Piper 5b489ec140 AP_HAL_ChibiOS: provide mcu defaults in betaflight conversion 2023-10-13 16:28:51 +09:00
Andy Piper d9b5bcbd9d AP_HAL_ChibiOS: correct hwdef generator battery scale 2023-10-13 16:28:51 +09:00
Andy Piper 8d6b6e478c AP_HAL_ChibiOS: cope with different IMU drivers in hwdef conversion 2023-10-13 16:28:51 +09:00
Andy Piper 7e40b64dad hwdef: mRoControlZeroOEMH7 bdshot version 2023-10-13 16:28:51 +09:00
Andy Piper 997066ef1a hwdef: correct inversion pin on MambaF405v2
correct battery setup for MambaF405v2
provide suitable serial defaults for MambaF405v2
reallocate DMA channels to allow full DMA on USART3 and NeoPixel on MambaF405v2
add camera control pin to MambaF405v2
2023-10-13 16:28:51 +09:00
Andy Piper c74e96528b AP_HAL_ChibiOS: betafpv F450 AIO hwdef 2023-10-13 16:28:51 +09:00
Andy Piper 3c870e0b10 AP_HAL_ChibiOS: allow 8 bdshot channels on mRoControlZeroH7 2023-10-13 16:28:51 +09:00
Andy Piper ca846443d1 AP_NavEKF: fallback to no baro on boards that have no baro 2023-10-13 16:28:51 +09:00
Paul Riseborough 6040541973 AP_NavEKF3: Allow operation with EK3_SRCx_POSZ = 0 (NONE) 2023-10-13 16:28:51 +09:00
Paul Riseborough 089c278b42 AP_NavEKF: Allow EK3_SRCx_POSZ to be set to 0 (NONE) 2023-10-13 16:28:51 +09:00
Andy Piper 23c8142a6c AP_NavEKF3: allow high values of EK3_ALT_M_NSE for boards without baros 2023-10-13 16:28:51 +09:00
Davide_Lentini c1df42300e AP_HAL_ChibiOS: Update luminousbee5 defaults.parm 2023-10-13 16:28:51 +09:00
Mohammad Hefny e5439fa321 AP_HAL_Linux: Fix RPI check using enumerations 2023-09-14 14:17:01 +09:00
Henry Wurzburg a12de9efb3 AP_HAL_ChibiOS:improve MambaF405MINI defaults 2023-09-14 14:17:01 +09:00
Andrew Tridgell 8a27db4f48 hwdef: get airbotf4 building with 4.4
minimize, same as master
2023-09-14 14:17:01 +09:00
Martin Luessi df2d268f78 AP_HAL_ChibiOS: Add RADIX2HD target 2023-09-14 14:17:01 +09:00
Martin Luessi d19608c922 AP_HAL_ChibiOS: Allow custom STM32_PLL1_DIVQ_VALUE for H7 2023-09-14 14:17:01 +09:00
yjuav ca64817ee2 hwdef: add YJUAV_A6SE board support 2023-09-14 14:17:01 +09:00
Andy Piper bef905d357 AP_HAL_ChibiOS: use old CRT1_AREAS_NUMBER 2023-09-14 14:17:01 +09:00
Martin Luessi fc8ea7797d AP_HAL_ChibiOS: RAM initialization and linker files changes for external flash targets 2023-09-14 14:17:01 +09:00
Martin Luessi 8d5ccec3da AP_HAL_ChibiOS: Use custom H750 linker script 2023-09-14 14:17:01 +09:00
Martin Luessi 120391bfd2 AP_HAL_ChibiOS: Fix H750 linker script 2023-09-14 14:17:01 +09:00
Martin Luessi 3614b23669 AP_HAL_ChibiOS: Allow custom linker script, change extflash linker script 2023-09-14 14:17:01 +09:00
Martin Luessi 784eb8d2aa AP_HAL_ChibiOS: Move scheduler task table to RAM for H750 2023-09-14 14:17:01 +09:00
Martin Luessi 2781f7bf73 AP_HAL_ChibiOS: Add libgcc comment to H750 linker script 2023-09-14 14:17:01 +09:00
Martin Luessi 37aa7fae05 AP_HAL_ChibiOS: Use DTCM for vector table for external flash targets 2023-09-14 14:17:01 +09:00
Martin Luessi fe9d7a559a AP_HAL_ChibiOS: Move more time critical code to RAM for H750 2023-09-14 14:17:01 +09:00
Martin Luessi 8d89c55f3e AP_HAL_ChibiOS: increase FLASH_RAM and rename FDCAN to CAN for H750 2023-09-14 14:17:01 +09:00
Martin Luessi 4e1cb97017 AP_HAL_ChibiOS: Copy vector table to RAM if external flash is primary 2023-09-14 14:17:01 +09:00
Martin Luessi 98a6153bec AP_HAL_ChibiOS: Change linker script so vector table can be copied to RAM for external flash targets 2023-09-14 14:17:01 +09:00
Martin Luessi f096cb0fb2 AP_HAL_ChibiOS: Allow custom STM32_QSPISEL for H7 2023-09-14 14:17:01 +09:00
Andrew Tridgell daad477d84 AP_Scripting: added docs for log_file_content 2023-09-05 19:42:25 +09:00
Davide_Lentini 9d586b077a AP_HAL_ChibiOS: luminousbee5 hwdefs and default.parm update
fix: restored storage folders for luminousbee5 in hwdef
2023-09-05 19:42:25 +09:00
Willian Galvani a61ad60c86 AP_MotorsUGV: add asymmetry factor for skid-steering
Co-authored-by: Iampete1 <iampete@hotmail.co.uk>
2023-09-05 19:42:25 +09:00
Andrew Tridgell b2180e037f AP_Scripting: added log_file_content method
this allows for aerobatics to log the schedule for easier log review
2023-09-05 19:42:25 +09:00
Andy Piper 60033df55a AP_HAL_ChibiOS: pull RTS lines low on Pixhawk6C to avoid glitches on startup 2023-09-05 19:42:25 +09:00
Willian Galvani b4a8d595c9 AP_HAL_Linux: update Navigator available GPIOs
The comment was wrong. gpio 26 is actually used for the PCA Output Enable signal.
This also adds GPIO18, which is the one broken out to the PWM0 pin
2023-09-05 19:42:25 +09:00
Iampete1 25a78ce936 AP_BattMonitor: UAVCAN: allow battery reset if not using CAN SoC 2023-09-05 19:42:25 +09:00
Paul Riseborough ca710df64f AP_NavEKF3: Update EK3_GLITCH_RADIUS metadata 2023-09-05 19:42:25 +09:00
Paul Riseborough 9f19908cbe AP_NavEKF3: increase innovation variance instead of clipping innovations 2023-09-05 19:42:25 +09:00
Paul Riseborough eeb0be2601 AP_NavEKF3: Provide option to clip velocity and position innovations 2023-09-05 19:42:25 +09:00
Andy Piper 5b33edb93c AP_HAL_ChibiOS: add 8 bi-directional dshot channels to KakuteH7-Wing 2023-09-05 19:42:25 +09:00
Peter Barker 698a036973 hwdef: qiotek: correct HAL_BATT_MONITOR_DEFAULT define name 2023-09-05 19:42:25 +09:00
Peter Barker 3b47729182 hwdef: add hwdef for SDMODELH7V1 2023-09-05 19:42:25 +09:00
Andrew Tridgell 471f847245 GCS_MAVLink: fixed corruption of FTP reply component ID
this led to not being able to do FTP transfers with
support.ardupilot.org unless MissionPlanner used the same component ID
as the support engineer GCS
2023-09-05 19:42:25 +09:00
Andrew Tridgell 90663fd47b AP_Param: fixed parameter defaults array length handling
we need to add up the total for all comma separated parameter files
2023-09-05 19:42:25 +09:00
Andrew Tridgell 0fc1b94941 AP_UAVCAN: make himark servo optional in build
and only allocate handlers if enabled
2023-09-05 19:42:25 +09:00
Andrew Tridgell e2b551377f AP_UAVCAN: added Hobbywing ESC support 2023-09-05 19:42:25 +09:00
Andrew Tridgell 659885419a AP_PiccoloCAN: expand servo status logging 2023-09-05 19:42:25 +09:00
Andrew Tridgell e860bc325f AP_Logger: expand servo status logging 2023-09-05 19:42:25 +09:00
Andrew Tridgell d49eb9b5a1 AP_UAVCAN: support Himark servo protocol 2023-09-05 19:42:25 +09:00
Andy Piper 0eff0bb576 AP_HAL_ChibiOS: change incorrect I2C internal mask from SkystarsH7HD bdshot 2023-09-05 19:42:25 +09:00
Andrew Tridgell 84ddd8f9b4 hwdef: allow Pixhawk1-1M-bdshot to build for 4.4.0 2023-08-14 08:49:48 +09:00
Andrew Tridgell b842270196 AP_GPS: fixed RTK injection when first module is a BASE
this is a partial backport of #24132 which fixes RTK injection when
the 1st GPS module is a DroneCAN RTK rover. Without this change RTCM
injection for RTK fix on the base will only work if it happens to come
up as the first module
2023-08-14 08:49:48 +09:00
Andrew Tridgell f24507284a AP_Compass: allow override of IST8310 orientation
this allows for vendor GPS modules and internal compass which use a
different orientation
2023-08-14 08:49:48 +09:00
Andrew Tridgell aa0a9eb917 hwdef: added SIYI NY flight controller 2023-08-14 08:49:48 +09:00
Andrew Tridgell 7da87a811f AP_Arming: fixed auto-enable of fence with forced arm
when a user forced armed and had FENCE_AUTOENABLE=3 for enable on
arming then the fence did not enable
2023-08-14 08:49:48 +09:00
Peter Barker e3a049ba40 GCS_MAVLink: fix airspeed cal / format commands via non-USB telemetry 2023-08-14 08:49:48 +09:00
Andrew Tridgell 334bd8eaa5 AP_NavEKF3: fixed race condition in updateFilterStatus()
filter status was initially set to zero then updated. This interacts
with the IMU filtering code which checks filter status from a
different thread to determine active_EKF_type(). When the race
condition is hit then the IMU we are running notch filters on changes
for a single sample, causing a notch filter glitch
2023-08-14 08:49:48 +09:00
Andrew Tridgell d48b95c4a7 AP_Airspeed: increased DroneCAN airspeed timeout 2023-08-14 08:49:48 +09:00
Andrew Tridgell 88f7246c7f AP_Airspeed: fixed handling of unhealthy airspeed
this fixes a bug introduced in
https://github.com/ArduPilot/ardupilot/pull/22416 which results in
using bad airspeed data on timeout. The prev_health variable is
updated by the get_pressure call
2023-08-14 08:49:48 +09:00
Randy Mackay 90e69def97 AP_Scripting: add rover quicktune 2023-08-01 16:51:27 +09:00
Randy Mackay 2f92f2c05c AP_Scripting: AR_PosControl bindings 2023-08-01 16:51:27 +09:00
Randy Mackay 034bf32a7a AP_Scripting: add AR_AttitudeControl srate binding
also add AP_Vehicle:get_steering_and_throttle binding
2023-08-01 16:51:27 +09:00
Randy Mackay d7631cc139 AC_PID: AC_PID_2D integrates SlewCalculator2D 2023-08-01 16:51:27 +09:00
Randy Mackay e81a18c83b Filter: add SlewCalculator2D 2023-08-01 16:51:27 +09:00
Randy Mackay e2f0cf9c77 Filter: SlewLimiter definitions moved to cpp 2023-08-01 16:51:27 +09:00
Randy Mackay 651e5ec62a AP_Vehicle: add get_steering_and_throttle 2023-08-01 16:51:27 +09:00
Randy Mackay 6540d12d66 AR_PosControl: add singleton and get_srate 2023-08-01 16:51:27 +09:00
Randy Mackay 6c87dcd32d AR_AttitudeControl: add singleton and get_srate 2023-08-01 16:51:27 +09:00
tiralonghipol cf92859abd AP_HAL_ChibiOS: add new board BlitzF745AIO 2023-08-01 16:51:27 +09:00
Andy Piper 926154c679 AP_HAL_ChibiOS: correct incorrect defaults for serial ports on FoxeerH743v1 2023-08-01 16:51:27 +09:00
Andy Piper 79485f72d4 AP_RCProtocol: report tracer frame rate correctly 2023-08-01 16:51:27 +09:00
Andy Piper 959d7ef80d AP_RCProtocol: rescan at CRSFv3 baud rates to avoid RX loss on soft reboot 2023-08-01 16:51:27 +09:00
Randy Mackay 869d1aea38 AR_PosControl: limit and zero velocity I-term
zero in forward-back direction
limit in lateral direction
2023-08-01 16:51:27 +09:00
Randy Mackay d6faa6e25f AR_AttitudeContol: add steering_limited checks 2023-08-01 16:51:27 +09:00
Randy Mackay 4f91d237cf AP_Math: Vector2f::projected made const 2023-08-01 16:51:27 +09:00
Andy Piper a43ea834fb AP_HAL_ChibiOS: correct comment in HEEWING-F405 v1 2023-08-01 16:51:27 +09:00
Andy Piper b511b73875 AP_HAL_ChibiOS: HEEWING-F405v2 which includes dataflash logging 2023-08-01 16:51:27 +09:00
Andy Piper c70509f3c6 AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT 2023-08-01 16:51:27 +09:00
Andrew Tridgell b12034bbb8 AP_Mount: prevent SIYI driver crash if serial port not setup
if MNT1_TYPE=8 and no serial protocol set to gimbal then a camera
trigger can crash the vehicle
2023-08-01 16:51:27 +09:00
Andy Piper 64b0cd1424 AP_BLHeli: add battery status MSP handling
give internal error if an unknown MSP command occurs
2023-08-01 16:51:27 +09:00