Commit Graph

32259 Commits

Author SHA1 Message Date
Peter Barker
de83a1b27b 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:26:01 +09:00
Andrew Tridgell
dbe21844ca 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:26:01 +09:00
Peter Barker
02d90bd159 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:26:01 +09:00
Peter Barker
7b4790171d 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:26:01 +09:00
bugobliterator
e93c9cf4c8 AP_OpenDroneID: ensure Persistent memory is not read continuously 2023-10-13 16:26:01 +09:00
bugobliterator
091e1e4894 GCS_MAVLink: move sysid_my_gcs to be public 2023-10-13 16:26:01 +09:00
bugobliterator
5a336c988a AP_HAL_ChibiOS: remove Chip ID as Basic ID mechanism 2023-10-13 16:26:01 +09:00
bugobliterator
71358b1523 AP_OpenDroneID: remove Chip ID as Basic ID mechanism 2023-10-13 16:26:01 +09:00
bugobliterator
50246c33c9 AP_HAL_ChibiOS: explain DID_OPTIONS config in CubeOrange-ODID/defaults.parm 2023-10-13 16:26:01 +09:00
bugobliterator
86ac95635d AP_OpenDroneID: add support for persistent storage of UAS ID 2023-10-13 16:26:01 +09:00
bugobliterator
bd7e969e7d AP_HAL: add support for get_persistent_param_by_name 2023-10-13 16:26:01 +09:00
bugobliterator
3e76e12ca6 AP_HAL_ChibiOS: add support for get_persistent_param_by_name 2023-10-13 16:26:01 +09:00
bugobliterator
cbdfdfa0cb AP_HAL_ChibiOS: add support for storing OpenDroneID in bootloader sector 2023-10-13 16:26:01 +09:00
Andy Piper
4b32ca7c55 hwdef: ensure SpeedyBeeF405Mini builds on plane 2023-10-13 16:26:01 +09:00
Andy Piper
fdcd7eb467 hwdef: adjust serial protocol defaults on various boards for 4.4 naming scheme 2023-10-13 16:26:01 +09:00
Andy Piper
4ecf41d325 hwdef: SpeedyBeeF405Mini 2023-10-13 16:26:01 +09:00
Peter Barker
349d258b50 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:26:01 +09:00
Andy Piper
a010c16cbd AP_HAL_ChibiOS: T-Motor H743 Mini 2023-10-13 16:26:01 +09:00
Andy Piper
78cbdc62fa AP_HAL_ChibiOS: provide mcu defaults in betaflight conversion 2023-10-13 16:26:01 +09:00
Andy Piper
4e1b1845fe AP_HAL_ChibiOS: correct hwdef generator battery scale 2023-10-13 16:26:01 +09:00
Andy Piper
1e9ff09a57 AP_HAL_ChibiOS: cope with different IMU drivers in hwdef conversion 2023-10-13 16:26:01 +09:00
Andy Piper
c1f4793c56 hwdef: mRoControlZeroOEMH7 bdshot version 2023-10-13 16:26:01 +09:00
Andy Piper
ccb9623d8e 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:26:01 +09:00
Andy Piper
0f1818f39e AP_HAL_ChibiOS: betafpv F450 AIO hwdef 2023-10-13 16:26:01 +09:00
Andy Piper
a7986ba27f AP_HAL_ChibiOS: allow 8 bdshot channels on mRoControlZeroH7 2023-10-13 16:26:01 +09:00
Andy Piper
c86f438679 AP_NavEKF: fallback to no baro on boards that have no baro 2023-10-13 16:26:01 +09:00
Paul Riseborough
7687a30c5f AP_NavEKF3: Allow operation with EK3_SRCx_POSZ = 0 (NONE) 2023-10-13 16:26:01 +09:00
Paul Riseborough
bccba316d4 AP_NavEKF: Allow EK3_SRCx_POSZ to be set to 0 (NONE) 2023-10-13 16:26:01 +09:00
Andy Piper
60b5093979 AP_NavEKF3: allow high values of EK3_ALT_M_NSE for boards without baros 2023-10-13 16:26:01 +09:00
Davide_Lentini
7f18fe6cf6 AP_HAL_ChibiOS: Update luminousbee5 defaults.parm 2023-10-05 08:19:40 +11:00
Mohammad Hefny
2f61448eec AP_HAL_Linux: Fix RPI check using enumerations 2023-09-14 14:10:32 +09:00
Henry Wurzburg
bde600a05d AP_HAL_ChibiOS:improve MambaF405MINI defaults 2023-09-14 14:10:32 +09:00
Andrew Tridgell
50bf26ec8d hwdef: get airbotf4 building with 4.4
minimize, same as master
2023-09-14 14:10:32 +09:00
Martin Luessi
09f233917c AP_HAL_ChibiOS: Add RADIX2HD target 2023-09-13 17:02:53 +10:00
Martin Luessi
e117f4a8fa AP_HAL_ChibiOS: Allow custom STM32_PLL1_DIVQ_VALUE for H7 2023-09-10 06:48:14 +10:00
yjuav
ee621e26de hwdef: add YJUAV_A6SE board support 2023-09-08 07:57:47 +10:00
Andy Piper
c900016140 AP_HAL_ChibiOS: use old CRT1_AREAS_NUMBER 2023-09-06 17:24:12 +10:00
Martin Luessi
aad29fe951 AP_HAL_ChibiOS: RAM initialization and linker files changes for external flash targets 2023-09-06 17:24:12 +10:00
Martin Luessi
2d1bc3acb4 AP_HAL_ChibiOS: Use custom H750 linker script 2023-09-06 17:24:12 +10:00
Martin Luessi
770f015ce7 AP_HAL_ChibiOS: Fix H750 linker script 2023-09-06 17:24:12 +10:00
Martin Luessi
f54a2661ce AP_HAL_ChibiOS: Allow custom linker script, change extflash linker script 2023-09-06 17:24:12 +10:00
Martin Luessi
eb37c4a5c9 AP_HAL_ChibiOS: Move scheduler task table to RAM for H750 2023-09-06 17:24:12 +10:00
Martin Luessi
8f339e9750 AP_HAL_ChibiOS: Add libgcc comment to H750 linker script 2023-09-06 17:24:12 +10:00
Martin Luessi
3d1f4e112f AP_HAL_ChibiOS: Use DTCM for vector table for external flash targets 2023-09-06 17:24:12 +10:00
Martin Luessi
73b9510cf6 AP_HAL_ChibiOS: Move more time critical code to RAM for H750 2023-09-06 17:24:12 +10:00
Martin Luessi
e7e9f586f9 AP_HAL_ChibiOS: increase FLASH_RAM and rename FDCAN to CAN for H750 2023-09-06 17:24:12 +10:00
Martin Luessi
ecad52e234 AP_HAL_ChibiOS: Copy vector table to RAM if external flash is primary 2023-09-06 17:24:12 +10:00
Martin Luessi
91dbb652a7 AP_HAL_ChibiOS: Change linker script so vector table can be copied to RAM for external flash targets 2023-09-06 17:24:12 +10:00
Martin Luessi
3e6bb954c8 AP_HAL_ChibiOS: Allow custom STM32_QSPISEL for H7 2023-09-06 17:24:12 +10:00
Andrew Tridgell
ddc7cb3747 AP_Scripting: added docs for log_file_content 2023-09-05 19:40:15 +09:00
Davide_Lentini
d9e3e6ab1c AP_HAL_ChibiOS: luminousbee5 hwdefs and default.parm update
fix: restored storage folders for luminousbee5 in hwdef
2023-09-05 19:40:15 +09:00
Willian Galvani
4b3f5fbb02 AP_MotorsUGV: add asymmetry factor for skid-steering
Co-authored-by: Iampete1 <iampete@hotmail.co.uk>
2023-09-05 19:40:15 +09:00
Andrew Tridgell
d471372d0d AP_Scripting: added log_file_content method
this allows for aerobatics to log the schedule for easier log review
2023-09-05 19:40:15 +09:00
Andy Piper
e54124f7e5 AP_HAL_ChibiOS: pull RTS lines low on Pixhawk6C to avoid glitches on startup 2023-09-05 19:40:15 +09:00
Willian Galvani
4deef903a8 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:40:15 +09:00
Iampete1
abf6a25db7 AP_BattMonitor: UAVCAN: allow battery reset if not using CAN SoC 2023-09-05 19:40:15 +09:00
Paul Riseborough
04e15e9a4c AP_NavEKF3: Update EK3_GLITCH_RADIUS metadata 2023-09-05 19:40:15 +09:00
Paul Riseborough
31d510042f AP_NavEKF3: increase innovation variance instead of clipping innovations 2023-09-05 19:40:15 +09:00
Paul Riseborough
7a4acadc9f AP_NavEKF3: Provide option to clip velocity and position innovations 2023-09-05 19:40:15 +09:00
Andy Piper
2767ffe654 AP_HAL_ChibiOS: add 8 bi-directional dshot channels to KakuteH7-Wing 2023-09-05 19:40:15 +09:00
Peter Barker
f4798f3773 hwdef: qiotek: correct HAL_BATT_MONITOR_DEFAULT define name 2023-09-05 19:40:15 +09:00
Peter Barker
15d5be8a4b hwdef: add hwdef for SDMODELH7V1 2023-09-05 19:40:15 +09:00
Andrew Tridgell
97bcbf656d 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:40:15 +09:00
Andrew Tridgell
dbfce61d69 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:40:15 +09:00
Andrew Tridgell
d5e7cdc944 AP_UAVCAN: make himark servo optional in build
and only allocate handlers if enabled
2023-09-05 19:40:15 +09:00
Andrew Tridgell
60dc2c1e1c AP_UAVCAN: added Hobbywing ESC support 2023-09-05 19:40:15 +09:00
Andrew Tridgell
714f6e1660 AP_PiccoloCAN: expand servo status logging 2023-09-05 19:40:15 +09:00
Andrew Tridgell
a08918960f AP_Logger: expand servo status logging 2023-09-05 19:40:15 +09:00
Andrew Tridgell
118d20943a AP_UAVCAN: support Himark servo protocol 2023-09-05 19:40:15 +09:00
Andy Piper
160d791087 AP_HAL_ChibiOS: change incorrect I2C internal mask from SkystarsH7HD bdshot 2023-08-21 21:41:11 +09:00
Andrew Tridgell
e9fdcd9994 hwdef: allow Pixhawk1-1M-bdshot to build for 4.4.0 2023-08-14 08:44:43 +09:00
Andrew Tridgell
f89e90f60b 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:44:43 +09:00
Andrew Tridgell
a6dab2a35a 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:44:43 +09:00
Andrew Tridgell
b51fe4d8a9 hwdef: added SIYI NY flight controller 2023-08-14 08:44:43 +09:00
Andrew Tridgell
49764a91c1 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:44:43 +09:00
Peter Barker
049a3f187b GCS_MAVLink: fix airspeed cal / format commands via non-USB telemetry 2023-08-14 08:44:43 +09:00
Andrew Tridgell
9fc8078df4 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:44:43 +09:00
Andrew Tridgell
a4b351008e AP_Airspeed: increased DroneCAN airspeed timeout 2023-08-14 08:44:43 +09:00
Andrew Tridgell
99b82c16eb 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:44:43 +09:00
Randy Mackay
97fc3af7a0 AP_Scripting: add rover quicktune 2023-08-01 16:48:42 +09:00
Randy Mackay
25b27b5b68 AP_Scripting: AR_PosControl bindings 2023-08-01 16:48:42 +09:00
Randy Mackay
1a7595611d AP_Scripting: add AR_AttitudeControl srate binding
also add AP_Vehicle:get_steering_and_throttle binding
2023-08-01 16:48:42 +09:00
Randy Mackay
c3d97aeb0f AC_PID: AC_PID_2D integrates SlewCalculator2D 2023-08-01 16:48:42 +09:00
Randy Mackay
1e17d35c09 Filter: add SlewCalculator2D 2023-08-01 16:48:42 +09:00
Randy Mackay
60663e5115 Filter: SlewLimiter definitions moved to cpp 2023-08-01 16:48:42 +09:00
Randy Mackay
b669298c6f AP_Vehicle: add get_steering_and_throttle 2023-08-01 16:48:42 +09:00
Randy Mackay
3d16dd5b82 AR_PosControl: add singleton and get_srate 2023-08-01 16:48:42 +09:00
Randy Mackay
72f8372adc AR_AttitudeControl: add singleton and get_srate 2023-08-01 16:48:42 +09:00
tiralonghipol
1c57ca14aa AP_HAL_ChibiOS: add new board BlitzF745AIO 2023-08-01 16:48:42 +09:00
Andy Piper
84d98514a9 AP_HAL_ChibiOS: correct incorrect defaults for serial ports on FoxeerH743v1 2023-08-01 16:48:42 +09:00
Andy Piper
352bc482af AP_RCProtocol: report tracer frame rate correctly 2023-08-01 16:48:42 +09:00
Andy Piper
de730eef64 AP_RCProtocol: rescan at CRSFv3 baud rates to avoid RX loss on soft reboot 2023-08-01 16:48:42 +09:00
Randy Mackay
d5b01ee404 AR_PosControl: limit and zero velocity I-term
zero in forward-back direction
limit in lateral direction
2023-08-01 16:48:42 +09:00
Randy Mackay
d3e4dd08d1 AR_AttitudeContol: add steering_limited checks 2023-08-01 16:48:42 +09:00
Randy Mackay
5702c6a672 AP_Math: Vector2f::projected made const 2023-08-01 16:48:42 +09:00
Andy Piper
dada9f8720 AP_HAL_ChibiOS: correct comment in HEEWING-F405 v1 2023-08-01 16:48:42 +09:00
Andy Piper
1227b7ab02 AP_HAL_ChibiOS: HEEWING-F405v2 which includes dataflash logging 2023-08-01 16:48:42 +09:00
Andy Piper
168756ce76 AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT 2023-08-01 16:48:42 +09:00
Andrew Tridgell
2d8600ea91 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:48:42 +09:00
Andy Piper
886f24764c AP_BLHeli: add battery status MSP handling
give internal error if an unknown MSP command occurs
2023-08-01 16:48:42 +09:00