Commit Graph

37604 Commits

Author SHA1 Message Date
Iampete1 26c51a8002 AP_TemperatureSensor: add logging option to only log sensors with no source 2024-07-30 11:07:17 +10:00
Iampete1 600d9eb7a8 AP_BattMonitor: Sum: report average temperature 2024-07-30 11:00:49 +10:00
Iampete1 45647718cb AP_BattMonitor: ESC: integrate consumed mah if not provided by ESC 2024-07-30 10:59:17 +10:00
Thomas Watson dc4d1bacdd AP_Scripting: adjust string metatable setup to fix sandbox integrity
In Lua, strings are the only type that come with a default metatable.
The metatable must be shared by all string objects, and it is set to be
the `string` library table each time that library is opened. In
Ardupilot's scripting engine, the last script to load then has access to
the string metatable as the library is opened fresh for each script, as
its `string` library will have been set to the metatable.

Therefore, if two scripts are loaded, A first and B second, and script B
executes e.g. `string.byte = "haha"`, then `string.byte()` and
`s:byte()` for script B are broken. Because the metatable is shared,
this also breaks `s:byte()` for script A, which violates the integrity
of the sandbox.

Fix the issue by disabling the metatable setup functionality when the
string libary is opened, then manually opening an additional copy of the
library (which won't be given to any script) and setting it as the
string metatable during intialization.

This will break any script that modifies the string metatable for
constructive purposes, but such a script could have been broken if it
weren't the only script running anyway.
2024-07-30 10:54:00 +10:00
Peter Barker 95281e5c17 hwdef: turn monior thread back on on some boards
most of these boards probably don't need it, but to make a PR no-binary-output...
2024-07-30 10:52:36 +10:00
Peter Barker 90b2a2acaa hwdef: change HAL_NO_MONITOR_THREAD out for HAL_MONITOR_THREAD_ENABLED
... and use a default value for peripherals
2024-07-30 10:52:36 +10:00
Thomas Watson 3a834e83c7 AP_Scripting: reference script environment directly
Referencing the original function to run is of questionable value and
the only user uses it to grab the script environent from the upvalues.

Instead, use a reference to the script environment table directly.
2024-07-30 10:33:56 +10:00
Thomas Watson 15255a36e4 AP_Scripting: reference function to run separately
Some bits of the code in the require machinery use the `lua_ref` to
access the script environment. However, this can change after the script
is rescheduled and it returns an arbitrary function to run next.

Resolve this by introducing `run_ref` which is specifically a reference
to the function to run next. `lua_ref` is preserved for the script
lifetime.
2024-07-30 10:33:56 +10:00
Thomas Watson da006d427d AP_Scripting: add test for require() after rescheduling
It can end up broken due to incorrect assumptions about the executed
function's upvalues, which might change after rescheduling.
2024-07-30 10:33:56 +10:00
Peter Barker be377da6a4 GCS_MAVLink: add build option to not send RC_CHANNELS_RAW
we keep this around in case we break old OSD setups
2024-07-30 10:29:58 +10:00
Peter Barker 6f5ea5a5e9 RC_Channel: rework duplicate-rc-options check to use a Bitmask
just for the memory saving.

Co-authored-by: muramura <ma2maru@gmail.com>
2024-07-30 10:28:42 +10:00
Peter Barker 93704c573c SITL: add documentation for SIM_ENGINE_FAIL and SIM_ENGINE_MUL 2024-07-30 09:21:26 +09:00
Peter Barker 9397ece55a AC_AutoTune: make axis-type enum-class
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-07-30 10:20:26 +10:00
Peter Barker f3766b831a AP_HAL_ChibiOS: make include file mistakes nicer to interpret 2024-07-30 09:57:01 +10:00
Thomas Watson 6acfc98cf4 AP_Scripting: factor out ap_object checker
Reduces flash usage.

Saves ~160B.
2024-07-30 09:55:25 +10:00
Thomas Watson 212256731f AP_Scripting: improve object allocation efficiency
Make new_X return the new object instead of having to grab it to
configure it.

Saves ~1.3K.
2024-07-30 09:55:25 +10:00
Thomas Watson 3e05cd9729 AP_Scripting: factor out field access argument error
Saves ~830B.
2024-07-30 09:55:25 +10:00
Thomas Watson 575ed6224f AP_Scripting: improve binding index function efficiency
Move the string checks into the load functions to avoid duplicating it
for each binding.

Also sync up the return types to avoid an unnecessary conversion.

Saves ~1.5K.
2024-07-30 09:55:25 +10:00
Thomas Watson e66d2a1495 AP_Scripting: remove redundant memsets
Matches current generator behavior.
2024-07-30 09:55:25 +10:00
Thomas Watson 837b17e82e AP_Scripting: more intelligently manage Lua stack
The Lua stack is guaranteed to have at least LUA_MINSTACK (default 20)
slots upon entry to C. Check to see if we might need more than that
minimum and only in that case call the function to check and resize the
stack. In virtually all cases the check can then be optimized away.

Additionally remove the redundant "Out of stack" message. Lua already
says "stack overflow" and a null message is valid.

Saves ~330B.
2024-07-30 09:55:25 +10:00
Thomas Watson 7212e35fb0 AP_Scripting: slightly improve codegen
Get singleton pointer closer to where it is used.

Saves ~170B.
2024-07-30 09:55:25 +10:00
Thomas Watson 60a9f1722c AP_DroneCAN: DNA_Server: unify bitmask handling
Put documentation with each bitmask and use the object directly. Node ID
range checks can be removed as the bitmask itself checks and we don't
expect to trip them.

Substantially cleans up the code.
2024-07-30 09:49:43 +10:00
Thomas Watson 56593574a9 AP_DroneCAN: DNA_Server: miscellaneous cleanup 2024-07-30 09:49:43 +10:00
Thomas Watson 5e0bb99dbb AP_DroneCAN: DNA_Server: fix handling of empty entry
Replaces the check for a CRC of 0 with a check that the hwid is 0.
Substantially reduces 1/256 chance that a particular node ID couldn't be
stored.
2024-07-30 09:49:43 +10:00
Thomas Watson 9aeab7b424 AP_DroneCAN: DNA_Server: use 0 as unknown ID
Slightly reduces flash usage and probably is clearer.
2024-07-30 09:49:43 +10:00
Thomas Watson 8d57533f1c AP_DroneCAN: DNA_Server: fix cases involving use of invalid node IDs 2024-07-30 09:49:43 +10:00
Thomas Watson a9317b1a07 AP_DroneCAN: correct and validate allowed NODE range
Node IDs >= 128 don't exist, and IDs 126 and 127 are "reserved for
network maintenance tools" according to the spec.
2024-07-30 09:49:43 +10:00
Thomas Watson 485a9387b1 AP_DroneCAN: DNA_Server: clean up storage failure handling
The StorageManager read_block/write_block methods only return failure if
an out of bounds access is performed. Assert statically that this does
not happen.

Also remove the now-impossible failed to add node state.
2024-07-30 09:49:43 +10:00
Thomas Watson cd8519321b AP_DroneCAN: DNA_Server: search for valid nodes after magic check
Ensures the occupation mask doesn't get populated with junk if the magic
is not valid.
2024-07-30 09:49:43 +10:00
Thomas Watson c1f59186fa AP_DroneCAN: DNA_Server: make reset method private 2024-07-30 09:49:43 +10:00
Ian Burwell 6b4e11090c AP_Scripting: Add BQ40Z shutdown example
This example intercepts PREFLIGHT_REBOOT_SHUTDOWN COMMAND_LONG's and if
param1==2, it shuts down the BQ40Z smart battery BMS. Otherwise it
passes through the COMMAND_LONG as a COMMAND_INT (this required updating
the gcs:run_command_int to return a MAV_RESULT rather than a bool).
2024-07-30 09:40:10 +10:00
Ian Burwell 9d34fa2a5e AP_Scripting: Add I2C transfer bindings
This adds bindings for an I2CDevice's transfer() function, an example,
and removes the nil return hint from the get_device() docs as it never
actually returns nil.
2024-07-30 09:40:10 +10:00
Iampete1 838fbc2b3b AP_Param: Fix `ENABLE_DEBUG` enabled error with no embedded param 2024-07-30 08:51:09 +10:00
Bob Long 64fc60ce32 AP_HAL_SITL: initialize rcout safety state
This allows BRD_SAFETY_DEFLT=1 to work correctly for SITL.
2024-07-30 08:44:31 +10:00
BLash d7ecf5fbc5 AP_ExternalAHRS_VectorNav: Consolidate EAH3 definition to single method
Resolve SITL failures due to multiply defined logger message by pulling the call to a single method
2024-07-29 15:52:29 +10:00
BLash 1d1bb5724e AP_ExternalAHRS_VectorNav: Address review comments
Remove unnecessary header
Switch parameters to default initialization
Change pointer casting to prevent a const_cast, and remove doubled sync byte when echoing ASCII messages
Fix Valgrind report by preventing use of nmea_printf on buffers which may not be null-terminated
2024-07-29 15:52:29 +10:00
BLash 50980ee03e AP_ExternalAHRS_VectorNav: Update SIM to match new message definitions
Redefine messages to 3 INS packets, and send as appropriate
Resolve SITL failures due to too-long logger message headers
2024-07-29 15:52:29 +10:00
BLash d4ca5fe868 AP_ExternalAHRS_VectorNav: Split IMU and EKF message
In AHRS Mode, split the single message to an IMU packet and an AHRS packet; in EKF Mode, split the two messages into an IMU message, an EKF packet, and a GNSS packet.
Simplify message header definition to consolidate and eliminate the need for static asserts
Update healthy logic and use to represent new packet structure
Replace EAH3 message with messages per-packet
Add Ypr as configured output in the EKF message
2024-07-29 15:52:29 +10:00
George Zogopoulos e227187e72 AP_TECS: Converted parameter TKOFF_MODE to TKOFF_OPTIONS 2024-07-29 15:50:32 +10:00
George Zogopoulos b163e13964 AP_TECS: Fixes to reset state
These concern the TAKEOFF flight stage and address #27147.

* Logging metadata fixes
* Disabled continuous TECS reset during takeoff
* Fixed bug in reached_speed_takeoff calculation
* Limited SPDWEIGHT=2 to only first part of takeoff climb
* _post_TO_hgt_offset set to constant
* Takeoff I-gain now defaults to 0 and is used
* Use at least TRIM_THROTTLE during the climb
* Updated description of TECS_TKOFF_IGAIN with new behaviour
* Forced max throttle while below TKOFF_LVL_ALT
* Added throttle constraints in no-airspeed mode

Additionally, set_min_throttle() has been created, that allows one to
set the minimum TECS throttle for the next update_pitch_throttle() loop.
Additionally, the throttle limits system has been reworked. TECS will
receive external throttle limits from Plane and will always take them
into account and respect them.
2024-07-29 15:50:32 +10:00
cuav-chen2 08c8ef379b HAL_ChibiOS: Added support for CUAV-7-Nano flight controller 2024-07-29 12:25:53 +10:00
Peter Barker 317fab2f19 AP_Mission: add and use an option_is_set method 2024-07-29 10:37:52 +10:00
Thomas Watson bbde876353 hwdef: remove EKF opinion from FlywooF745
No effect as lines have always been commented out, but not useful and
EKF2 is not something to encourage.

Verified no compiler output change.
2024-07-29 09:32:22 +10:00
Peter Barker 16c2e23ee7 AP_Mount: allow AP_MOUNT_BACKEND_DEFAULT_ENABLED to be overridden 2024-07-28 12:00:02 +10:00
Peter Barker debf3cb28e hwdef: SpeedyBeeF405WING: restrict mount support to the servo gimbal 2024-07-28 12:00:02 +10:00
Peter Barker 84efdd5700 hwdef: SpeedyBeeF405WING: remove landing gear support 2024-07-28 12:00:02 +10:00
Andrew Tridgell 2ce6532698 AP_Math: updated EulerAngles.pdf link 2024-07-27 11:14:10 +10:00
Andrew Tridgell 98733882f5 AP_Math: added comments and a test for euler ordering
our main euler functions did not have a comment on the ordering
convention
2024-07-27 11:14:10 +10:00
yaapu 5b7aaae008 AP_Frsky_Telem: fix for HAL_WITH_FRSKY_TELEM_BIDIRECTIONAL = 0 2024-07-26 20:12:40 +10:00
muramura e86d5e113f AP_Filesystem: BOOL for binary types 2024-07-26 20:12:05 +10:00
Leonard Hall bb1758ecb1 AC_Autotune: Add ABORT state for consistency between tests 2024-07-26 20:11:42 +10:00
Leonard Hall bea2c5b59b AC_Autotune: Clean up Multi Variables and non functional changes 2024-07-26 20:11:42 +10:00
Peter Barker 78dc5a7b5d hwdef: FlyingMoonF427: remove MAX7456 2024-07-26 20:10:38 +10:00
Peter Barker 5b5dd638c1 hwdef: FlyingMoonH743: remove MAX7456 2024-07-26 20:10:38 +10:00
Randy Mackay 44b3217178 AP_Camera: type param desc gets topotek 2024-07-26 12:55:24 +10:00
Randy Mackay 62a03f18d8 AP_Camera: type param desc gets viewpro and xacti 2024-07-26 12:55:24 +10:00
Andy Piper a560f89b35 AP_HAL_ChibiOS: update logging docs for 2RAW H743 2024-07-26 10:39:38 +10:00
Andy Piper 74f72db4eb AP_HAL_ChibiOS: rename 2RAWH743 to IFLIGHT_2RAW_H7 2024-07-26 10:39:38 +10:00
Andy Piper 278595cf83 AP_HAL_ChibiOS: add support for sdcard to iFlight 2RAW 2024-07-26 10:39:38 +10:00
Peter Barker 7f97e897e2 AP_Camera: add sanity check for Siyi lens change 2024-07-25 12:18:51 +10:00
muramura f1e67ba747 AP_Mount: SWITCH statement to table reference 2024-07-25 12:18:51 +10:00
muramura 9f2da4a763 AP_Mission: Change division to multiplication 2024-07-25 11:33:55 +10:00
Peter Barker a0ac6f22df AP_CANManager: use a switch statement to tidy driver allocation 2024-07-25 11:09:07 +10:00
Andrew Tridgell 23f628f26b hwdef: fixes for BotBloxSwitch 2024-07-25 10:57:04 +10:00
Leonard Hall 2ab3d0b3b0 AC_AttitudeControl: Add Landed Gain Backoff 2024-07-25 09:50:35 +10:00
muramura 84ff78f5c6 AP_Notify: Perform common checks first 2024-07-25 09:50:03 +10:00
James O'Shannessy 66817e207f AP_InertialSensor: Check the gyro/accel id has not been previously registered
If the Gyro/Accel ID is already in the registered list, do not try to add it again.

This stops an issue seen on a CubeOrangePlus BG3 where, during the very first boot after a parameter wipe, software incorrectly registers a fourth IMU.
The Fourth IMU is registered because the AUX IMU is the same DevID as the third ICM45686.
2024-07-25 09:49:35 +10:00
Luca Pescante 028017e38e ArduCopter/RC_Channel: add option 219
(Transmitter Tuning)
2024-07-25 09:40:13 +10:00
bugobliterator 8a4b925c71 AP_HAL_ChibiOS: add support for PPP between CubeRed Primary and Secondary 2024-07-25 09:37:16 +10:00
bugobliterator 4909ad4e4f AP_Networking: add debug code for PPP 2024-07-25 09:37:16 +10:00
bugobliterator 993d694fbb AP_HAL_ChibiOS: allow setup for low noise clock mismatch tolerant UART line 2024-07-25 09:37:16 +10:00
bugobliterator 025077b6f4 AP_HAL_ChibiOS: add support for recording UART Rx errors 2024-07-25 09:37:16 +10:00
mduclehcm 25a406e633 AP_Mount: Conditionally define `serial_instance` to fix unused variable compile error
- Wrapped the definition of `serial_instance` with preprocessor directives to ensure it is only defined when necessary.
- This resolves the compile error caused by the unused variable when no features requiring `serial_instance` are enabled.
2024-07-25 09:35:46 +10:00
Paul Riseborough 4904c718a5 AP_NavEKF3: Fix yaw alignment bug
When the  yaw is aligned to the GPS yaw, the recordYawResetsCompleted() function should be called the same as for any other yaw reset.
2024-07-25 09:34:48 +10:00
rishabsingh3003 07b6c57173 AP_TemperatureSensor: Extend analog sensor backend to 5th order polynomial 2024-07-24 17:53:08 +10:00
rishabsingh3003 3ab3388752 AP_ESC_Telem: Add ifndef before defining ESC_TELEM_MAX_ESCS 2024-07-24 17:45:24 +10:00
Randy Mackay 2b64787099 AP_Mount: topotek spelling fix 2024-07-24 17:28:24 +10:00
Randy Mackay cfd1e98333 AP_Mount: topotek safely parses version 2024-07-24 17:28:24 +10:00
Randy Mackay 1b77751aef AP_SmartRTL: add point made public 2024-07-24 17:22:44 +10:00
Henry Wurzburg 76abc6850f Filter: add "source" to option 5 2024-07-24 17:20:30 +10:00
Randy Mackay a1579bc31e SITL: integrate SlungPayload 2024-07-24 17:09:06 +10:00
Randy Mackay 5c2b758f42 SITL: add SlungPayload 2024-07-24 17:09:06 +10:00
George Zogopoulos e170710de9 SITL: Glider improvements
Fixed balloon going below ground.
Enabled glider torque logging.
2024-07-24 17:03:48 +10:00
Peter Barker 478d26d69c AP_Notify: rename LED_1 pin define to AP_NOTIFY_GPIO_LED_1_PIN 2024-07-24 09:13:50 +10:00
Peter Barker a4577685a7 AP_HAL_ChibiOS: rename LED_1 pin define to AP_NOTIFY_GPIO_LED_1_PIN 2024-07-24 09:13:50 +10:00
Peter Barker cc190f537f AP_OSD: correct compilation with AP_RRSI_ENABLED false
Co-authored-by: David Buzz <davidbuzz@gmail.com>
2024-07-24 09:11:39 +10:00
Peter Barker 1afa801b19 AP_LTM_Telem: correct compilation with AP_RRSI_ENABLED false
Co-authored-by: David Buzz <davidbuzz@gmail.com>
2024-07-24 09:11:39 +10:00
Andy Piper ccfbfddf7e AC_Fence: address minor review comments 2024-07-24 08:24:06 +10:00
Andy Piper 55075961b2 AP_Mission: address minor review comments 2024-07-24 08:24:06 +10:00
Andrew Tridgell 68f2593089 AC_Fence: fixed FENCE_AUTOENABLE=2
needs to auto-enable on takeoff complete
2024-07-24 08:24:06 +10:00
Andy Piper 5bc3727145 AC_Fence: support FENCE_OPTIONS on copter 2024-07-24 08:24:06 +10:00
Andy Piper 29a320b310 AC_Avoidance: correctly set back away speed for minimum alt fences 2024-07-24 08:24:06 +10:00
Andy Piper 37e0923ec2 AP_Arming: allow precise wording of fence pre-arm messages 2024-07-24 08:24:06 +10:00
Andy Piper f0456f29dd AC_Fence: always disable Min Alt fence on landing
allow precise pre-arm messages
2024-07-24 08:24:06 +10:00
Andy Piper 255fac215f AP_Mission: generic fence handling in missions 2024-07-24 08:24:06 +10:00
Andy Piper 04dd7de1ed AC_Fence: disable fences for landing by suppressing in the fence check rather than using a state machine
simplify takeoff auto-enablement
2024-07-24 08:24:06 +10:00
Andy Piper d5c6f3fe06 AC_Fence: add reset_fence_floor_enable() and use it in plane when landing is aborted 2024-07-24 08:24:06 +10:00
Peter Barker a4c7819117 AC_Fence: clear breach of disabled fence
skip breach checks if no fences
correct initialisation of _num_fences in the case of no fences in eeprom
2024-07-24 08:24:06 +10:00
Andy Piper 3fabec4158 AP_Arming: ensure fence enablement on arming is inverted on disarming 2024-07-24 08:24:06 +10:00
Andy Piper 174d5f07bb AC_Fence: ensure fence enablement on arming is inverted on disarming
correct detection of polyfence
2024-07-24 08:24:06 +10:00
Andy Piper f0f8187c7f AC_Fence: add ability to auto-enable fence floor while doing fence checks
control copter floor fence with autoenable
autoenable floor fence with a margin
check for manual recovery only after having checked the fences
make auto-disabling for minimum altitude fence an option
output message when fence floor auto-enabled
re-use fence floor auto-enable/disable from plane
auto-disable on landing
do not update enable parameter when controlling through mavlink
make sure get_enabled_fences() actually returns enabled fences.
make current fences enabled internal state rather than persistent
implement auto options correctly and on copter
add fence names utility
use ExpandingString for constructing fence names
correctly check whether fences are enabled or not and disable min alt for landing in all auto modes
add enable_configured() for use by mavlink and rc
add events for all fence types
make sure that auto fences are no longer candidates after manual updates
add fence debug
make sure rc switch is the ultimate authority on fences
reset auto mask when enabling or disabling fencing
ensure auto-enable on arming works as intended
simplify printing fence notices
reset autofences when auot-enablement is changed
2024-07-24 08:24:06 +10:00
Andy Piper 370b0d7b9c AP_Logger: add events for all fence types 2024-07-24 08:24:06 +10:00
Andy Piper 0288e1e79c RC_Channel: use fence enable_configured() 2024-07-24 08:24:06 +10:00
Andy Piper d16615923d AP_Frsky_Telem: use fence enable_configured() 2024-07-24 08:24:06 +10:00
Andy Piper 0c6ea4790d AP_Common: fix initialization of ExpandingString so that it can be used on the stack
zero out passed in buffers for ExpandingString
2024-07-24 08:24:06 +10:00
Andy Piper 3dbcbe0026 AP_Arming: do not enable minimim altitude fence on arming
call appropriate fence method for auto-enablement
2024-07-24 08:24:06 +10:00
Andy Piper 8287d4f2d0 AC_Avoidance: take into account minimum altitude fence when calculating climb rate 2024-07-24 08:24:06 +10:00
Andy Piper 95b39f64e3 AP_Mission: add comment about new fence API 2024-07-24 08:24:06 +10:00
Andy Piper f73154349b GCS_MAVLink: use bitmask based enablement for fences 2024-07-24 08:24:06 +10:00
Bob Long 230269bed8 HAL_ChibiOS: add adjustable wdg timeout for hwdefs
This allows the watchdog timeout to be adjusted in the hwdef.dat file,
so that critical nodes like ESCs can recover more quickly.
2024-07-23 19:53:38 +10:00
Andrew Tridgell 03bdbea77c hwdef: enable relay support in MatekL431-DShot fw
the PWM expansion boards can also be used for relay control, often
combined with PWM output
2024-07-23 18:42:56 +10:00
Rhys Mainwaring 4354072d34 SITL: SIM_Rover: add simulation for omni3 mecanum rover
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-23 13:27:04 +10:00
James O'Shannessy ce0ae33c5b AP_HAL_ChibiOS: Capture the case where the persistent parameter is the newer format INSn_ACC_ID
This fixes the handling of the newer INSn_* parameters when loading those stored in persistent memory.
2024-07-23 12:06:18 +10:00
James O'Shannessy c771440ea4 AP_InertialSensor: Fix persistent storing of IMU Z Scale
Fixes INSn_ACCSCAL_Z not being stored in persistent storage when bootloader is flashed.
2024-07-23 11:59:49 +10:00
xiaozhou e2cb4ba232 AP_Mount: Topotek image tracking fix
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
xiaozhou 69e4005bb6 AP_Mount: Topotek retrieves model name
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
xiaozhou 858aff5f4f AP_Mount: Topotek handles new version format
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
muramura 7731fc09e2 AP_HAL_SITL: If HAL_CAN_WITH_SOCKETCAN is undefined, treat it as NONE 2024-07-23 10:47:16 +10:00
Michael du Breuil edaddc0431 AP_TECS: Use aircraft stall speed
When stall prevention is enabled we were scaling from the aircraft's
minimum flight speed. However this is normally already picked as being
above the stall speed, and for a variety of reasons we may want to pin
the aircraft at a higher minimum speed. But if the aircraft was
commanded to fly to close to that minimum speed as soon as it banked for
a pattern it would command a increase in speed to keep it away from
stalling. However if your minimum speed is far from stalling this
increase was incorrect. To make it worse what this actually results in
happening is an aircraft diving for more speed (over 10 m/s on some
aircraft) as well as descending to gain that speed resulting in over 200
foot deviations in altitude control.
2024-07-23 10:37:24 +10:00
Michael du Breuil 5005809e74 AP_Vehicle: add stall speed parameter for plane 2024-07-23 10:37:24 +10:00
Thomas Watson b64ed6ca56 AP_Scripting: dynamically load some binding objects
Only create the binding object (singleton metatable/userdata or C
function reference) once the user first references a particular
singleton or userdata creation function. Once created, the object is
stored into the script's environment so it doesn't get recreated on the
next reference and there isn't any further overhead. The userdatas are
no longer shared between scripts which imposes a slight memory penalty
for multiple scripts using the same singleton but this avoids an
additional lookup time cost.

Userdata and ap_objects aren't eligible for this optimization as the C++
code might want a particular metatable at any time.

Saves ~9.3K Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson 059af2117d AP_Scripting: place bindings into global table
The global table is then used as the __index metamethod of each state's
environment table. Avoids the overhead of loading binding objects into
each state. The binding objects are immutable from Lua so sandboxing is
not violated.

Does have the slight downside that a script can no longer know all the
binding names by enumerating _ENV.

Saves ~700B of memory per loaded script.
2024-07-23 10:34:52 +10:00
Thomas Watson 9cbec043d0 AP_Scripting: remove __call metamethod from singleton metatables
The __call metamethod was set to the metatable itself. With __call not
present, Lua will try to call the metatable (and fail), which is the
same behavior as with the __call metamethod set to the metatable.

Saves ~2K Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson 8e303675fe AP_Scripting: don't put userdata and ap_objects into globals
They are never accessed from globals. Only their metatables are
accessed, using luaL_getmetatable.

Saves ~2.9K of Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson 50eac0ef31 AP_Scripting: keep enum definitions in flash
Saves ~100B of statically allocated RAM.
2024-07-23 10:34:52 +10:00
chiara-septentrio fc8147ead0 AP_GPS:Septentrio constellation choice 2024-07-23 10:32:32 +10:00
Peter Barker 56773f09b4 AP_Scripting: docs for get_resistance 2024-07-22 09:09:26 +10:00
Peter Barker 6514a3522b AP_Scripting: add battery-resistance-checking example 2024-07-22 09:09:26 +10:00
Peter Barker e94ebe4d1a AP_Scripting: add battery resistance to bindings 2024-07-22 09:09:26 +10:00
Peter Barker ba135b9008 SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker ed3aeb39fd AP_HAL_SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker fc28e2d7b8 SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker 9b3809c89f AP_HAL_SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker 1ce6aa7e38 AP_HAL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker ae4254bba8 SITL: rename SIM_Gimbal files to SIM_SoloGimbal 2024-07-21 14:22:05 +10:00
Willian Galvani aca9940534 AP_Scripting: add Readme.md for generating message definitions 2024-07-20 20:45:41 +01:00
Peter Barker 9c1fe4e1c9 SIM_VectorNav: stop using nmea_printf on buffer data
can't use nmea_printf here as the buffer data won't be null-terminated
2024-07-20 22:44:19 +10:00
Peter Barker dcf342d7e3 SITL: add instructions on testing simulated mavlink gimbal 2024-07-20 22:44:10 +10:00
Peter Barker 2584cfd786 SITL: use distinct source system for gimbal
gimbal was sending mavlink into ArduPilot with the target system's own sysid/compid tuple.  ArduPilot was simply discarding these as its own messages being looped back to it
2024-07-20 22:44:10 +10:00
Peter Barker 16a9e53bdb AP_Mount: tidy Solo defines 2024-07-20 22:44:10 +10:00
Peter Barker 70729df4c0 AP_HAL: enable Solo Gimbal in SITL 2024-07-20 22:44:10 +10:00
Rhys Mainwaring 5919ef69cb AP_DDS: add param DDS_DOMAIN_ID
- Require reboot.
- Set DDS_DOMAIN_ID range: 0 to 232..

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-20 19:13:53 +10:00
Stephen Dade 887a890c4a SITL: Add skid steering motorboat 2024-07-20 19:10:09 +10:00
Peter Barker 1626611e0b SITL: add documentation for SIM_ACC?_RND parameters 2024-07-20 13:43:44 +10:00
bugobliterator 5a54d9a2ec AP_Networking: allow reconnection to TCP server or client 2024-07-17 18:20:14 +10:00
Peter Barker 7e722eeb94 hwdef: prune out redundant lines
these have been merged with bad lines in them
2024-07-17 17:49:57 +10:00
BLash 3f00280628 AP_ExternalAHRS_VectorNav: Move allocation to local scope
Move receive_buf to method scope allocation rather than class scope
2024-07-17 17:49:18 +10:00
BLash b3961ec2eb AP_ExternalAHRS_VectorNav: Update VectorNav sim to respond to received commands
Aside from the RRG,1 call, the simulation should reply with exactly what was received as a receipt confirmation to allow the driver to proceed past init
2024-07-17 17:49:18 +10:00
BLash 34031cc6b6 AP_ExternalAHRS_VectorNav: Bugfixes and review comment address
"VNERR" does not match beginning of message_to_send, so have to prevent it from returning due to the string compare. Also must prevent exiting the decode before the sentence has completed so that we can go on to print the error code term.
Fix bug preventing disabling of ASCII measurements
Instead of snprintf the command to message_to_send then executing run_command, allow run_command to accept a string and format spec
Add check to ensure message_to_send is greater than length 6 before attempting to read past 6
2024-07-17 17:49:18 +10:00
BLash ed6ee51783 AP_ExternalAHRS_VectorNav: Minor code clarity improvements
Add clarity to send_command_blocking by improving comment and directly returning instead of breaking
2024-07-17 17:49:18 +10:00
BLash 1288810c70 AP_ExternalAHRS_VectorNav: Handle VNERR responses
Print received VNERR response to console and continually retry sending the configuration message, instead of panicing
2024-07-17 17:49:18 +10:00
BLash 024d50ed09 AP_ExternalAHRS: VectorNav: Disable ASCII messages on both ports, rather than just active port
This change prevents a commonly seen baudrate overflow error on the unused port.
Also pause asynchronous communications during initial configuration.
2024-07-17 17:49:18 +10:00
BLash d5ff3ed35a AP_ExternalAHRS: VectorNav: Add response validation to all sent commands
Expands wait_register_response (and renames to send_command_blocking)
to accept any arbitrary command, and uses the new method for all sent
commands
2024-07-17 17:49:18 +10:00
Peter Barker d4adb1923a hwdef: stop hwdefs defining HAL_GPIO_LED_ON to 0 2024-07-17 17:42:01 +10:00
Peter Barker 9a1a99fd61 AP_HAL_Boards: stop users specifying HAL_GPIO_LED_ON as the default value 2024-07-17 17:42:01 +10:00
bugobliterator d466618b11 AP_HAL_ChibiOS: add flash ecc corrupt method 2024-07-17 17:31:15 +10:00
bugobliterator ceea189fa3 AP_HAL_ChibiOS: enable heap allocation if flash space for bootloader is > 128K 2024-07-17 17:31:15 +10:00
Peter Barker fd80d331cb AP_HAL: add simulator for 1-LED boards 2024-07-17 17:18:27 +10:00
Peter Barker 647048f703 SITL: add simulator for 1-LED boards 2024-07-17 17:18:27 +10:00
Peter Barker 7a15b4aae5 AP_Notify: add support for blinking 1 LED for notify 2024-07-17 17:18:27 +10:00
Peter Barker 338e347427 AP_Notify: remove unused BUZZER_ON/OFF defines
replaced by HAL_BUZZER_ON
2024-07-17 11:14:05 +09:00
Oleksiy Protas 5190aee9ae AP_Camera: proper string formatting
Incoming strings are 32 bytes and may not be null-terminated if the full width is used
2024-07-17 10:39:46 +10:00
Thomas Watson 63ab7bec69 AP_HAL_ESP32: use correct unformatted system ID length
Avoids stuffing uninitialized data into the ID.
2024-07-17 09:08:51 +10:00
Thomas Watson a3aa278589 AP_HAL_SITL: improve periph simulation efficiency
Removes busywait for simulation state packet, dramatically reducing CPU
usage. The dominant wait time in AP_Periph is 1024 microseconds as this
is the default value of HAL_PERIPH_LOOP_DELAY_US, so a 1ms wait is
unlikely to be a problem.
2024-07-17 09:06:16 +10:00
Andrew Tridgell 0179dc0a68 GCS_MAVLink: default MAVLink HAGL support off on low flash boards 2024-07-17 08:03:18 +10:00
Andrew Tridgell 42a1717676 AP_Scripting: added MAV_CMD_SET_HAGL example
for external height source for fixed wing landing
2024-07-17 08:03:18 +10:00
Peter Barker 43dbae54a3 AP_HAL: SIMState: include SITL glider header
used if you want to use the Glider model in Sim-on-Hardware
2024-07-16 22:28:57 +10:00
Rhys Mainwaring 4de8e04679 AR_Motors: add frame type Omni3Mecanum
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-16 16:28:06 +09:00
Andrew Tridgell e93b3722c9 HAL_QURT: implement safety switch
this ensures no outputs during initialisation
2024-07-16 10:54:03 +10:00
Andrew Tridgell a7363d4c14 HAL_QURT: remove ESC order mapping
this is not consistent between ModalAI vehicles, so best done with
SERVOn_FUNCTION parameters
2024-07-16 10:54:03 +10:00
Thomas Watson 1c54dd9e5d AP_HAL_SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Thomas Watson ca0cd9a7e8 SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Peter Barker 501d0d8759 AP_Notify: stop using linux board subtype in Notify LED setup
... instead have the board definitions define things like we do for ChibiOS
2024-07-16 10:11:40 +10:00
Peter Barker 55308e6d79 AP_HAL: stop using linux board subtype in Notify LED setup
... instead have the board definitions define things like we do for ChibiOS
2024-07-16 10:11:40 +10:00
Valentin Berman 4938a6bb42 AP_EFI: DroneCAN: set the last_updated_ms field of efi_state
The last_update_ms variable was never set in the DroneCAN implementation of the Electronic Fuel Injector sensor. This causes the function bool AP_EFI::is_healthy to always return false. Solved by adding one line of code to set the variable to the correct value.
2024-07-14 20:19:31 +10:00
Willian Galvani ef9763fdd7 AP_GPS: hdop and vdop are unitless 2024-07-14 17:23:15 +10:00
Iampete1 b75c62d267 AP_HAL_SITL: AnalogIn: return false for set pin to `ANALOG_INPUT_NONE` 2024-07-14 17:11:47 +10:00
George Zogopoulos fb40a7f19d AP_Logger: Fix logged units 2024-07-14 17:07:11 +10:00
Andrew Tridgell cd8b93e1c5 HAL_QURT: adjustments to support different frames
added docs and service files, and support reboot
2024-07-13 14:38:31 +10:00
Andrew Tridgell f8ce4183b8 AP_Filesystem: support QURT with posix filesystem
some features disabled
2024-07-12 15:56:48 +10:00
Andrew Tridgell 3a6024e8ab AP_Common: support QURT 2024-07-12 15:56:48 +10:00
Andrew Tridgell 4e8f1e6092 AP_HAL: added QURT board type and header 2024-07-12 15:56:48 +10:00
Andrew Tridgell 2fe08b6177 HAL_QURT: revived QURT HAL
based around new SDK for ModalAI Voxl2 vehicles
2024-07-12 15:56:48 +10:00
Peter Barker 75f9c4e4fc AP_HAL: chiibos.h: die nicely if HAL_HAVE_PIXRACER_LED is used 2024-07-11 20:08:13 +10:00
Peter Barker e42c9a588e SITL: add support for simulated GPIO LEDs 2024-07-11 20:08:13 +10:00
Peter Barker bad755f4a5 AP_HAL: add support for simulated GPIO LEDs 2024-07-11 20:08:13 +10:00
Clyde McQueen 630d3fa8a7 AP_NavEKF3: log mag fusion selection to XKFS 2024-07-11 16:16:27 +10:00
Iampete1 a551b4f296 AP_SerialManager: remove Volz port config 2024-07-11 13:07:24 +10:00
Iampete1 8eceff2d7a AP_Volz_Protocol: move output to thread 2024-07-11 13:07:24 +10:00
Iampete1 0c5160f05c AP_Volz_Protocol: add range parameter allowing smaller range for improved PWM resolution 2024-07-11 13:07:24 +10:00
Iampete1 71f3dbf098 AP_Volz_Protocol: use popcount 2024-07-11 13:07:24 +10:00
Iampete1 871e9101ff AP_Volz_Protocol: add CMD union helper 2024-07-11 13:07:24 +10:00
Andrew Tridgell b34d0c9c87 AP_HAL: removed vector based I2C get_device
this is unused and prevents building on QURT
2024-07-11 11:20:47 +10:00
Andrew Tridgell dbba4559ee HAL_Linux: removed unused I2C vector get_device 2024-07-11 11:20:47 +10:00
Andrew Tridgell 192972e502 AP_HAL: avoid vector include in I2C API
this doesn't work on QURT build and is unused
2024-07-11 11:20:47 +10:00
Andrew Tridgell ebc7cc2daf AP_OpticalFlow: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell c40099a162 AP_Rangefinder: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell 991ea6326d AP_Compass: cleanup warnings in printf calls 2024-07-11 09:34:29 +10:00
Peter Barker f4f79905cc AP_Notify: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker 71332dd039 AP_GPS: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker ab43668c45 AP_Notify: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 3b764c5812 AP_HAL: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 956ac243e1 AP_HAL_ChibiOS: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 8370e0b08b AP_Notify: create sanity in GPIO-based LED defines 2024-07-11 09:34:00 +10:00
Andrew Tridgell 393cd3252b AP_HAL_SITL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 3980cbbb82 AP_HAL_Linux: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell f235b71f6b AP_HAL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 15ef6b1192 AP_HAL_ESP32: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 64f6abd4d4 AP_HAL_ChibiOS: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 429294fa1d AP_Baro: avoid i2c errors with ICP101XX
this sensor doesn't like reading at higher than expected rate
2024-07-11 09:27:33 +10:00
Andrew Tridgell a02cd4b432 AP_Baro: fixed link with clang for shared library
avoid unused symbols
2024-07-11 09:27:09 +10:00
Andrew Tridgell 3608a78398 AP_Baro: fixed build with clang 2024-07-11 09:27:09 +10:00
Andrew Tridgell 60f582a6b2 AP_BattMonitor: support I2C INA231 battery monitor 2024-07-11 09:26:17 +10:00
Andrew Tridgell 75ebf96adb AP_Filesystem: allow for filesystem with no dtype 2024-07-11 09:25:05 +10:00
Andrew Tridgell 64ed86a82e GCS_MAVLINK: cope with dirent not having dtype 2024-07-11 09:25:05 +10:00
Andrew Tridgell c2e52af1e2 AP_Filesystem: make fgets() much more efficient
normally fgets is on a buffered FILE handle. For AP_Filesystem we use
an unbuffered file descriptor. This means we were reading one byte at
a time from the file

this uses lseek to make fgets() much more efficient by reading the max
buffer size at a time in the file
2024-07-11 09:24:38 +10:00
Peter Barker b2a7fcda5c AP_GPS: resolve compilation problem with timeval
./../libraries/AP_GPS/AP_GPS_SITL.cpp:37:27: error: aggregate 'timeval first_tv' has incomplete type and cannot be defined
    37 |     static struct timeval first_tv;
       |                           ^~~~~~~~
 compilation terminated due to -Wfatal-errors.

 Waf: Leaving directory `/ardupilot/src/build/sitl'
 Build failed
  -> task in 'objs/AP_GPS' failed (exit status 1):
  {task 135805090486368: cxx AP_GPS_SITL.cpp -> AP_GPS_SITL.cpp.0.o}
2024-07-11 09:22:12 +10:00
Andrew Tridgell 7477c4e205 AP_Scripting: fixed remove call
need to use AP_Filesystem
2024-07-11 07:43:35 +10:00
Andrew Tridgell ffc78722f7 HAL_ESP32: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell c4addb7dd0 AP_HAL_SITL: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 2374d6f444 AP_HAL_Linux: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell d54b69a5fe AP_HAL: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 04bd5aa010 AP_HAL_Empty: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell e86e012896 AP_HAL_ChibiOS: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 4d5095cea1 AP_DDS: fixed cell voltages
the std:copy was copying from uint16_t to float
2024-07-11 07:25:33 +10:00
Peter Barker 7f0f851243 hwdef: remove bogus EK2_RPRIMARY from Cube defaults files
looks likely, but hasn't ever existed
2024-07-10 22:35:51 +10:00
Peter Barker 4231275f50 AP_Compass: remove default clause from set_status switch
forces someone to consider what they need to do for any new state
2024-07-10 18:18:31 +10:00
Peter Barker afd8d8255f AP_Compass: use switch statement in failed() method 2024-07-10 18:18:31 +10:00
Peter Barker ef0de65347 AP_InertialSensor: tidy IMU killing 2024-07-10 18:17:00 +10:00
muramura d6a79c0e02 RC_Channel: Add a MOUNT2 retract
Update libraries/RC_Channel/RC_Channel.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-10 17:45:28 +10:00
Peter Barker 31f3a796f1 AP_Proximity: avoid use of int16_t-read call 2024-07-10 17:01:09 +10:00
MattKear 2025712505 AP_RPM: Improve rpm logging 2024-07-10 12:24:15 +10:00
Michael du Breuil aafa2f3998 AP_Math: Remove template parameter from constructor
Not valid in C++20, and makes GCC 14.1.1 very unhappy.
2024-07-10 10:07:24 +10:00
muramura e48044dc45 AP_InertialSensor: Clearly state the maximum G-force 2024-07-10 10:07:16 +10:00
muramura 9f6edd8d55 AP_Mount: Increment the serial instance 2024-07-10 08:31:25 +09:00
Ep Pravitra f3d55d821e SITL: fix json airspeed
Airspeed calculation for JSON was not quite working because velocity_air_ef was not updated in SIM_JSON.cpp

Update libraries/SITL/SIM_JSON.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
Update libraries/SITL/SIM_JSON.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>

comment changes

remove redundant airspeed calculation
2024-07-10 08:24:19 +10:00
James O'Shannessy 9924462618 AP_Mission: Allow Param4 to be uploaded with NaN
By default, QGroundControl will attempt to upload Loiter Unlimited with a NaN in param4.
Given this field could be NaN, we allow it through the parser.

See: https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM
2024-07-09 22:39:57 +10:00
Peter Barker 481e0301dd hwdef: H757_EVAL: make it not-AP_Periph
avoids this compilation error:

../../Tools/AP_Periph/can.cpp:152:33: error: static assertion failed: DroneCAN bootloader cannot support external flash
  152 | static_assert(EXT_FLASH_SIZE_MB == 0, "DroneCAN bootloader cannot support external flash");
compilation terminated due to -Wfatal-errors.
2024-07-09 12:00:52 +10:00
Randy Mackay 5a8ed5fb51 AP_NavEKF: option to align extnav to optflow pos estimate 2024-07-09 11:59:36 +10:00
Thomas Watson 1249388f23 AP_Common: use template parameter in bitmask functions
Substantially improves code optimization and reduces memory usage.
2024-07-09 11:51:41 +10:00
Thomas Watson 6a4520e8fd AP_Common: clean up bitmask operators
Code already won't compile if there are different numbers of bits as the
template parameter will be different.
2024-07-09 11:51:41 +10:00
Thomas Watson b030b8e789 AP_Common: correctly bound bitmask datatypes
Probably won't work correctly (and of questionable use) if less than 1.
The `first_set()` function might not be able to return a valid value if
greater than INT16_MAX.

unsigned int needs to be >= uint32_t so that the shift ops are in range.
2024-07-09 11:51:41 +10:00
Thomas Watson 0b320fe303 AP_Common: unify bitmask out of bounds checking
Ensures out-of-bounds reads and writes are never performed for setting,
clearing, and checking. Fixes test failure when the number of bits
evenly divides the word size.
2024-07-09 11:51:41 +10:00
Thomas Watson 9a89223531 AP_Common: fix bitmask setall()
Fixes an issue where the last word was not set to all 1s if the number
of bits evenly divided the word size.

Also fixes UB if there were 31 valid bits.
2024-07-09 11:51:41 +10:00
Thomas Watson 122cd72d9c AP_Common: improve bitmask test coverage 2024-07-09 11:51:41 +10:00
Thomas Watson 4a2f03f851 AP_Common: test more bitmask bit widths
Actually test different widths and reveal problems with edge cases.
2024-07-09 11:51:41 +10:00
Thomas Watson 521cf00964 AP_Common: templatify bitmask tests
Enables testing of different widths and edge cases.
2024-07-09 11:51:41 +10:00
Peter Barker aff3af67e6 AP_Logger: remove short-filename compatability code
We used to produce files hwih looked like log1.BIN.  We moved to 00000001.BIN instead so things collate.

This code allowed the autopilot to return data from SD cards which had old logs on them.
2024-07-09 11:34:40 +10:00
Iampete1 f3743b869d AC_PID: correct error caculation to use latest target 2024-07-09 11:33:03 +10:00
Andrew Tridgell b19186980a AP_Mount: added sending of position data to Siyi gimbal
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
this will allow for exif tags of position for photos
2024-07-09 11:28:57 +10:00
Peter Barker 99fb5a994e AC_WPNav: correct calculation of predict-accel when zeroing pilot desired accel 2024-07-09 10:52:14 +10:00
Peter Barker c8a20726ff AP_NavEKF3: do not store prediction-enabled as state
this is only used in one place, and that place is called from the same routine setting the persistent state.  The only other place which calls readIMUData shouldn't be running the prediction step, but mmay, depending on the previous setting of the prediction step.

We are not initialising this state on filter reset, so it's possible that the state will be set when we do an InitialiseFilterBootstrap, which is probably not desired
2024-07-09 10:45:03 +10:00
Peter Barker 3208491983 AP_Logger: remove twin paths for writing FMT messages
This stops us tracking formats-written in two places.

The Write() method will now emit formats as required and set the relevant bit in the backend-owned bitmask of formats sent.
2024-07-09 10:40:08 +10:00
Willian Galvani 64e859ecc5 AP_Compass: warn user if fix_radius() is skipped 2024-07-09 10:13:34 +10:00
Willian Galvani 325d6f6c94 AP_Compass: use ahrs for location instead of GPS directly for calibration 2024-07-09 10:13:34 +10:00
Peter Barker df0b4cdf6d AP_HAL_ChibiOS: chibios_hwdef.py: correct flake8 issues 2024-07-09 10:13:00 +10:00
Oleksiy Protas 6d27f69c96 GCS_MAVLink: correct a debugging message
Probably changed from a pointer to reference at some point and forgot to update a normally disabled block
2024-07-09 10:10:52 +10:00
Andy Piper 1b5febe046 AP_HAL_ChibiOS: iFlight 2RAWH743 2024-07-09 09:43:38 +10:00
Randy Mackay b6c5ad450d AP_Common: char_to_hex returns 0 on invalid char 2024-07-09 09:08:51 +10:00
laozhou 611fb94660 AP_Mount: integrate topotek gimbal driver
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-09 09:08:51 +10:00
laozhou d5d1b9885c AP_Mount: add topotek backend
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-09 09:08:51 +10:00
HiRCBro 8c58334173 AP_HAL_ChibiOS: longBowF405WING 2024-07-09 09:05:27 +10:00
Peter Barker 933aed5f91 AP_Scripting: add missing scheduler include
corrects compilation of cubeorange-periph-heavy
2024-07-09 07:40:03 +10:00
cuav-chen2 f906fffff7 hwdef: fixed pin definition for C-RTK2-HP 2024-07-08 22:10:27 +10:00
Andrew Tridgell db19bce1d2 AP_Common: wrap _malloc_r on cygwin
fixes dual allocation heap bug
See https://cygwin.com/pipermail/cygwin/2000-July/038916.html
2024-07-07 07:11:59 +10:00
Andrew Tridgell 842a4f507b AP_Scripting: added NMEA 2000 EFI driver
this has been tested on a marine engine, and correctly produces key
telemetry data

the NMEA_2000.lua module is broken out to make it easier to add other
NMEA 2000 based drivers
2024-07-06 07:19:25 +10:00
Peter Barker 9090420db0 SITL: remove duplicated crc code
same as one we already have
2024-07-05 23:02:18 +10:00
Peter Barker c1c3580f8b AP_Logger: remove unused _log_file_size_bytes variable
AP_Logger: comment corection
2024-07-05 21:42:21 +10:00
BLash 0e4124060c SITL: VectorNav: Add support for sensors outside VN-100 and VN-300
Includes naming changes to match new broadened usage
2024-07-05 21:41:22 +10:00
BLash 271f08fc03 AP_ExternalAHRS: VectorNav: Add support for sensors outside VN-100 and VN-300
Includes naming changes to match new broadened usage
2024-07-05 21:41:22 +10:00
Peter Barker 1916490ae6 AC_Sprayer: create and use an AP_Sprayer_config.h 2024-07-05 14:27:45 +10:00
bugobliterator b93c9256c7 AP_HAL_ChibiOS:hwdef/common: disable second core on dual core MCUs 2024-07-05 14:16:27 +10:00
bugobliterator c8fe71b6b0 AP_HAL_ChibiOS: use debug option 3 which includes defines as well 2024-07-05 14:16:27 +10:00
Peter Barker 6ce7e179d7 RC_Channel: produce error if feature compiled out and aux func initialised 2024-07-04 19:41:07 +10:00
Peter Barker ce48932f4d AP_NavEKF3: remove storedRange member variable if rangefinder measurements disabled 2024-07-04 19:21:44 +10:00
Peter Barker 3dff46b2b2 AC_AutoTune: remove unused variables 2024-07-04 13:19:12 +10:00
Peter Barker 35bdadb8ec AC_AutoTune: adjust variable names to include _cd postfix 2024-07-04 13:19:12 +10:00
Vincent Poon fba47e641d Update Pixhawk6C hwdef.dat
Fix https://github.com/ArduPilot/ardupilot/issues/25840

The overcurrent detection of the HIPOWER current limiting chip is connected to PC11 on the Pixhawk 6C.
2024-07-04 06:37:58 +10:00
George Zogopoulos 61c910b08b AP_Scripting: Added script for Quad-X CoM compensation
The script uses the scripting matrix to produce non-equal
front and back thrust, compensating for the lever arm between the center
of thrust and the center of mass.
2024-07-03 18:44:36 +10:00
George Zogopoulos 2cd5413b0d SITL: Documented SIM_WIND_DIR_Z 2024-07-03 18:13:11 +10:00
Willian Galvani cb74ebbddd EKF3: allow earth-frame fields to be estimated with an origin but no GPS 2024-07-03 16:49:27 +10:00
bnsgeyer 5fa2fcfa56 AC_AutoTune: return freqresp ring buffers to original implementation 2024-07-01 22:57:55 -04:00
bnsgeyer 475663e199 AC_AutoTune: use ring buffer only for dwells 2024-07-01 22:57:55 -04:00
bnsgeyer bb6c52d508 AC_AutoTune: remove deletion of ring buffers 2024-07-01 22:57:55 -04:00
bnsgeyer f50bb54112 AC_AutoTune: more suggested changes 2024-07-01 22:57:55 -04:00
bnsgeyer 088b7ec094 AC_AutoTune: incorporate suggested changes 2024-07-01 22:57:55 -04:00
Bill Geyer 41ed4d1321 AC_AutoTune: use new new macro
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-01 22:57:55 -04:00
bnsgeyer c4f4067fd5 AC_AttitudeControl: add accessors to set rate limit 2024-07-01 22:57:55 -04:00
bnsgeyer b13efc86af AC_AutoTune: use attitude controller to enforce rate and accel limits 2024-07-01 22:57:55 -04:00
bnsgeyer ad1b01cd56 AC_AutoTune: improve RFF dwell test and data processing 2024-07-01 22:57:55 -04:00
Bill Geyer 30c2e1f53b AC_AutoTune: general cleanup and protect against freq exceedences 2024-07-01 22:57:55 -04:00
bnsgeyer cc7e43d643 AC_AutoTune: max gain, rate p and d tuning use common search method 2024-07-01 22:57:55 -04:00
bnsgeyer cf50aa1321 AC_AutoTune: trad heli variable cleanup 2024-07-01 22:57:55 -04:00
bnsgeyer ad58f3e1f8 AC_AutoTune: reworked updating max gains 2024-07-01 22:57:55 -04:00
bnsgeyer 989f48f97a AC_AutoTune: reworked updating angle p up 2024-07-01 22:57:55 -04:00
bnsgeyer cd18607f25 AC_AutoTune: reworked updating rate p and d up 2024-07-01 22:57:55 -04:00
bnsgeyer 61182c0e96 AC_AutoTune: reworked dwell_test and updating ff up 2024-07-01 22:57:55 -04:00
bnsgeyer 2339c7daed AC_AutoTune: moved more into dwell_test_init 2024-07-01 22:57:55 -04:00
bnsgeyer 7ff99a39f0 AC_AutoTune: fix tests to work better 2024-07-01 22:57:55 -04:00
bnsgeyer 3943a69b33 AC_AutoTune: fix object buffers to dynamically size 2024-07-01 22:57:55 -04:00
bnsgeyer 528b7eb438 AC_AutoTune: general cleanup to make code more efficient 2024-07-01 22:57:55 -04:00
bnsgeyer 9e4d118cc9 AC_AutoTune: remove sweep for Rate D up 2024-07-01 22:57:55 -04:00
bnsgeyer 32af6216b7 AC_Autotune: tradheli use dwell for FF test 2024-07-01 22:57:55 -04:00
bnsgeyer dd1f0cdcf7 AC_AutoTune: make rate freq sweeps safer 2024-07-01 22:57:55 -04:00
Henry Wurzburg 48e27c382a AP_RSSI: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg f087e9d25d AP_RangeFinder: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg a03ccd1a8a AP_BattMonitor: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg 59db5de78c AP_Airspeed: make metadata more consistent 2024-07-02 11:34:29 +10:00
Thomas Watson 717c5ff863 AP_Scripting: ignore hidden Lua files
On macOS, sometimes ._script.lua is created to store metadata when the
user copies script.lua over to their SD card. Previously, the scripting
engine would barf since the file is not Lua. Now, these files are
ignored.

Also avoids a case where a hidden and valid script might be loaded
without the user's knowledge.
2024-07-02 11:07:40 +10:00
Peter Barker 0056ef2d90 AP_Logger: write formats out as required rather than at start of log 2024-07-02 10:59:55 +10:00
Andrew Tridgell 681e2d7993 AP_GPS: don't consider uBlox PVT time correct unless we have 2D fix
the time may be set by an offline assistance client and may not be
accurate
2024-07-02 10:25:03 +10:00
Peter Barker f3a75661d9 AP_Frsky_Telem: avoid use if int16-t read call 2024-07-02 10:14:28 +10:00
Peter Barker 85f89812d5 AP_Generator: avoid use of int16_t-read 2024-07-02 10:13:24 +10:00
Peter Barker 42805aa892 AP_GPS: confine inter-instance DroneCAN state checks to DroneCAN GPSs
stop these looking at parameters/state for all GPSs, focus on DroneCAN GPSs
2024-07-02 09:56:40 +10:00
Peter Barker ebfbcacfe3 AP_GPS: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Peter Barker 3e57edf37c AP_Arming: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Iampete1 a9eb6051fa AP_BatteryMonitor: add missing failsafe with no action 2024-07-02 09:54:36 +10:00
Bill Geyer c5585f84af AC_AttitudeControl: various suggested cleanup items
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-02 08:39:33 +09:00
Bill Geyer 29897f99af AP_Motors: Clean up spacing
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-02 08:39:33 +09:00
Bill Geyer 805480e5a2 AC_AttitudeControl: only allow angle boost when not autorotating 2024-07-02 08:39:33 +09:00
Bill Geyer a19b72e895 AP_Motors: helper function to determine when heli is in autorotation 2024-07-02 08:39:33 +09:00
bnsgeyer f06bbd471f AC_AttitudeControl: tradheli-add support for inverted and throttle boost features 2024-07-02 08:39:33 +09:00
Peter Barker 4550f7dcb1 hwdef: make H757I_EVAL a periph
its bootloader is marked as a bootloader peripheral, the main firmware is notistent in our message.
2024-07-02 09:17:26 +10:00
Peter Barker 6e5198a50c AP_Frsky_Telem: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker e88d76d72d AP_Scripting: rangefinder singleton requires AP_RANGEFINDER_ENABLED
.... or HAL_PERIPH_ENABLE_RANGEFINDER
2024-07-02 09:17:26 +10:00
Peter Barker 118f3b41ac AP_RangeFinder: create a AP_RANGEFINDER_BACKEND_CAN_ENABLED
avoid cmpilation problems when rangefinder not enabled but CAN is
2024-07-02 09:17:26 +10:00
Peter Barker fe6b120a73 AP_Vehicle: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker f9a94fd7dd AP_RangeFinder: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 37964011df AP_OSD: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 07e76a7cae AP_NavEKF: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 13e7d04497 AP_NavEKF3: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 0f47cd7e8b AP_NavEKF2: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker a715ee1ce2 AP_HAL_ChibiOS: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker abc0179a53 AP_DAL: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 955245e4b7 AP_Arming: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Andrew Tridgell 38ca478178 AP_Scripting: added gcs:run_command_int() binding 2024-07-01 20:08:29 +10:00
Andrew Tridgell 0116e1e80d GCS_MAVLink: added lua_command_int_packet()
for lua access to MAV_CMD_xxx
2024-07-01 20:08:29 +10:00
Henry Wurzburg 4ed1b6b357 AP_Temperature:expand metadata for analog sensors 2024-07-01 14:01:19 +10:00
Peter Barker e2f18d9217 AP_NavEKF2: remove unused initFailureReason 2024-07-01 09:04:05 +09:00
bnsgeyer 9c2d43f6c4 SITL: improve dual heli dynamics model 2024-06-30 18:21:21 -04:00
Andrew Tridgell 077c5f38f7 SITL: added comments on how to fly the glider 2024-06-30 10:02:15 +10:00
Peter Barker 780352cd75 AP_Logger: correct enumeration name -> AP_SmartRTL::Action 2024-06-28 10:11:57 +10:00
Peter Barker 2c89622f09 AP_SmartRTL: use enum class for Action, number entries
we log these values, so number them explicitly
2024-06-28 10:11:57 +10:00
George Zogopoulos 2717470df1 AP_Scripting: Misc. small improvements.
Typo fix
Removed unused variable
2024-06-28 10:05:29 +10:00
Thomas Watson 6e0d7bddf1 AP_Scripting: add serial device simulation example 2024-06-27 12:00:18 +10:00
Thomas Watson f9b138724c AP_Scripting: add serial loopback test script
Tests that data can flow both ways with one end using protocol 28
(Scripting) and the other using the serial device simulation feature.
2024-06-27 12:00:18 +10:00
Thomas Watson 46e204dd6c AP_Scripting: clear serial device sim buffers appropriately
Ensures the script won't process data created before it started, and
that the protocol won't process data created after the script stopped.
2024-06-27 12:00:18 +10:00
Thomas Watson 4cb684e8a9 AP_Vehicle: initialize scripting serial device sim ports early
Necessary for mavlink in particular to notice the port and hook up the
protocol internally.
2024-06-27 12:00:18 +10:00
Thomas Watson a077e4a3ed AP_Scripting: introduce serial device simulation support
Allows a script to simulate a device attached via any serial protocol.
The script can read and write data and have it handled according to the
protocol as if exchanged over a serial port. The script can then do
protocol translation, data filtering and validation,
hardware-in-the-loop simulation, experimentation, etc., especially in
combination with the scripting protocol which lets the script itself
handle an attached device and so interpose any communication.
2024-06-27 12:00:18 +10:00
Thomas Watson 4df2a1bce7 AP_Scripting/generator: generate depends for manual functions on singletons 2024-06-27 12:00:18 +10:00
Thomas Watson c18f9f733e AP_Scripting: add writestring for serial
Enables more efficient scripting.
2024-06-27 12:00:18 +10:00
Thomas Watson d93aa15f2a AP_Scripting: refactor serial readstring
Using `luaL_Buffer` avoids the need for any heap allocation in the
common case (count <= 512 bytes) and avoids stressing out the system
heap for large reads, instead using the script heap.

Zero net flash usage change.
2024-06-27 12:00:18 +10:00
Thomas Watson e18449b1b8 AP_Scripting: use generic access userdata for serial ports
Adding another layer instead of just exposing UARTDriver bindings allows
substitution of the different functions for device simulation later.

Also take the opportunity to rework the docs a little.
2024-06-27 12:00:18 +10:00
Thomas Watson c37dba60de AP_Scripting/generator: allow disabling userdata creation from Lua
Passing -1 to the argument count for the `creation` tag (name does not
matter) will stop the generator from giving Lua a function to construct
that userdata. The C `new_<name>` function still works.
2024-06-27 12:00:18 +10:00
Thomas Watson 7fb65aece3 AP_SerialManager: allocate port IDs for scripting serial device ports 2024-06-27 12:00:18 +10:00
Peter Barker 0ee787325a AC_AutoTune: NFC whitespace, ordering and add trailing comma to enumeration 2024-06-27 10:12:30 +10:00
Pierre Kancir 396bca359d AP_Scripting: add an example to use Copter Standby mode in SITL with LUA 2024-06-27 10:11:53 +10:00
Andrew Tridgell 10c6020a66 AP_Scripting: update docs 2024-06-27 10:11:14 +10:00
Andrew Tridgell bcfc273799 hwdef: enable an ADC on CubePilot-PPPGW
allows for mcu temp
2024-06-27 10:11:14 +10:00
Andrew Tridgell 98479658d4 HAL_ChibiOS: support H7 at 200MHz 2024-06-27 10:11:14 +10:00
Andrew Tridgell d87404adfa AP_Scripting: added mcu_temperature binding 2024-06-27 10:11:14 +10:00
Andrew Tridgell f532f7a9e6 AP_SerialManager: added docs for SERIALn_PROTCOL=PPP 2024-06-27 10:11:14 +10:00
Andrew Tridgell 5a795ccba0 AP_Networking: added TCP reflection test
TCP to an echo server, testing bi-directional transfer
2024-06-27 10:11:14 +10:00
Andrew Tridgell 34815f9fb0 HAL_ChibiOS: scale RTS threshold to make software CTS more effective 2024-06-27 10:11:14 +10:00
Andrew Tridgell ebc4ee99a9 AP_HAL_ChibiOS: add support for GPIO pins as software CTS 2024-06-27 10:11:14 +10:00
bugobliterator b6cdb8b1a6 hwdef: fix hwdef for updated CubePilot-PPPGW 2024-06-27 10:11:14 +10:00
bugobliterator 0a0d5a3e49 AP_HAL_ChibiOS: add support for PPP on CubeOrangePlus 2024-06-27 10:11:14 +10:00
Peter Barker 2425023331 AP_Notify: flash green lights based off location not GPS
Your Copter in stabilize mode can flash rapid-green indicating a good DGPS lock or better, and yet your vehicle still doesn't have a good idea of where it is.

That means that your vehicle may end up RTL'ing onto a point somewhere along your flight path, when you were given an all-green indication by teh vehicle before you armed in stabilize.

Past this PR, we require the same GPS as before, but in addition we must have been happy enough with our location to set the navigation origin, *and* currently be able to get a location.

A user will receive slow-flashing blue lights if they can't currently get a location, or the navigation origin isn't set, even if they've got a "good" fix.

We also require a good location to get a solid green light - you will get a solid blue light if you can't get a location or don't have a navigation origin, even if you have a good GPS lock
2024-06-26 18:39:43 +10:00
Randy Mackay 3439ced236 AP_Mount: add Siyi ZT6 support 2024-06-26 18:37:42 +10:00
Peter Barker c55a5abcd9 AP_RCProtocol: remove redundant check for crsf telem on iomcu
the hwdef for the iomcu already removes crsf
2024-06-26 18:13:01 +10:00
bugobliterator 178cf7c2da AP_GPS: use 64 bit time in the pps interrupt callback in ublox driver 2024-06-26 17:51:31 +10:00
Andy Piper 651f4f15eb AP_RCTelemetry: use get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Andy Piper 451c1ae347 AP_OSD: use get_max_rpm_esc()
allow ESC index to be specified for OSD ESC info
2024-06-26 17:36:54 +10:00
Andy Piper 038735657a AP_ESC_Telem: add get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Andy Piper a86f4fdc8f AP_InertialSensor: move gyro and accel instance ids into AP_InertialSensor_Backend 2024-06-26 17:14:56 +10:00
Peter Barker 5911b87ae3 GCS_MAVLink: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 563c3e7c62 AP_NavEKF3: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 025888a7d1 AP_NavEKF2: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 8302e0d1e2 AP_Mount: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 8ddac54b17 AP_InertialSensor: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 243e095b4e AP_DAL: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker a325ddbfa9 AP_AHRS: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Leonard Hall 7047e11090 AC_AttitudeControl: Change input_quaternion to use body frame rates 2024-06-26 11:22:54 +10:00
Peter Barker 580199dfba AP_Logger: disable HAL_LOGGING_BLOCK_ENABLED if not HAL_LOGGING_ENABLED
HAL_LOGGING_DATAFLASH_ENABLED is set unconditionally in some hwdefs, but we still need to honour HAL_LOGGING_ENABLED
2024-06-25 18:32:41 +10:00
Clyde McQueen 0e6543f0e4 AP_NavEKF3: sub update for yaw reset and inFlight checks
on sub, request final yaw reset after diving 0.5m.
Also update rangefinder tests for sub
2024-06-25 18:09:37 +10:00
Andrew Tridgell ed58758ce6 hwdef: don't use DEFAULTGPIO in bootloaders
setting up a DEFAULTGPIO pulldown in bootloaders is a bad idea as it
overrides any hardware pullups that have been put in place as part of
a "hold in bootloader" mechanism. See discussion in #27360 for ELRS

note that this only impacts one board that I can see, the
BlitzF745AIO, due to the MCU vs DEFAULTGPIO interaction
2024-06-25 12:05:40 +10:00
Peter Barker 9bb343938f AP_Scripting: correct use-after-free in script statistics
run_next_script can free the script if the script runs over-time.

... so stop using data from that freed script structure!
2024-06-25 11:07:07 +10:00
Peter Barker 7dd50cd036 hwdef: JHEMCU-H743HD correct for rename of W25 dataflash driver 2024-06-25 11:05:22 +10:00
Iampete1 cc99ebf872 AP_Scripting: allow logging lua boolean with uint8 format `B` 2024-06-25 11:01:10 +10:00
Andrew Tridgell 32750476be AP_Scripting: added more telemetry for INF Inject 2024-06-25 09:34:18 +10:00
Andrew Tridgell b108d9cf09 AP_Scripting: added throttle and ignition control for INF_INject
allows full control over serial
2024-06-25 09:34:18 +10:00
TsuyoshiKawamura b9bf7acbf1 AP_Scripting: add test samples of get_target_location/update_target_location for copter 2024-06-25 08:29:57 +09:00
Leonard Hall 5ab2aaffff AC_Autotune: Clean up Multi Variables and non functional changes 2024-06-24 19:11:41 +10:00
Peter Barker 87d694414b AP_Beacon: use enum class for type 2024-06-24 18:24:11 +10:00
bugobliterator 96682b1b1b AP_Networking: add timeout to swap the UDP Server client target 2024-06-21 20:31:31 +10:00
bugobliterator d07e8d16df AP_Networking: use IP4_STR_LEN instead of value 16 2024-06-21 20:31:31 +10:00
bugobliterator a82729589c AP_Networking: allow UDP Server to talk to different clients on the same run 2024-06-21 20:31:31 +10:00
bugobliterator bace8d4c85 AP_HAL: add methods that deal in ip address as uint32_t 2024-06-21 20:31:31 +10:00
bugobliterator 3c69f156f4 AP_HAL: make recv call to be undirected but also get the ip:port of received packet 2024-06-21 20:31:31 +10:00
bugobliterator 43615f22b7 AP_HAL: add AP_MAVLINK_PACKETISE_ENABLE option 2024-06-21 20:31:31 +10:00
MattKear e1a1d15f62 AP_Mount: Alexmos: Improve angle precision and move defines to cpp 2024-06-20 15:13:48 +10:00
muramura 80b1a07de3 AP_Baro: Group device headers 2024-06-20 15:13:01 +10:00
Peter Barker f07ac41c65 AP_Notify: rename Notify buzzertype enumeration 2024-06-20 14:47:20 +10:00
Peter Barker 6b490a4c47 AP_HAL_ChibiOS: rename Notify buzzertype enumeration 2024-06-20 14:47:20 +10:00
Peter Barker 56a7e520b6 AP_Gripper: correct emitting of grabbed/released messages
these strigs would only be released if release() or grab were called a second time
2024-06-20 10:59:14 +10:00
George Zogopoulos 5ca8c0058c AP_TECS: Small legibility improvements
AP_TECS: Fixed bad whitespace
2024-06-20 09:12:50 +10:00
George Zogopoulos 9a3f6ae9c7 AP_Math: Created CentiDegreesToRadians 2024-06-20 09:12:50 +10:00
Siddharth Bharat Purohit f89923fcbe AP_HAL_ChibiOS: mark CONS RX/TX as NC for ADSB Carrier board 2024-06-19 19:09:36 +10:00
bugobliterator 04879d2c42 AP_HAL_ChibiOS: add passthrough from secondary through primary while in bootloader 2024-06-19 19:09:10 +10:00
robot-to-society b86094978d Mission: add is_resume method 2024-06-19 17:12:17 +10:00
Peter Barker 05a22aaffc AP_ADSB: cache course-over-ground for GPS message
stops the vehicle flipping around as speed goes to/comes from 0
2024-06-19 10:14:50 +10:00
Simon Hancock 43c604f1db AP_Compass: Fix fewer multipliers than params on MAGH log message 2024-06-19 09:38:59 +10:00
Simon Hancock d6f0d9b57c AP_GPS: Update description of VDop and HDop log params 2024-06-19 09:38:59 +10:00
Peter Barker b5b42f9446 AP_Logger: tidy running of LoggerMessageWriter sub-writers
... use the fact these all have a common base class to reduce effectively duplicate code.

Also un-virtualise and const a function which wasn't overridden and can be const
2024-06-19 08:51:28 +10:00
Peter Barker 12197b2d60 SITL: correct and improve Hirth simulator
we weren't sending an ACK for the set-values message
2024-06-19 08:48:32 +10:00
Thomas Watson 4ef2d49d92 hwdef: CubeRedPrimary: ICM45686 as ICM20649 alternative
Empirically what is present on Cube Reds built on/after 2024-04-14.
2024-06-18 10:53:08 +09:00
Iampete1 a322ba4f77 AP_Scripting: add binding for GPS `time_epoch_usec` 2024-06-18 10:37:13 +10:00
Iampete1 1c26c241f1 AP_Scripting: add uint64 userdata 2024-06-18 10:37:13 +10:00
Iampete1 574b9939a5 AP_Scripting: allow auto generation of uint32 operators 2024-06-18 10:37:13 +10:00
Andrew Tridgell 003f931d9c AP_Arming: added eeprom full arming check
tell users if params may not persist
2024-06-18 10:29:55 +10:00
Andrew Tridgell ae8ee5325c AP_Param: added get_eeprom_full()
for arming check
2024-06-18 10:29:55 +10:00
Iampete1 b68af03419 AP_HAL_ChibiOS: update relay parameter names 2024-06-18 08:59:34 +09:00
Andy Piper 608d396fd6 AP_Logger: take a blocking semaphore when writing messages using the block logger 2024-06-18 09:54:09 +10:00
Iampete1 fe814a66e4 AP_Vehicle: add new mode reason AUX_FUNCTION 2024-06-18 09:49:20 +10:00
koehlert 7092cb4717 GCS_MAVLink: support HIGHRES_IMU
HIGHRES_IMU MAVLink message. Built in to 2MB boards or not by default.
2024-06-18 09:29:04 +10:00
SCRainbow 0f011a4b61 AP_HAL_ChibiOS: Added support for JHEMCU H743 HD
commit 7d01b9e3cb09e89afea4bcb903d54b9ce8cdb1be
Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
Date:   Fri Apr 19 07:06:45 2024 +0800

    AP_HAL_ChibiOS: Added support for JHEMCU H743 HD

    commit d1e4ba0ef307e3ab3cc0f4218dd08e2f5c8f6ad0
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 19 04:38:22 2024 +0800

        board_types.txt: Reverted change for seperate PR

        hwdef-bl.dat: revert flash size to 2mb

        hwdef.dat: flash size set to 2mb, corrected syntax, realigned imus

    commit ee465524a7c37509d89ae17ae277a42328cb1cfd
    Merge: b1a55e0e3d 0f0023e62d
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:59:31 2024 +0800

        Merge branch 'master' into master

    commit b1a55e0e3d10a1fc3eff7af14c837271d0a3d131
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:59:08 2024 +0800

        Create defaults.parm

        output 9 is setup as serial LED

    commit 8437b6277c9f1d00a333ebd4f96946f02bf2bfc1
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:56:44 2024 +0800

        Update JHEMCU-H743HD/README.md

        Changed default UART6 protocol to displayport

        Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

    commit 186740cbc038a0ed4dd3bfc9035504bdd165b5aa
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:56:28 2024 +0800

        Update JHEMCU-H743HD/hwdef.dat

        Changed default UART6 protocol to displayport

        Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

    commit 48cfc0daaf58fecfe75a9338c91f4543aed4b14c
    Merge: 789b71d709 5a21d0cb8a
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Mon Apr 15 10:25:49 2024 +0800

        Merge branch 'master' into master

    commit 789b71d709b2b01c2a5134f8293f785917a787fd
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 19:37:37 2024 +0800

        Update hwdef-bl.dat

        Corrected FLASH_SIZE_KB to 1024 as H743VGT6  have only 1M flash

    commit cfa26b8f014c1775aa0270168682deca8ae16e78
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 19:37:04 2024 +0800

        Update hwdef.dat

        Corrected FLASH_SIZE_KB to 1024 as H743VGT6  have only 1M flash

    commit 3ae8a2c6ca2b0e95c076b652622adfe53275575a
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 18:40:31 2024 +0800

        Update hwdef.dat

        Fixed BIDIR labels, they are now in pairs, only on M1, M3, M5 and M7

    commit 200e22d5f06f6a0aef30463f4d2702872fe6f063
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 18:20:42 2024 +0800

        Update hwdef.dat

        Included OTG2, default serial 3 protocol is set to None.

    commit 8f561c17efa9708acbd257759f12b056f44ea5f6
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 18:10:01 2024 +0800

        Update README.md

        Corrected title

    commit 404b49f399d756561727571132ec38f3f89188a3
    Merge: b1d353b185 77cccd08a3
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 09:56:53 2024 +0800

        Merge branch 'master' into master

    commit b1d353b185721c1e319f2b758f8e4ea1b1d30968
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:51:57 2024 +0800

        Added JHEMCU H743 HD support

    commit 299841b23628431dc1b0172bb5fc50968acf2fd1
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:25:01 2024 +0800

        Added JHEMCU-H743HD

    commit 39d10456894bbbc4f73dfba65ee7cace7659ae17
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:21:14 2024 +0800

        Update README.md

    commit 048780fe44aace829173b0e701bc5a2ff874ee49
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:18:23 2024 +0800

        Added initial hwdef for JHEMCU H743 HD board

commit d4021681ec6d47f81973e6b346a67b757f3908d2
Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
Date:   Fri Apr 19 07:06:46 2024 +0800

    Tools: Added support for JHEMCU H743 HD

    commit d1e4ba0ef307e3ab3cc0f4218dd08e2f5c8f6ad0
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 19 04:38:22 2024 +0800

        board_types.txt: Reverted change for seperate PR

        hwdef-bl.dat: revert flash size to 2mb

        hwdef.dat: flash size set to 2mb, corrected syntax, realigned imus

    commit ee465524a7c37509d89ae17ae277a42328cb1cfd
    Merge: b1a55e0e3d 0f0023e62d
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:59:31 2024 +0800

        Merge branch 'master' into master

    commit b1a55e0e3d10a1fc3eff7af14c837271d0a3d131
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:59:08 2024 +0800

        Create defaults.parm

        output 9 is setup as serial LED

    commit 8437b6277c9f1d00a333ebd4f96946f02bf2bfc1
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:56:44 2024 +0800

        Update JHEMCU-H743HD/README.md

        Changed default UART6 protocol to displayport

        Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

    commit 186740cbc038a0ed4dd3bfc9035504bdd165b5aa
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Tue Apr 16 10:56:28 2024 +0800

        Update JHEMCU-H743HD/hwdef.dat

        Changed default UART6 protocol to displayport

        Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>

    commit 48cfc0daaf58fecfe75a9338c91f4543aed4b14c
    Merge: 789b71d709 5a21d0cb8a
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Mon Apr 15 10:25:49 2024 +0800

        Merge branch 'master' into master

    commit 789b71d709b2b01c2a5134f8293f785917a787fd
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 19:37:37 2024 +0800

        Update hwdef-bl.dat

        Corrected FLASH_SIZE_KB to 1024 as H743VGT6  have only 1M flash

    commit cfa26b8f014c1775aa0270168682deca8ae16e78
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 19:37:04 2024 +0800

        Update hwdef.dat

        Corrected FLASH_SIZE_KB to 1024 as H743VGT6  have only 1M flash

    commit 3ae8a2c6ca2b0e95c076b652622adfe53275575a
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 18:40:31 2024 +0800

        Update hwdef.dat

        Fixed BIDIR labels, they are now in pairs, only on M1, M3, M5 and M7

    commit 200e22d5f06f6a0aef30463f4d2702872fe6f063
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 18:20:42 2024 +0800

        Update hwdef.dat

        Included OTG2, default serial 3 protocol is set to None.

    commit 8f561c17efa9708acbd257759f12b056f44ea5f6
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 18:10:01 2024 +0800

        Update README.md

        Corrected title

    commit 404b49f399d756561727571132ec38f3f89188a3
    Merge: b1d353b185 77cccd08a3
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Sat Apr 13 09:56:53 2024 +0800

        Merge branch 'master' into master

    commit b1d353b185721c1e319f2b758f8e4ea1b1d30968
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:51:57 2024 +0800

        Added JHEMCU H743 HD support

    commit 299841b23628431dc1b0172bb5fc50968acf2fd1
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:25:01 2024 +0800

        Added JHEMCU-H743HD

    commit 39d10456894bbbc4f73dfba65ee7cace7659ae17
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:21:14 2024 +0800

        Update README.md

    commit 048780fe44aace829173b0e701bc5a2ff874ee49
    Author: SCRainbow <139575368+SCRainbow@users.noreply.github.com>
    Date:   Fri Apr 12 17:18:23 2024 +0800

        Added initial hwdef for JHEMCU H743 HD board
2024-06-18 08:21:16 +09:00
xianglunkai 5b05a171a2 AP_HAL_Linux: remove unused includes 2024-06-17 09:51:38 +10:00
cuav-chen2 869ef0ee04 AP_Baro: Add in BMP581 Driver 2024-06-17 09:50:47 +10:00
Peter Barker a737a34cd0 AP_Logger: correct comment about reserved range for vehicle IDs 2024-06-17 08:24:52 +10:00
Henry Wurzburg 247f5e5446 AP_OSD:Update HD fonts 2024-06-12 20:11:00 -04:00
Peter Barker 1d945cc5ac AP_Common: Location: allow retrieval of Vector3p from vector-from-origin 2024-06-11 19:50:18 +10:00
Peter Barker 0fc6fc4e9c AP_Math: move definition of HAL_WITH_POSTYPE_DOUBLE into AP_HAL_Boards.h
other libraries need to know if we are doing double-precision offsets
2024-06-11 19:50:18 +10:00
Peter Barker d70f5b92e0 AP_HAL: move definition of HAL_WITH_POSTYPE_DOUBLE into AP_HAL_Boards.h
other libraries need to know if we are doing double-precision offsets
2024-06-11 19:50:18 +10:00
Peter Barker 50401b749b AP_Follow: factor out separate methods for handling mavlink messages
handle_message was a bit of a monster
2024-06-11 16:20:20 +10:00
Peter Barker 89eade0836 AP_Follow: factor out a Log_Write_FOLL method 2024-06-11 16:20:20 +10:00
Peter Barker 6765838a3c AP_Follow: factor out a should_handle_message method 2024-06-11 16:20:20 +10:00
Peter Barker 7ea2e60b5a AP_AHRS: clarify frame of get_location_from_origin_offset
... by renaming it get_location_from_origin_offset_NED
2024-06-11 14:57:56 +10:00
Peter Barker 5994664bf9 SITL: add simulated tie-down clamp 2024-06-11 09:56:43 +10:00
Peter Barker 911375fa9a AP_Common: rearrange get_vector_from_origin_NEU to be less destructive
this change means that if the origin call failes we don't half-update the object before returning false
2024-06-11 09:47:14 +10:00
Peter Barker 500ca22c75 AP_Follow: clarify what we're doing when rotating a vector
odd sort of a transform, make it clear what's happening
2024-06-11 09:41:32 +10:00
Peter Barker 9c42a5d9dd GCS_MAVLink: warn on use of old fence point / rally point protocols 2024-06-11 09:39:56 +10:00
Peter Barker c5f902919e AC_Fence: warn on use of old fence point / rally point protocols 2024-06-11 09:39:56 +10:00
Peter Barker 2d7a4b318d AP_NavEKF: tidy creation of vectors 2024-06-11 09:38:54 +10:00
Peter Barker 4fb8408e80 GCS_MAVLink: clarify timeline on removal of HIL_GPS and BATTERY2
try to move to a standard greppable pattern for code to be removed
2024-06-11 09:37:56 +10:00
Peter Barker d250d9cb2b GCS_MAVLink: remove MOUNT_CONFIGURE/MOUNT_CONTROL handling by default 2024-06-11 09:37:56 +10:00
Peter Barker fc560e8219 GCS_MAVLink: avoid casting DroneCAN backend to incorrect type
- split get_type into allocated_type and configured_type
 - check allocated type rather than configured type when looking at backends

Prevents overwrite of random memory when backends are changed at runtime.
2024-06-11 09:31:46 +10:00
Peter Barker 029e0b15b3 AP_BattMonitor: avoid casting DroneCAN backend to incorrect type
- split get_type into allocated_type and configured_type
 - check allocated type rather than configured type when looking at backends

Prevents overwrite of random memory when backends are changed at runtime.
2024-06-11 09:31:46 +10:00
Peter Barker dd56f2465b SITL: make simulated SBP2 vastly more accurate
I have no idea if this is actually the sort of number which these devices will return.

However, for the EKF to be happy with the GPS the reported speed accuracy must be much lower than the SBP2 driver reports when we give it these numbers.

It might be that we are interpretting these fields incorrectly in the driver and that the simulator is, in fact, correct.
2024-06-11 09:29:14 +10:00
Brad Bosch 3b150d2e4c GCS_MAVLink: Add support for parity to Serial passthrough
Add code to reflect USB ACM parity setting to the passthrough port alongside existing support for ACM baud rate changes.  Some use cases for serial passthrough require specific parity settings.

For example, even parity is used and required by the USART protocol used in the STM32 system bootloader. This enhancement allows the use of standard flash programming tools such as STM32CubeProgrammer to flash connected STM based peripherals such as Receivers and Telemetry radios via serial passthrough.  Some examples of such peripherals include the FrSky R9 receivers as well as various other STM based LoRa modules used by the mLRS project.
2024-06-11 09:24:32 +10:00
Brad Bosch f2f9349419 AP_HAL: Add support for parity to Serial passthrough
Add code to reflect USB ACM parity setting to the passthrough port alongside existing support for ACM baud rate changes.  Some use cases for serial passthrough require specific parity settings.

For example, even parity is used and required by the USART protocol used in the STM32 system bootloader. This enhancement allows the use of standard flash programming tools such as STM32CubeProgrammer to flash connected STM based peripherals such as Receivers and Telemetry radios via serial passthrough.  Some examples of such peripherals include the FrSky R9 receivers as well as various other STM based LoRa modules used by the mLRS project.
2024-06-11 09:24:32 +10:00
Martin Luessi 3201622d38 AP_HAL_ChibiOS: Update readme for RADIX2HD 2024-06-11 09:11:09 +10:00
Peter Barker 6751bce0fc SITL: log number of times sim paused on serial0 buffer
SITL pauses the simulation if we do not have a minimum amount of space in its out queue.

Log the number of times we do this.
2024-06-11 08:51:25 +10:00
Peter Barker 6ae0b5ec5b AP_HAL_SITL: log number of times sim paused on serial0 buffer
SITL pauses the simulation if we do not have a minimum amount of space in its out queue.

Log the number of times we do this.
2024-06-11 08:51:25 +10:00
subashchandar 7e59b8c5a0 hwdef: update PixFlamingo_f767 README 2024-06-11 08:42:56 +10:00
Andy Piper 2af6358c07 AP_GPS: dynamically allocate config_GNSS 2024-06-10 06:53:23 +10:00
Andy Piper 90f7222f98 AP_HAL_ChibiOS: enable LEDs on Here4AP 2024-06-10 06:53:23 +10:00
Andy Piper a9dc7b440f AP_GPS: support GPSx_GNSS_MODE for F9P
support detecting F9P hardware variant
fix bug in extension buffer management
support NEO-F9P GNSS configuration
allow multiple configuration values to be set in one go
phase F9 configuration to account for GNSS reset
2024-06-10 06:53:23 +10:00
Bill Geyer c77f688032 AP_Motors: fix spacing
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-06-09 13:24:38 -04:00
MattKear 3a311a9d69 AP_Motors: Heli: Fix SWSH logging for reversed collectives 2024-06-09 13:24:38 -04:00
Paul Riseborough 61874da020 AP_NavEKF3: Rework method of synthesising airspeed for dead reckoning
The previous method resulted in data incest and fusion of predicted airspeed on every EKF internal time step.
This was not apparent during flight where the vehicle was turning, but during long straight legs did not constrain along track drift.
2024-06-09 14:25:02 +10:00
Paul Riseborough 720c2da807 AP_NavEKF3: Rework GPS jamming resiliency
Make it user selectable.
Remove potential for a race condition between decisions based on latest data and the EKF fusion processing which operates on a delayed time horizon. This is achieved by preventing data entering the buffer if awaiting checks to pass ensuring that no EKF fusion time horizon processes can use data that hasn't passed checks.
Log the waitingForGpsChecks class variable
2024-06-09 14:25:02 +10:00
Paul Riseborough 996bf7d4df AP_NavEKF3: Log gpsGoodToAlign 2024-06-09 14:25:02 +10:00
Paul Riseborough eb2ff2192d AP_NavEKF3: Don't block no compass planes from running GPS alignment checks 2024-06-09 14:25:02 +10:00
Paul Riseborough 6baeb1cd9d AP_NavEKF3: Fix bug causing in flight yaw align to not complete 2024-06-09 14:25:02 +10:00
Paul Riseborough ffde7f815c AP_NavEKF3: Allow wind to relearn rapidly when GPS is re-enabled 2024-06-09 14:25:02 +10:00
Paul Riseborough 87bf8d9997 AP_NavEKF3: Treat wind as truth when deadreckoning with no airspeed sensor 2024-06-09 14:25:02 +10:00
Paul Riseborough 568972c0f0 AP_NavEKF3: Fix bug preventing use of default or synthetic airspeed 2024-06-09 14:25:02 +10:00
Paul Riseborough 2c3174b77b AP_NavEKF3: Strengthen protection against GPS jamming
These changes prevent the EKF from consuming GPS data too soon when it is recovering from jamming if the EKF is able to navigate using dead reckoning.
2024-06-09 14:25:02 +10:00
Paul Riseborough 324d5da811 AP_NavEKF3: Use last observed wind states to enable dead reckoning
These changes enable the EKF to use the last observable wind velocity vector estimate to synthesise an airspeed measurement if operating without an airspeed sensor and when all other measurement types that can constrain velocoty drift are lost. This enables the EKF to use dead reckoning to continue after loss of GPS when there is no air speed sensor fitted and without the need to set a default airspeed value.
The logic used to fuse a default airspeed value has also been cleaned up and the call to FuseAirSpeed() from inside SelectBetaDragFusion() has been removed.

AP_NavEKF3: Fix error in default airspeed observation variance

AP_NavEKF3: Enable shadow fusion of airspeed when sensor is disabled
2024-06-09 14:25:02 +10:00
Paul Riseborough e53416e77b AP_NavEKF3: Apply GPS quality checks following loss of 3D fix if velocity error is bounded 2024-06-09 14:25:02 +10:00
MattKear 5784abde1f AP_Motors: Heli dual: Constrain cyclic roll for intermeshing 2024-06-08 23:13:28 -04:00
Andrew Tridgell c783f632c1 AP_Scription: added CANF logging to Halo6000 EFI driver
allows for easier debugging
2024-06-09 08:37:44 +10:00
Iampete1 1c5c80d244 AP_Scripting: Docs: remove stray grave 2024-06-08 07:29:53 +10:00
Andrew Tridgell e9d39d80f4 AP_InertialSensor: fixed ICM42670
highres sampling is not working on the ICM42670 on some versions of
the Pixhawk6X. Disable for now.
2024-06-07 19:44:48 +10:00
Iampete1 cb22a6389d AP_Scripting: add virtual class in docs to avoid need nil check warning 2024-06-07 06:30:22 +10:00
muramura dfc04cd53a AP_Notify: Convert the ENUM definition to a class 2024-06-06 15:15:14 -04:00
George Zogopoulos d2901dc9c9 SITL: Removed trailing underscore 2024-06-05 19:03:31 +10:00
Peter Barker 78fcf7057c GCS_MAVLink: move switch for sending camera messages into AP_Camera
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Peter Barker 5538f6735f AP_Camera: move switch for sending camera messages into AP_Camera
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Iampete1 364419be81 AP_Scripting: docs: allow overload of manual bindings to allow documentation of optional arguments 2024-06-04 09:29:49 +10:00
Iampete1 f54ca766df AP_Scripting: tests: luacheck.lua: ignore lua-language-server 2024-06-04 09:29:49 +10:00
Iampete1 93642026aa AP_Scripting: tests: check.json: check files it gitignore but not self 2024-06-04 09:29:49 +10:00
Henry Wurzburg 3b86c0527f AP_BLHeli:expand metadata of 3d and Reverse masks 2024-06-04 09:24:41 +10:00
Henry Wurzburg 887e4713e6 AP_HAL_ChibiOS:remove fetaures to allow boards to build 2024-06-04 09:23:43 +10:00
Andrew Tridgell 6233bc0e10 HAL_Empty: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell ceac4969d5 AP_Networking: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell e97a6c7089 AP_InertialSensor: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 35a8f6c7b2 AP_DroneCAN: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 265e2a4d6b StorageManager: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 3682e3aad3 SRV_Channel: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 4e1b2b95d4 SITL: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 9b046f5a12 GCS_MAVLink: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5859250651 Filter: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell db6bcdb725 AP_WindVane: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 76d16e2d78 AP_Winch: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 20a5ec4348 AP_WheelEncoder: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 659ecf6159 AP_VisualOdom: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 6a96df4792 AP_Vehicle: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 30228f5e6e AP_Torqeedo: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 65822c01ed AP_TemperatureSensor: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 93484ec81d AP_TempCalibration: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell a2459c6e61 AP_Scripting: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5af89a4291 AP_Scheduler: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell c1bdf15c1d AP_RPM: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 01f02867a6 AP_RCTelemetry: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 51d5f85b83 AP_RCProtocol: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 8554081be5 AP_RangeFinder: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5130e26f4c AP_Radio: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell c681701f81 AP_Proximity: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 6bd2be548b AP_Param: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell a5672b0105 AP_OSD: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 7235c146fa AP_OpticalFlow: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 014b3bba70 AP_OpenDroneID: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell cead1ee264 AP_ONVIF: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 530cbf1eca AP_Notify: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 4d5aa1b8e3 AP_Networking: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 242a3741e3 AP_NavEKF: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 94cbd7cbfb AP_NavEKF3: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5e88d67571 AP_NavEKF2: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5ca4bdbd8d AP_MSP: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 28da263e16 AP_Mount: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell e5a63eaad0 AP_Motors: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 3912c6a5e0 AP_Module: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell e180359757 AP_Menu: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell ad6502c9f1 APM_Control: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 72c77b3453 AP_Math: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 20070b7e37 AP_Logger: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 41cc776bd9 AP_LeakDetector: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 98697ba5d3 AP_KDECAN: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 6962c4080d AP_JSON: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 2e6c5157e6 AP_IOMCU: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell a0acccb1f9 AP_InertialSensor: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 17e338d7f6 AP_HAL_SITL: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell f1c6538f34 AP_HAL_Linux: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 20959524b8 AP_HAL: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 9caf942c7e AP_HAL_ESP32: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell d3133b8fa1 AP_HAL_Empty: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 8dbad82c8a AP_HAL_ChibiOS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 375eab8560 AP_GyroFFT: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 62e3c6e5a4 AP_Gripper: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 1e075aeb80 AP_GPS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell c70c8657bc AP_Generator: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell ab408bf3af AP_Frsky_Telem: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell a241b13f45 AP_Filesystem: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 4da9c245d1 AP_FETtecOneWire: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5756b9a3de AP_ExternalAHRS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell b07e0bf06b AP_EFI: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell ed8926361f AP_DroneCAN: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell d5a90af9ba AP_DDS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 50253834ef AP_DAL: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 98caad29f5 AP_CustomRotations: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 0f08b47322 AP_Compass: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 5620fee636 AP_Common: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 4bf2d87d70 AP_CheckFirmware: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 02456875e7 AP_CANManager: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell a71585b9b8 AP_Camera: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell bac6d6f644 AP_Beacon: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 4879cc24e6 AP_BattMonitor: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 72dc87e5c1 AP_Baro: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 9ace1c6792 AP_Avoidance: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 6f6648a35c AP_AIS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 8fdf085e2f AP_Airspeed: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 54017b820b AP_AHRS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 715e8346a6 AP_ADSB: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell b8eab36298 AP_ADC: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 260a8eaddc AC_PrecLand: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 4c41805a3d AC_PID: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell c95624a040 AC_Fence: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell 18e5da78d2 AC_CustomControl: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell c36c37099d AC_Avoidance: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell aa2f885e2f AP_Common: added checks for new without std::nothrow
and add NEW_NOTHROW macro
2024-06-04 09:20:21 +10:00
Andrew Tridgell 4f6653e5c7 HAL_SITL: avoid std::vector in command line handling
use ObjectArray instead
2024-06-04 09:20:21 +10:00
Andrew Tridgell c764e60aa0 HAL_SITL: avoid use of std::queue
use ObjectArray instead
2024-06-04 09:20:21 +10:00
muramura eec7876028 SITL: correct valgrind failure in SIM_GPS_SBP2 2024-06-03 21:30:32 +10:00
Peter Barker db6245bb66 AP_CRSF_Telem: add missing VideoTX include
We use the vtx singleton in here, so we need the header.

... also fix up the includes and ifdefs a little.
2024-06-03 17:51:47 +10:00
Bron2002 165b0e929f AP_GPS: add checking of instance number before update with incoming data 2024-06-03 12:18:11 +10:00
Andy Piper 07f0bfc8c9 AP_IOMCU: correct TCIE setting and add more debug 2024-06-02 10:54:14 +10:00
Andy Piper ae8a2d9513 AP_HAL_ChibiOS: reset pwm peripheral on F1 when deallocating IC DMA 2024-06-02 10:54:14 +10:00
Andrew Tridgell c2a9bc93b5 SITL: added --uartA alias for SITL
needed for MissionPlanner SITL

see https://github.com/ArduPilot/MissionPlanner/pull/3359

we will need this till a new stable release of MissionPlanner is done
2024-06-01 21:35:55 +10:00
Andrew Tridgell 4e0e20aee1 SITL: added plane-steering model for ground steering
needs to be updated with improved yaw rate calculation
2024-06-01 20:09:25 +10:00
Iampete1 51c77fe098 Filter: Testes: notch: interpolate crossing points for acurate phase lag 2024-06-01 16:37:07 +10:00
Andrew Tridgell c908636cde Filter: added test of phase lag vs attenuation 2024-06-01 16:37:07 +10:00
Henry Wurzburg f5a6193cbf AP_HAL_ChibiOS:correct pin to be pulled high during boot 2024-06-01 10:23:52 +10:00
Peter Barker b2b8eb93a6 SITL: correct valgrind failure in SIM_GPS_SBP 2024-05-31 13:23:03 +10:00
Ryan Friedman 513938b0ff AP_DDS: Use common quaternion initialization function
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-30 16:57:28 +10:00
Leonard Hall 0accc61107 AC_AutoTune: Move functions out of HAL_LOGGING_ENABLED 2024-05-29 18:29:23 +10:00
Leonard Hall 20edb9185d Copter: Autotune: Remove double call to AC_Attitude_Control 2024-05-29 18:29:23 +10:00
Leonard Hall b9e06402af Copter: Autotune: Increase waiting for level timeout. 2024-05-29 18:29:23 +10:00
Leonard Hall cebcbf0044 Copter: Autotune: Virtual methods to separate Heli and Multi 2024-05-29 18:29:23 +10:00
Leonard Hall 45525a40b8 Copter: Autotune: Don't Fail min D for Yaw Filter 2024-05-29 18:29:23 +10:00
Leonard Hall a7962c35b6 Copter: Autotune: Reduce MIN_D 2024-05-29 18:29:23 +10:00
Leonard Hall 858d90cb95 Copter: Autotune: Improve angle limit test 2024-05-29 18:29:23 +10:00
Leonard Hall 712cf3696b Copter: Autotune: Small changes for clarity 2024-05-29 18:29:23 +10:00
Leonard Hall 79f4e0a2d8 Copter: Autotune: Level requirement improvements 2024-05-29 18:29:23 +10:00
Leonard Hall 41a5a1b8fe Copter: Autotune: Notify user of min Rate D for action 2024-05-29 18:29:23 +10:00
Leonard Hall fcd3c8502f Copter: Autotune: Twitch direction enhancements 2024-05-29 18:29:23 +10:00
Leonard Hall e2560371cf Copter: Autotune: Base angles limits on lean_angle_max 2024-05-29 18:29:23 +10:00
Leonard Hall 54618dd903 Copter: Autotune: Fail when bad tune is expected 2024-05-29 18:29:23 +10:00
Leonard Hall 13fb69be7c Copter: Autotune: Look for bounce earlier in test 2024-05-29 18:29:23 +10:00
Leonard Hall 18d18d14fc Copter: Autotune: Set D = 0 for Yaw test 2024-05-29 18:29:23 +10:00
Leonard Hall c000efdabe Copter: Autotune: Increase test timeout 2024-05-29 18:29:23 +10:00
Leonard Hall 327fd034da Copter: Autotune: Reduce default AGGR 2024-05-29 18:29:23 +10:00
Leonard Hall c47b3b8f03 Copter: Autotune: Reduce chance of desync 2024-05-29 18:29:23 +10:00
Tom Pittenger 9669699405 AP_Networking: enable Socket IP reuse 2024-05-29 18:29:03 +10:00
Andy Piper 304751e162 AP_RCTelemetry: only update VTX parameters if CRSF provider was enabled 2024-05-29 17:49:08 +10:00
Andy Piper 607249d73d AP_VideoTX: add autobauding to Tramp
Record enabled backends
2024-05-29 17:49:08 +10:00
Rhys Mainwaring 88926a38cf AP_DDS: make all subscriber QoS best effort reliability
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-05-29 17:47:52 +10:00
Rhys Mainwaring 840f4b142d AP_DDS: fix type string for navsat msg
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-05-29 17:47:52 +10:00
Rhys Mainwaring c71ef23657 AP_DDS: create entities by binary
- Add topic name and type to topic table.
- Use binary creation functions for participants and topics.
- Add constant for domain ID.
- Create publishers and datawriters by binary
- Create subscribers, datareaders and services by binary
- Add extra fields to the services table.
- Remove dds_xrce_profile.xml
- Document additional service table fields
- Add QoS struct to topic and service tables
- Replace profile labels with enums.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-05-29 17:47:52 +10:00
xingchengGE 3ba16eb933 AP_Motor: Fix a typo 2024-05-29 16:28:02 +09:00
radityankn 4cab322356 Update RCOutput.cpp
erasing additional curly brackets
2024-05-29 17:02:48 +10:00
radityankn 119f822583 AP_HAL_ESP32: support for Safety Switch
modified RCOutout.cpp to read specified pin for safety switch and light
the LED on another specified pin
2024-05-29 17:02:48 +10:00
David Buzz 1c9a44c33e AP_HAL_ESP32:LOWERING the MAIN_PRIO gets a 400hz loop rate on s3 "empty" board
loop_rate: actual: 400.000000Hz, expected: 400Hz
loop_rate: actual: 400.000000Hz, expected: 400Hz
loop_rate: actual: 400.000000Hz, expected: 400Hz
[ setup esp32 build env ] 
./waf configure --board=esp32s3empty --debug
./waf copter --debug --disable-scripting --upload
 after upload:
cd build/esp32s3empty/esp-idf_build && ninja monitor && cd -
[watch console output for 2 minutes]
ctrl-right-square-bracket to stop watching console.
2024-05-29 13:12:37 +10:00
David Buzz 07092715a7 AP_HAL_ESP32: print loop rate
loop rate getting 262Hz from console after approx 2 minutes boot

loop_rate: actual: 262.022766Hz, expected: 400Hz
loop_rate: actual: 262.022766Hz, expected: 400Hz

t
2024-05-29 13:12:37 +10:00
David 'Buzz' Bussenschutt 529d783e0e AP_HAL_ESP32: automatic S3 sdkconfig changes generated by IDF 2024-05-29 13:12:37 +10:00
Pierre Kancir 9623e7a249 AP_HAL_SITL: Give tcp client 3 attempts to connect
This make tcp client connection easier when connecting multiple sitl instances
2024-05-29 13:12:09 +10:00
Andrew Tridgell d305cb47f8 AP_Scripting: added GPS yaw binding
useful for seeing if switching to a GPS yaw source set in EK3 will work
2024-05-29 12:56:57 +10:00
Andrew Tridgell bf9f3b8660 AP_Scripting: added notch_switch example
switch between two notch setups using attenuation change
2024-05-29 12:56:43 +10:00
Henry Wurzburg f5f78b7711 AP_HAL_ChibiOS:Improve SDMODELH7V2 definition 2024-05-29 10:40:03 +10:00
petrosilius 1d810bfa6f AP_Scripting: added tracker Pelco-D control script
This script uses the scaled output from the antennatracker servos and map them to corresponding Pelco-D messages to be sent via a RS-485 interface to a motorized base (can be anything from motorized tracker to a PTZ camera).
If your FCU doesnt offer a RS-485 interface by default, you can use or TTL-RS485- or USB-RS485-adapters.

Pelco-D allows to control using either speed-/differential- or absolute-control control of the pan-/tilt-axis.
Currently the script uses speed based control using by mapping the "ContinuousRotation" type servos outputs to the corresponding Pelco-D messages.
The absolute control messages are implemented nevertheless for future use.

The script assumes therefor at least the following parameters to be set:

SCR_ENABLE = 1
SERVO_PITCH_TYPE = 2  # ContinuousRotation type servo
SERVO_YAW_TYPE = 2    # ContinuousRotation type servo
SERIALx_PROTOCOL = 28 # serial port used by luascript

Additionally the PITCH2SRV and YAW2SRV tuning needs to be done as described by the antennatracker description.
Also keep attention to the PITCH_MIN, PITCH_MAX and YAW_RANGE parameters to fit your Pelco-D hardware!
2024-05-28 17:42:52 +10:00
Andrew Tridgell e0af22ad8f SITL: update to work on newer cygwin versions 2024-05-28 11:33:38 +10:00
Iampete1 3f6ce2dc09 AP_DroneCAN: Serial: map baudrates so param works as expected 2024-05-28 10:27:20 +10:00
Peter Barker 720c8719dc waf: boards.py: use chibios_hwdef.py to get boards list 2024-05-28 10:25:39 +10:00
Peter Barker a669249416 GCS_MAVLink: default support for BATTERY2 sending to off
replaced by BATTERY_STATUS
2024-05-28 10:11:37 +10:00
Iampete1 f5e7bfcc48 AP_Scripting: remove support for REPL 2024-05-28 10:10:14 +10:00
rotorman 0962b759b0 AP_HAL_ChibiOS: adds Flywoo/Goku F405 HD 1-2S ELRS AIO v2 flight controller support
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2024-05-28 09:57:14 +10:00
MattKear 0a6fa4f886 AP_SurfaceDistance: Start library for tracking the floor/roof distance 2024-05-28 09:55:36 +10:00
Iampete1 e10b4abad8 ChibiOS: UART: Add support for RS-485 Driver Enable RTS flow control 2024-05-28 09:48:19 +10:00
Iampete1 e6a0abdfce AP_HAL_ChibiOS: hwdef.py: find alt function for UART RTS and add to init struct 2024-05-28 09:48:19 +10:00
Iampete1 0959930289 AP_BoardConfig: update RTSCTS param values for new option 2024-05-28 09:48:19 +10:00
Iampete1 50fd01af97 GCS_MAVLink: use new `flow_control_enabled` helper 2024-05-28 09:48:19 +10:00
Iampete1 713eda617f AP_Scripting: allow new flow control type in `set_flow_control` binding 2024-05-28 09:48:19 +10:00
Iampete1 d340f37678 AP_HAL: UARTDriver: Add new flow control option "FLOW_CONTROL_RTS_DE" for RS485 driver enable. 2024-05-28 09:48:19 +10:00
Thomas Watson 0956b4f65d AP_HAL_SITL: remove deprecated --uartX options
Code remains to check for use of these options and give an error which
contains the correct option to use, due to the non-intuitive mapping
between --uartX and --serialN.

A future version will remove that code too.
2024-05-28 09:23:39 +10:00
Thomas Watson d2456f4199 SITL: remove references to legacy UART order 2024-05-28 09:23:39 +10:00
burgeruser 458cb0a1c9 AP_HAL_ChibiOS: bi-directional dshot on iomcu F103 8MHz 2024-05-28 06:56:14 +10:00
Rhys Mainwaring 33d51d52ad AP_DDS: ensure zero rotation quaternions are normalised
- ROS expects quaternions to be normalised and the default message constructor does not enforce this.
- Fix normalisation for pose stamped.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-05-26 09:46:48 +10:00
Stephen Dade d16ff40162 RC_Channel: detect duplicate aux functions with an ID >256 2024-05-24 09:57:17 +10:00
Paul Riseborough 91423d4c71 AP_NavEKF3: Remove unncessary local position height reporting offset
The offset generated by the EK3_OGN_HGT_MASK parameter bit 2 option is applied to the baro or range finder sensor so it does not have to be applied to the local position height.
2024-05-23 10:35:51 +10:00
Paul Riseborough 5fded75eb6 AP_NavEKF3: Adjust sensor height when EK3_OGN_HGT_MASK bit 2 is set 2024-05-23 10:35:51 +10:00
David O'Connor 77adb5586d AP_HAL_ChibiOS: Added mag and dataflash logging support to AnyLeaf H7 2024-05-23 09:48:02 +10:00
Peter Barker b7cf418d1e GCS_MAVLink: allow handling of AP_MAVLINK_MSG_HIL_GPS_ENABLED to be compiled out 2024-05-23 09:16:32 +10:00
Peter Barker 05b8c28ea9 AP_GPS: allow handling of AP_MAVLINK_MSG_HIL_GPS_ENABLED to be compiled out 2024-05-23 09:16:32 +10:00
Alex Burka 8e399cffbe AP_InternalError: fix signedness issue with snprintf 2024-05-22 23:22:23 +10:00
Iampete1 0c6f396438 AP_Scripting: docs: document all functions currently documented on the wiki 2024-05-22 18:13:53 +10:00
Peter Barker 482342340d hwdef: fold minimal_GPS.inc into sole user 2024-05-22 18:03:06 +10:00
Randy Mackay 72b5efd8b3 AP_Mount: serial backends gets instance 2024-05-22 18:00:22 +10:00
Randy Mackay 99626b73ff AP_Mount: SToRM32_serial inherits from serial backend 2024-05-22 18:00:22 +10:00
Randy Mackay 7fc00efe7e AP_Mount: Viewpro inherits from serial backend 2024-05-22 18:00:22 +10:00
Randy Mackay 790b5e8565 AP_Mount: Siyi inherits from serial backend 2024-05-22 18:00:22 +10:00
Randy Mackay 1e777390b2 AP_Mount: add Backend_Serial 2024-05-22 18:00:22 +10:00
Andy Piper 3a4fdb16a8 AP_RCTelemetry: add support for baro/vario CRSF frames 2024-05-22 17:15:04 +10:00
Andy Piper 1e2621466c AP_Frsky_Telem: factor out vspeed and nav alt 2024-05-22 17:15:04 +10:00
Andy Piper 9112b14414 AP_RCProtocol: add frame ids for CRSF baro/vario 2024-05-22 17:15:04 +10:00
James O'Shannessy a5e11911fc AP_Mount: Only save converted mount if mount was previously set in the first place
The mount library force configures the mount type on conversion, even if the mount was never configured in the first place
2024-05-22 17:11:40 +10:00
Andrew Tridgell 5fd4e23fa9 AP_Compass: removed IST8310 overrun message
this is not useful and just causes concern to users. Any small bus
delay can trigger this. We have health monitoring at a higher level
2024-05-22 14:51:15 +10:00
Peter Barker 24e54dac88 AC_WPNav: remove un-needed initialisation 2024-05-21 15:52:51 +10:00
Nick Exton 0af4649705 AP_Mount: In Servo backend, report attitude as demanded servo angles, not target angles 2024-05-21 14:27:28 +09:00
Nick Exton e17439287b AP_Mount: In Servo backend, add overrides for has_roll_control() and has_tilt_control() 2024-05-21 14:27:28 +09:00
Nick Exton 0e090faf05 AP_Mount: Add roll_range_valid() and pitch_range_valid() functions
Equivalent to yaw_range_valid().
2024-05-21 14:27:28 +09:00
Bob Long 7e8f9c72fb AP_MotorsTri: reverse-frame cleanup and fixes
- fix motor test order for reverse frame
- add frame type string for reverse frame
- fix initialization of _pitch_reversed flag
2024-05-21 15:20:27 +10:00
Bob Long dc3f2c9724 AP_Motors_test: add tri frames to json output 2024-05-21 15:20:27 +10:00
Nick Exton 8b5539c055 AP_Mount: Clarify angle frames of set_angle_target() 2024-05-21 14:28:38 +10:00
Iampete1 44bd77d49e AP_BattMonitor: FuelLevel_Ananlog: set has_current true so capacity is reported 2024-05-21 10:07:48 +10:00
Andrew Tridgell 54b6349a2a HAL_SITL: implement wind rate of change 2024-05-21 09:59:37 +10:00
Andrew Tridgell 1603869140 SITL: added SIM_WIND_TC
time constant for wind changes
2024-05-21 09:59:37 +10:00
Peter Barker 36e385fb22 AP_NavEKF3: set-origin failure comment improved 2024-05-21 09:56:02 +10:00
Randy Mackay 4e2dd7c399 AP_NavEKF3: accept set origin even when using GPS 2024-05-21 09:56:02 +10:00
muramura ddae068657 AP_Param: Summarize the type definitions settings 2024-05-21 09:46:32 +10:00
Iampete1 91cdea1a8d AP_Scripting: examples: fault_handling.lua: ignore errors. 2024-05-21 09:42:22 +10:00
Iampete1 3a7bf8dd7d AP_Scripting: ignore lua language check issues resulting from https://github.com/ArduPilot/ardupilot/pull/26939 2024-05-21 09:42:22 +10:00
Iampete1 d2e95583d6 AP_Scripting: docs: update 2024-05-21 09:42:22 +10:00
Iampete1 003ccc38c6 AP_Scripting: generator allow more types for uint32 prams and dont add class keyword to globals 2024-05-21 09:42:22 +10:00
Iampete1 cc159a44d5 AP_Scripting: tests: add config files for checks and docs generation 2024-05-21 09:42:22 +10:00
Iampete1 5bb5f442e1 AP_Scripting: ignore lua-language-server-errors 2024-05-21 09:42:22 +10:00
rmaia 07c854db57 AP_OSD: add BTFL sidebar symbols
Adds the sidebar symbols translation to BTFL fonts, so sidebar is properly displayed in DJI O3 OSD.
2024-05-21 09:23:49 +10:00
rmaia e07980db43 AP_OSD: Add configurable sidebar horizontal and vertical size extensions 2024-05-21 09:21:56 +10:00
Randy Mackay 19ea0944b1 AP_SerialManager: TYPE param renamed to MAVLink 2024-05-21 08:38:59 +10:00
Randy Mackay 1da3c24850 AP_EFI: TYPE param renamed to MAVLink 2024-05-21 08:38:59 +10:00
Randy Mackay fcc2e2ac5a AC_PrecLand: TYPE param renamed to MAVLink 2024-05-21 08:38:59 +10:00
Randy Mackay 31720d2c83 AP_GPS: TYPE param value renamed to MAVLink 2024-05-21 08:38:59 +10:00
Andrew Tridgell 5cf2c2740e AP_Terrain: added parameter for terrain cache size 2024-05-17 10:18:13 +10:00
Maxim Buzdalov ada091f1fc AP_IOMCU: add support for Extended DShot Telemetry v2 2024-05-15 17:29:19 +10:00
Maxim Buzdalov 1232e810d4 AP_HAL: add support for Extended DShot Telemetry v2 2024-05-15 17:29:19 +10:00
Maxim Buzdalov 43937ddeed AP_HAL_ChibiOS: add support for Extended DShot Telemetry v2 2024-05-15 17:29:19 +10:00
Maxim Buzdalov 0022c3aa72 AP_ESC_Telem: add support for Extended DShot Telemetry v2 2024-05-15 17:29:19 +10:00
bnsgeyer 8a42a29ef7 AC_AttitudeControl: add comments for system ID disturbance input code 2024-05-14 23:16:52 -04:00
bnsgeyer c2e99dc50e AC_AttitudeControl: implement suggested changes 2024-05-14 23:16:52 -04:00
bnsgeyer 84e52378cf AC_PosControl: add support for sysid of vel and pos loops 2024-05-14 23:16:52 -04:00
Peter Barker 9f0e191505 GCS_MAVLink: deny attempt to do partial upload while mission transfer in progress
fixes an internal error where we make sure resources are not allocated before allocating upload resources.

The user may receive a DENIED message if they move a waypoint before an item has been transfered to the vehicle.
2024-05-15 12:26:34 +10:00
Andy Piper 2891b37807 AP_HAL_ChibiOS: add SDMODELV2 2024-05-15 07:27:46 +10:00
Andrew Tridgell 188df1312d AP_Scripting: fixed float register save/restore in setjmp/longjmp
the register save must happen before the setjmp() call, which means
outside of the LUAI_TRY() macro. We also should be saving all 32
floating point registers
2024-05-15 06:47:44 +10:00
Andrew Tridgell 09df079c19 AP_Scripting: added example script that causes a hard fault
this exercises rapid fault handling
2024-05-15 06:47:44 +10:00
Andy Piper 2352990d90 AC_AutoTune: zero out D_FF during twitching 2024-05-14 16:33:38 +09:00
Iampete1 0bb51a31ea AP_HAL_ChibiOS: remove setting of ROMFS flags 2024-05-14 10:05:51 +10:00
Ryan Friedman 2dc547bec2 AP_ExternalAHRS: Fix duplicate condition
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-14 09:58:59 +10:00
Iampete1 9026ce065a AP_BattMonitor: ESC: add mask 2024-05-14 09:58:04 +10:00
Andy Piper a7d4183776 AP_HAL_ChibiOS: BLITZ Wing H743 2024-05-14 09:35:51 +10:00
Clyde McQueen b853fe3366 AP_RangeFinder: fix Lua timeout 2024-05-14 09:26:25 +10:00
Peter Barker bd3e58c413 GCS_MAVLink: mark as not receiving when too many items in MISSION_COUNT.count
we left things in the "receiving" state, which would eventually lead to a timeout, rather than just failing instanenously with the correct code.
2024-05-14 09:21:53 +10:00
Patrick José Pereira 34f5579699 AP_HAL_Linux: Remove message about base address
The value is the same as in the match

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Patrick José Pereira 6016e411e0 AP_HAL_Linux: Add support to Raspberry Pi 5
The Raspberry Pi 5 has a coprocessor that takes care of the IO over the BCM.
This adds support to the new RP1 processor.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Patrick José Pereira 3f451b9f4c AP_HAL_Linux: Util_RPI: Add message about unknown board
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Patrick José Pereira 4af6142933 AP_HAL_Linux: Util_RPI: Add support to RPI5 identification
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Ryan Friedman fbb785859a SITL: fix GPS headings
* Rename NMEA heading to ground_course_deg
* Rename heading() utility to ground course (it was wrong)
* Add _rad prefix to be pedantic about units
* Add missing degrees conversion in NMEA because NMEA is not SI

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-12 21:06:52 +10:00
Ryan Friedman 3b1ba19640 AP_GPS: fix GPS headings
* If you don't wrap the heading, you can get a flyaway

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-12 21:06:52 +10:00
mateksys 8c23379d45 AP_HAL_ChibiOS: add MatekG474-Periph hwdef 2024-05-10 12:54:11 +10:00
Andrew Tridgell 3050a8b0dc HAL_ChibiOS: fixed erasing of G4 dual-bank past 256k flash
BKER needs to be set to bank number, lower 7 bits of page number in
PNB
2024-05-10 12:54:11 +10:00
MattKear 7b02a99d14 AP_MotorsHeli: Swash: Make motor numbers const 2024-05-09 15:19:44 -04:00
Andy Piper 8c91077c35 AP_HAL_ChibiOS: correct GPS output on MambaH743v4 2024-05-08 18:56:45 +10:00
Andrew Tridgell b4bc6f1e2e hwdef: added MatekL431-APDTelem
for using APD ESCs with serial telemetry
2024-05-08 18:19:19 +10:00
Peter Barker 972872d09f AP_Baro: create explicit define for BARO_PROBE_EXT parameter
the more-than-trivial #if is needed elsewhere, so create an explicit name for it
2024-05-08 18:18:07 +10:00
Peter Barker 51dc35f6ff AP_Mission: emit jump count even if no limit
previously if there was a jump limit we informed the user we were jumping and provided the current count and the limit.

This changes things so that if there's no limit we emit the same message, with the count and "unlimited" in place of the limit number
2024-05-08 17:56:56 +10:00
Randy Mackay e605f961f2 AP_BattMonitor: torqeedo support for multiple instances 2024-05-08 17:51:09 +10:00
Randy Mackay 72718bb783 AP_Torqeedo: multi backend support 2024-05-08 17:51:09 +10:00
magate a6995c93cc AP_Scripting: allow revert of angular rate limits 2024-05-08 17:43:04 +10:00
muramura 3a1e07d816 Filter: Get common processes out of the way 2024-05-08 17:41:32 +10:00
Peter Barker 599ff17f34 AP_HAL_Linux: fix SPIUARTDriver to work with GPS autodetection
GPS auto-detection requires get_baud_rate to return non-zero.  The SPIUARTDriver was returning 0.
2024-05-08 17:13:58 +10:00
MallikarjunSE d93f9a09db hwdef:update DMA 2024-05-08 09:04:45 +10:00
Andrew Tridgell 04c3770a77 AP_Motors: use AHRS for get_air_density_ratio() 2024-05-07 21:19:06 +10:00
Andrew Tridgell 5a439bb9b7 AP_AHRS: added get_air_density_ratio() 2024-05-07 21:19:06 +10:00
Andrew Tridgell b4ebae5e1b HAL_SITL: use baro atmospheric tables 2024-05-07 21:19:06 +10:00
Andrew Tridgell 67c506e75c SITL: use new atmospheric tables
and improve pitot handling
2024-05-07 21:19:06 +10:00
Andrew Tridgell db9cc9ac84 AP_DAL: use ahrs for EAS2TAS
this uses the stored value calculated once per loop
2024-05-07 21:19:06 +10:00
Andrew Tridgell 3d2037ef03 AP_Baro: log AltAMSL
useful as GPS comparison
2024-05-07 21:19:06 +10:00
Andrew Tridgell f8ce6a8623 AP_Baro: added atmospheric tables for high altitude flight
this gets altitude and EAS2TAS much more accurately up to around 150k
feet AMSL. Enabled on boards using EKF double
2024-05-07 21:19:06 +10:00
Andrew Tridgell 128d9b0e41 AP_Airspeed: added atmospheric tables for high altitude flight
this gets altitude and EAS2TAS much more accurately up to around 150k
feet AMSL. Enabled on boards using EKF double
2024-05-07 21:19:06 +10:00
Andrew Tridgell bae5859a92 AP_Scripting: added copter_loiter_brake script
for automatic BRAKE mode when flying in LOITER in steep terrain
2024-05-07 19:39:39 +10:00
Nick Exton c9f4c47b42 AP_JSON: Ensure all printf() calls end with line break 2024-05-07 14:39:19 +10:00
Henry Wurzburg 061823551a hwdef:preconfig MicoAir bds shipping with BF for BF migration 2024-05-07 14:14:06 +10:00
Henry Wurzburg 7a21f2b862 hwdef: enable can port on Blitz743Pro 2024-05-07 10:44:15 +10:00
Iampete1 a8b4999d96 AP_Scripting: tests: enforce correct types in docs 2024-05-07 09:51:53 +10:00
Iampete1 aa7a1ce2a6 AP_Scripting: Docs: fix all type errors 2024-05-07 09:51:53 +10:00
Iampete1 a4a8923e1e AP_Scripting: generator: add return count to manual bindings 2024-05-07 09:51:53 +10:00
Iampete1 439fcb7c46 AP_Scripting: update docs 2024-05-07 09:51:53 +10:00
Iampete1 6e75f7c80f AP_Scripting: update docs generator to show ap_objects as possibly nil 2024-05-07 09:51:53 +10:00
Peter Barker 7319422d6c AP_HAL_Linux: remove unused RC input methods
these protocols have come from AP_RCProtocol for years
2024-05-07 09:49:48 +10:00
Iampete1 95a5169439 AP_Scripting: CAN: `get_device` and `get_device2` return nil if no driver is configure with the correct protocol 2024-05-07 09:48:10 +10:00
Iampete1 632d0a93c1 AP_CANManager: CANSensor: add getter for initialized 2024-05-07 09:48:10 +10:00
Iampete1 f3c32a7c9e AC_AttitudeControl: move `euler_rate_to_ang_vel`, `ang_vel_to_euler_rate` and `euler_accel_limit` to Quaternion attitude 2024-05-07 08:34:40 +09:00
tanghongkai b66ecd8884 AP_Logger: rename class and hwdef related to w25nxx 2024-05-06 12:26:38 +10:00
Gone4Dirt 71a4885c87 AP_MotorsHeli: Add collective and cyclic blade pitch angle logging 2024-05-04 21:36:24 -04:00
Andrew Tridgell b161bdd6a9 AP_AHRS: prevent use of uninitialised EAS2TAS 2024-05-05 07:57:54 +10:00
Andrew Tridgell 53c0619a9a SITL: added Glider SITL model 2024-05-05 07:57:54 +10:00
Andrew Tridgell 4370d2e348 HAL_SITL: added Glider SITL model 2024-05-05 07:57:54 +10:00
mateksys af1ab61f78 AP_HAL_ChibiOS: update MatekH7A3 hwdef for 16MHz xtal 2024-05-04 20:52:50 +10:00
Thomas Watson 0ca37387be AP_Filesystem: guarantee load_file() data is null-terminated
Improves safety of use and clarity of users. Termination is not
included in the reported size to avoid changing user behavior or
misrepresenting the file contents.
2024-05-04 10:15:44 +10:00
Thomas Watson a5764b7413 AP_ROMFS: clarify usage and null termination
Also remove the redundant insertion of the null terminator.
2024-05-04 10:15:44 +10:00
Andrew Tridgell e2767f899f AP_Scripting: allow for 0x00 for 2nd checksum byte in INF_Inject driver
the device does send 0x00 sometimes and data is valid
2024-05-04 07:43:39 +10:00
Jacob Dahl e5ea8f14f4 hwdef: ARKV6X: enable debug console 2024-05-02 15:16:33 -07:00
Jacob Dahl 9f5e837646 hwdef: ARKV6X: UART6 RC SBUS input 2024-05-02 15:16:33 -07:00
Andy Piper f78eb58fb4 AP_InertialSensor: ensure that notches get updated while converging 2024-05-03 07:34:21 +10:00
Iampete1 982cc3a00f AP_DroneCAN: call RPM subscribe 2024-05-02 20:25:38 +10:00
Iampete1 dff29a5015 AP_RPM: add DroneCAN backend 2024-05-02 20:25:38 +10:00
Iampete1 23989bc569 AP_RPM: add DC_SEND_ID for periph RPM stream 2024-05-02 20:25:38 +10:00
Andrew Tridgell c628e31c0a AP_Scripting: fixed crc and added logging to INF_Inject driver 2024-05-02 12:17:49 +10:00
Andy Piper 30877cf11f AP_InertialSensor: allow FIFO rate logging for hires sampling 2024-05-02 11:01:20 +10:00
Andy Piper b1e7974453 AP_HAL_ChibiOS: add highres sampling to Pixhawk6X 2024-05-02 11:01:20 +10:00
Peter Barker d1de760ee4 AP_Scripting: enable AP_Scheduler for CubeOrange-periph-heavy
... we use the scehduler in AP_Motors, which is compiled when making heavy-periph
2024-05-01 17:53:44 +10:00
Peter Barker f44dd9605d AP_HAL_ChibiOS: enable AP_Scheduler for CubeOrange-periph-heavy
... we use the scehduler in AP_Motors, which is compiled when making heavy-periph
2024-05-01 17:53:44 +10:00
Peter Barker 549411133b GCS_MAVLink: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Peter Barker f9c5c02f91 AP_RCProtocol: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Peter Barker 6f42556951 AP_Radio: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Peter Barker f6bfd7cad3 AP_HAL: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Peter Barker c521a5edfe AP_HAL_ChibiOS: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Peter Barker 6d9a75b5ec AP_BoardConfig: move handling of AP_Radio RC input down into AP_RCProtocol 2024-05-01 17:51:49 +10:00
Henry Wurzburg c91fe8a44f AP_Motors:explain PMWRange/Angle PWM types in metadata 2024-05-01 17:26:44 +10:00
Iampete1 97449b0572 AC_Avoid: add "BACKZ_SPD" vertical backup speed limit parameter 2024-05-01 17:25:07 +10:00
richaravoil af3be52925 AP_HAL_ChibiOS: adding active UART in the bootloader
Adding USART6 to be active in bootloader phase to allow flashing with a serial connection.
2024-05-01 17:21:30 +10:00
Andy Piper f38faaae99 AP_HAL_ChibiOS: iFlight Blitz H7 Pro 2024-05-01 17:19:05 +10:00
Daniel Field 33892aa049 SITL: modifications to lift in SIM_StratoBlimp (#3)
* Update SIM_StratoBlimp.cpp

* Update SIM_StratoBlimp.h
2024-05-01 15:45:22 +10:00
Peter Barker c08d982c0c SITL: populate speed accuracy uBlox messages from SITL parameters 2024-05-01 10:19:58 +10:00
Andrew Tridgell 68b58d5435 AP_Compass: workaround hardware bug in IST8310 whoami
the WAI (whoami) register is writeable. Not only is it writeable, but
the written value is persistent across a power cycle. You have to
remove power for about 30s for it to finally go back to the right
default value of 0x10

this makes using WAI as a test for finding a IST8310 problematic. The
best we can do is send a soft reset which will reset it to default for
us to then check
2024-05-01 09:24:54 +10:00
Andy Piper 41fd7c726e AP_IOMCU: allow up to 16 channels of servo data to be sent to the iomcu 2024-05-01 08:21:01 +10:00
Peter Barker dce3a41657 SITL: add description for SIM_BARO_DRIFT 2024-04-30 16:39:32 +10:00
Peter Barker 527e621a57 AP_Baro: accumulate altitude drift in place of raw calc
currently we set drift based on current boot time.  If you want to introduce it at some stage in a flight the baro alt will suddenly jump based on how long you've been up.

Instead, accumulate a delta
2024-04-30 16:39:32 +10:00
Andy Piper 25b10fb8c4 AP_HAL: make NeoPixel high-low proportions match for 0 and 1 2024-04-30 11:00:30 +10:00
tanghongkai 0dac7d5cfe AP_Logger: add support to w25n02kv 2024-04-30 10:58:12 +10:00
Ryan Friedman b81a5deefe AP_ExternalAHRS: Add pre-arm for misconfigured EAHRS_SENSORS and GPS_TYPE
* This catches when there's a mismatch of GPSx_TYPE and EAHRS_SENSORS
  when GPS is enabled
* Before this pre-arm, failure to set GPS_TYPE2 to 21 (ExternalAHRS)
  resulted in silent rejection of the data in AP_GPS because the default
is off
* And fix a little logging bug

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-04-30 09:18:46 +10:00
Iampete1 1b1ce9530c AP_Common: add `get_distance_NED_alt_frame` method 2024-04-30 08:03:39 +09:00
Iampete1 1cdff47246 AP_Mission: add support for DO_RETURN_PATH_START 2024-04-30 08:03:39 +09:00
Brad Bosch e8d2097ec4 GCS_MAVLink: Avoid serial passthrough buffer exhausted/lost data
Just don't read more than we can write.
2024-04-29 20:06:43 +10:00
Hubert 890a83166d hwdef: Fix MicoAir743 internal compass rotation 2024-04-29 07:43:57 +10:00
Peter Barker 0a3ff72fd8 AP_Baro: correct placement of field elevation #endif
wind compensation and field elevation should be unrelated
2024-04-28 18:02:29 +10:00
Andrew Tridgell 202cc6ae9d SITL: fixed param meta-data name 2024-04-28 06:48:25 +10:00
Andrew Tridgell 4bb5a9ac52 HAL_SITL: link in StratoBlimp 2024-04-27 22:03:05 +10:00
Andrew Tridgell 1976f3d2d6 SITL: added StratoBlimp simulator 2024-04-27 22:03:05 +10:00
Iampete1 0a3bdbfdc9 Filter: NotchFilter: return NaN for `logging_frequency` if not initialised 2024-04-24 17:30:35 +10:00
Hubert 84900473de AP_HAL_ChibiOS: added NxtPX4v2
Update README.md

Update NxtPX4v2_BackView

Hwdef Remove: define HAL_GPIO_LED_OFF 0
2024-04-24 13:57:48 +10:00
aditya 9abcd6b7ca AP_ESC_TELEM: solved the logical error in grouping of escs into 4 2024-04-24 08:10:02 +09:00
Paul Riseborough 3c8b3be7a7 AP_NavEKF3: Change yaw source to stop compass use when calibrating 2024-04-23 15:19:56 +09:00
Andrew Tridgell fe42171268 AP_GPS: make get_RelPosHeading boolean 2024-04-23 10:32:43 +10:00
Hubert d1d71db8a0 AP_HAL_ChibiOS: add hwdef MicoAir743
Update README.md

Co-Authored-By: Henry Wurzburg <hwurzburg@yahoo.com>
2024-04-23 09:56:23 +10:00
Henry Wurzburg 4d7e4d1ca9 Revert "hwdef: bdshot version of the MatekF765-SE"
This reverts commit ac86bd8d21.
2024-04-23 09:52:01 +10:00
Michael du Breuil ff7a215dd0 AP_Baro: Do not cache EAS2TAS conversions
Caching this introduces discontinuities in TECS, as the step change
modifies the target speed demand.
2024-04-23 09:32:27 +10:00
Iampete1 30fdae880f SITL: allow disabling MAVLink simstate messages 2024-04-23 09:16:55 +10:00
Iampete1 64b57de559 AP_HAL_SITL: call `_sitl->set_stop_MAVLink_sim_state()` when alocating elrs 2024-04-23 09:16:55 +10:00
Iampete1 700804a015 SITL: add ELRS simulator 2024-04-23 09:16:55 +10:00
Iampete1 cbd5bcb694 AP_HAL_SITL: SITL_State_common: add elrs and pass portnumber in `create_serial_sim` 2024-04-23 09:16:55 +10:00
Iampete1 b0ceaa7610 AP_HAL_SITL: use DataRateLimit helper 2024-04-23 09:16:55 +10:00
Iampete1 92adcb14e1 AP_HAL: utility: Add Data Rate Limit helper 2024-04-23 09:16:55 +10:00
Daniel Li f47998ed8a hwdef: Fix Aocoda-RC H743Dual motor 5-8 mis-labeled issue 2024-04-22 12:03:33 +10:00
Ferruccio Vicari 1c104557b7 AP_Motors: fix heli yaw behavior in autorotation 2024-04-18 11:13:50 -04:00
Peter Barker c5f4fe9a8a AP_Baro: remove Baro accumulate API
no backend actually needs to be prodded, everything is done on timers
2024-04-18 09:19:20 +10:00
Tatsuya Yamaguchi 8874c1a560 AP_HAL_SITL: added HEXA X 2024-04-18 08:25:41 +10:00
Peter Barker bf63729d31 SRV_Channels: gate method on scripting being enabled
also AP_Scheduler since we're calling and instance method on it
2024-04-18 08:25:15 +10:00
Peter Barker ee038cdf1f GCS_MAVLink: adjust for AP_SCHEDULER_ENABLED being false 2024-04-18 08:25:15 +10:00
Peter Barker 35dbf93e13 AP_Scheduler: fixes for AP_SCHEDULER_ENABLED 2024-04-18 08:25:15 +10:00
Peter Barker fe9bcb9b5b AP_Vehicle: cope with AP_Scheduler not being available 2024-04-18 08:25:15 +10:00
Iampete1 8f2b2cfe31 Filter: HarmonicNotchFilter: convert harmonics as a bitmask 2024-04-17 22:15:22 +01:00
Iampete1 cd0bdda93d AP_Param: add convert_bitmask_parameter_width method 2024-04-17 22:15:22 +01:00
Tatsuya Yamaguchi 26ec2ae952 AC_AttitudeControl: fix ATC_SLEW_YAW description (NFC) 2024-04-17 22:18:51 +10:00
Peter Barker b367fd0c1e AP_RCMapper: exclude body of AP_RCMapper based on AP_RCMAPPER_ENABLED 2024-04-17 18:17:56 +10:00
Peter Barker dc692f7169 AP_Arming: exclude body of AP_Arming.cpp based on AP_ARMING_ENABLED 2024-04-17 18:17:27 +10:00
Peter Barker 75bbff01c1 AP_DroneCAN: move Arming, Beacon and RC_Mapper into ardupilotwaf.py
these were built for all vehicles, so put them in the common list
2024-04-17 18:11:46 +10:00
Peter Barker 7d10b0fc4d GCS_MAVLink: add and use AP_HOME_ENABLED 2024-04-17 18:09:25 +10:00
Peter Barker 9df6beb181 AP_AHRS: add and use AP_HOME_ENABLED 2024-04-17 18:09:25 +10:00
Randy Mackay 6a56b2bc94 AP_HAL_ChibiOS: correct CUAV-Nora periph power comment 2024-04-17 18:07:56 +10:00
Randy Mackay 1b4f62c1ea AP_HAL_ChibiOS: correct CUAV-X7 periph power comment 2024-04-17 18:07:56 +10:00
Randy Mackay 69eff077d7 AP_HAL_ChibiOS: Durandal peripheral power on at startup 2024-04-17 18:07:56 +10:00
Randy Mackay 136ccf66c7 AP_HAL_ChibiOS: Pixhawk5X peripheral power on at startup 2024-04-17 18:07:56 +10:00
Randy Mackay 0b3b2148cb AP_HAL_ChibiOS: Pixhawk6C peripheral power on at startup 2024-04-17 18:07:56 +10:00
Randy Mackay 561d1254a1 AP_HAL_ChibiOS: Pixhawk6X peripheral power on at startup 2024-04-17 18:07:56 +10:00
Randy Mackay d951898f13 AP_DAL: visual odom get_delay_ms return fix 2024-04-17 18:05:26 +10:00
Andy Piper 2a786616b1 AP_IOMCU: account for possibility of SBUS_OUT in PWM structures 2024-04-17 17:49:56 +10:00
Andy Piper ca3ad93f0d AP_HAL_ChibiOS: iFlight BLITZ Mini F745 2024-04-17 17:34:10 +10:00
Andy Piper bad4463463 AP_HAL_ChibiOS: iFlight Blitz F745 2024-04-17 17:34:10 +10:00
Gone4Dirt 9153c40568 AP_HAL_ChibiOS: MatekL431-Rangefinder: Add 2nd rangefinder 2024-04-17 17:06:42 +10:00
Andrew Tridgell dce2492321 AP_NavEKF3: use filtered gyro in INS position correction
this reduces the impact of IMU noise on the output velocity from the
EKF
2024-04-17 14:53:59 +10:00
Andrew Tridgell eed50a0872 AP_DAL: change gyro filter to 10Hz
this improved EKF3 IMU position correction for noise
2024-04-17 14:53:59 +10:00
Clyde McQueen 52a9bb7792 AP_Baro: disable BARO_FIELD_ELV for sub 2024-04-17 10:37:16 +10:00
Peter Barker 44359ff6b2 AP_Common: add get_alt - 100 times better than get_alt_cm 2024-04-16 19:14:12 +10:00
Peter Barker 423198cef0 AP_Frsky_Telem: avoid manipulation of alt frames outside of Location object 2024-04-16 19:14:12 +10:00
Leonardo Garcia 763193d4fc AP_HAL_ChibiOS: Support for 3DR Control Zero H7 OEM rev G
Co-authored-by: Alexis Guijarro <totonzx@gmail.com>
Co-authored-by: Andy Piper <github@andypiper.com>
2024-04-16 14:10:13 +10:00
Peter Barker cd9aa0e3ed AP_GPS: remove dedundant crc32 routine from Nova 2024-04-16 10:02:47 +10:00
Peter Barker b95bd8f19d AP_AHRS: remove call to get_home()
this is our object, we don't need permission
2024-04-16 08:47:15 +09:00
Peter Barker 6ef131c0f9 SITL: correct diagnostic message about what AirSim-in addr we bound
Co-authored-by: Oleksiy Protas <elfy.ua@gmail.com>
2024-04-16 09:31:20 +10:00
Henry Wurzburg 5c4aeddae7 AP_HAL_ChibiOS: add MicoAir405Mini 2024-04-16 09:21:23 +10:00
Brad Bosch 6538e8c9ae GCS_MAVLink: Cleanup and Reduce chance of GCS FTP timeout
Delete unneeded orphan comment
replace get_last_txbuf() with a predicate
Make txbuf flow control threashold consistent between Parameter download and FTP and keep it in range where we are also slowing down normal streams
Delay sending text banner until after first FTP response to reduce latency on slow links
Don't let flow control delay setting ftp.last_send_ms so as to slow down normal streams as soon as possible to improve FTP response time
2024-04-16 09:16:52 +10:00
Brad Bosch bbfb0ed001 GCS_MAVLink: Make get_last_txbuf() safer
Add check for stale radio_status to get_last_txbuf()
Move last_txbuf into last_radio_status struct
2024-04-16 09:16:52 +10:00
Brad Bosch 0e47599bb1 GCS_MAVLink: respect txbuf flow control for FTP messages
This gives slow radio links a fighting chance of getting FTP bulk download working even when they use a baud rate which is much higher than their current bandwidth.

This should eliminate the need to disable FTP for parameter download on slow to moderate speed radio links like mLRS and ELRS.  It allows removal of a hack in mLRS which results in a decrease in parameter download time for 19 Hz mLRS from 45-60 seconds to 11-17 seconds.  This should also be good news for the ELRS rc-mavlink branch.
2024-04-16 09:16:52 +10:00
Oleksiy Protas cadd121401 Bounds correctness for AnalogIn_IIO 2024-04-16 09:14:55 +10:00
FOG_Yamato ac86bd8d21 hwdef: bdshot version of the MatekF765-SE 2024-04-16 09:13:43 +10:00
Peter Barker 5a21d0cb8a AP_Camera: correct compilation when HAL_MOUNT_SET_CAMERA_SOURCE_ENABLED not set
- need the include because an enumeration is used in the header (relied on the include previously being made by a file including this header)
 - set_lens is not part of set-camera-source, so shouldn't be excluded
 - exclude entire method, not body of method based on the include
2024-04-14 13:33:00 +10:00
Peter Barker a4ec91c4f1 AP_Follow: use Location.change_alt_frame for what it is good for 2024-04-14 13:29:58 +10:00
Andrew Tridgell 1cafe25854 AP_Scripting: improve INF inject driver
make it more robust to serial errors, and support correct checksum
2024-04-14 07:19:40 +10:00
Tim Tuxworth 495726344c AP_Mount: Do not override default mode when first connecting to RC 2024-04-12 12:18:33 +09:00
Peter Barker 43995763db AP_Camera: stop adjusting logged altitudes manually, use location methods 2024-04-11 22:39:09 +10:00
Peter Barker d1a1bcba19 RC_Channel: process only transitions after rc is valid for arm_emergency_stop switch and parachute deploy switch 2024-04-11 22:17:08 +10:00
Andy Piper 563d31b1ea AP_HAL_ChibiOS: fixups for FoxeerF405v2 2024-04-11 18:38:08 +10:00
Thomas Frans d52f49ec36 AP_GPS: SBF report correct satellite count on NrSV DNU value
When the NrSV field of the SBF PVTGeodetic message contains the
Do-Not-Use value of 255, set the satellite count to 0 instead of
ignoring the change.
2024-04-11 18:35:16 +10:00
muramura a9d0bf856e AP_Mount: Do not perform unnecessary processing 2024-04-11 18:35:01 +10:00
murata f605c0fbe3 RC_Channel: Notify function error if ADS-B is not implemented 2024-04-11 13:12:22 +10:00
Henry Wurzburg 6b5bb4e864 hwdef:add BIDIR to MatekH7A3 2024-04-11 10:17:43 +10:00
Peter Barker 468158e0f9 RC_Channel: add option to flight mode pause/resume via aux function 2024-04-11 10:17:35 +10:00
mateksys 74e7132bd3 hwdef: add MatekH7A3 readme.md 2024-04-11 10:17:17 +10:00
Peter Barker f83cde7760 GCS_MAVLink: correct spelling of dereferecing 2024-04-10 21:56:52 +10:00
Peter Barker 292ad8678a AP_Arming: force user to ack crashdump or get prearm failure 2024-04-10 21:56:52 +10:00
Andrii Fil ed6ddf725d AP_Parachute: optional (CHUTE_OPTIONS:1) disarm defore parachute release 2024-04-10 21:55:51 +10:00
Hubert 4893f1303c hwdef: correct hwdef for MicoAir405v2
Update hwdef: DMA allocation and LED mapping
Update README: UARTs DMA allocation
Update defaults.parm: GPS low baudrate
2024-04-10 21:55:01 +10:00
Peter Barker cd8f081611 AP_NavEKF: correct setting of _filled
Co-authored-by: luweiagi <luweiagi@163.com>
2024-04-10 21:53:54 +10:00
Peter Barker 99f5e74a8e AP_NavEKF: correct initialisation of ekf_imu_buffer
this init() call can be called on an existing buffer, in which case we clear the object.

Presumably since we've just zeroed all the elements its safe to say that we should mark the object as having never-been-filled
2024-04-10 21:53:54 +10:00
Peter Barker 8452f5f0cd AP_NavEKF: add tests for ekf_imu_buffer 2024-04-10 21:53:54 +10:00
Peter Barker 42c4329d4c RC_Channel: require RC switch position transition for arming
currently if you turn your transmitter on at runtime we may try to arm the vehicle if your arming switches are asserted.

This patch changes things to we don't trust the first position seen from an RC receiver - we must see a transission for the arming options
2024-04-10 21:53:23 +10:00
Peter Barker f55c35487b AP_VisualOdom: correct unused variable in visualodom
when both logging and gcs are compiled out
2024-04-10 21:52:28 +10:00
Andrew Tridgell 739d4a7fc8 hwdef: the RM3100 should run at max 1MHz on SPI bus 2024-04-10 21:40:51 +10:00
Alexis Guijarro a50c19f622 mRo Control Zero Classic: Added ADC input for servo rail 2024-04-10 19:01:51 +10:00
Peter Barker b03b8309ef AP_GPS: copy GPS metadata in for pre-per-instance-parameters
allows to not break older firmware in terms of available metadata
2024-04-10 16:37:35 +09:00
Peter Barker 0e6bca92f7 AP_HAL_ChibiOS: remove redundant lines from hwdef files 2024-04-10 17:28:48 +10:00
muramura d4236a95c4 tools: change a word(NFC) 2024-04-10 14:20:04 +09:00
muramura 927cfeec68 AP_Airspeed: change a word(NFC) 2024-04-10 14:20:04 +09:00
Peter Barker 29149fad1b hwdef: remove un-needed lines from CSKY405 hwdef
linting the hwdef showed this
2024-04-10 10:35:16 +10:00
Peter Barker f16d0378e1 hwdef: compilation fix for CSKY405-fix
SCB-WAF: ../../libraries/AP_HAL/AP_HAL_Boards.h:372:2: error: #error "HAL_GPIO_LED_OFF must not be defined, it is implicitly !HAL_GPIO_LED_ON"  372 | #error "HAL_GPIO_LED_OFF must not be defined, it is implicitly !HAL_GPIO_LED_ON"
2024-04-10 10:35:16 +10:00
Andrew Tridgell 006d2c6cfe hwdef: require bootloader for BotBloxSwitch 2024-04-10 09:59:14 +10:00
Peter Barker 27598d1026 AP_HAL_ChibiOS: add missing Math.h include
for "MIN"
2024-04-10 08:45:18 +09:00
Peter Barker b0351cd339 AP_GPS: protect detection structures with GPS backend defines
Save some memory when backends are compiled out
2024-04-09 10:25:42 +10:00
Iampete1 03b00cb906 AP_Vehicle: call `uart_log` in `one_Hz_update` 2024-04-09 10:00:50 +10:00
Iampete1 264bd91f4e AP_Logger: add log structures from AP_HAL 2024-04-09 10:00:50 +10:00
Iampete1 6017f372a2 AP_HAL_SITL: and `uart_log` method and stats struct 2024-04-09 10:00:50 +10:00
Iampete1 73f4a47496 AP_HAL_ChibiOS: and `uart_log` method and stats struct 2024-04-09 10:00:50 +10:00
Iampete1 e82502a4a4 AP_HAL: Util: add virtual `uart_log` method 2024-04-09 10:00:50 +10:00
Iampete1 1e63ec24a8 AP_HAL: UARTDriver: add log_stats method and log structure 2024-04-09 10:00:50 +10:00
Iampete1 e970a6cb5d AP_HAL_SITL: UARTDriver: add getters for cumulative tx and rx counts 2024-04-09 10:00:50 +10:00
Iampete1 7dd2529683 AP_HAL_ChibiOS: UARTDriver: add getters for cumulative tx and rx counts 2024-04-09 10:00:50 +10:00
Iampete1 a4fd3980a8 AP_HAL: UARTDriver: add getters for cumulative tx and rx counts 2024-04-09 10:00:50 +10:00
Iampete1 c5ecddad92 AP_Logger: add bytes per second unit `B` 2024-04-09 10:00:50 +10:00
Henry Wurzburg 06efeb20cd AP_Airspeed:add option to report cal offset to GCS 2024-04-09 09:54:21 +10:00
Peter Barker 44891ce570 AP_Vehicle: base-class implementation of set_home 2024-04-09 09:35:16 +10:00
Peter Barker 420f80db75 GCS_MAVLink: move handling of DO_SET_HOME up to GCS_MAVLink base class 2024-04-09 09:35:16 +10:00
Peter Barker d78e96cc6b AP_Vehicle: move handling of DO_SET_HOME up to GCS_MAVLink base class 2024-04-09 09:35:16 +10:00
Peter Barker ecf93f6d86 hwdef: remove redundant defines from hwdefs
this is set in the periph defaults file
2024-04-09 09:32:15 +10:00
Henry Wurzburg b0decff44f AP_SCripting: update VTOL QuickTune to allow YAW FLTE = 0 2024-04-09 09:31:42 +10:00
Andy Piper 75978f9d6f AP_HAL_ChibiOS: CB Unmanned Stamp H743 2024-04-09 09:26:40 +10:00
Henry Wurzburg b69b2324e6 Filter:correct vehicles which can use throttle based notches 2024-04-08 23:11:03 +01:00
Peter Mullen c0a8e6c96a AP_Scripting: lua range finder driver that returns distances to a simulated sea floor for testing ArduSub surface tracking modes 2024-04-08 11:18:23 -03:00
richaravoil 4cdca46a0c hwdef: adding IMU lines for older version of board 2024-04-08 22:30:57 +10:00
Andrew Tridgell 4933ef3f2d AP_RCProtocol: fixed underflow wrap in GHST 2024-04-07 15:23:47 +10:00
Andrew Tridgell 5a2f711d85 AP_RCProtocol: added random data test
this triggers the CRSF crash bug that was just fixed
2024-04-07 15:23:47 +10:00
Andrew Tridgell 427384eb11 AP_RCProtocol: fixed crc memory range error in CRSF
this fixes a crash bug that caused a watchdog for Henry on a
F765-Wing. The bug happens with corrupt serial data causing an
underflow in the length argument to the crc call
2024-04-07 15:23:47 +10:00
Lanea Lucy S 01b0e0c27c AP_Relay: added relay output invert function 2024-04-06 10:58:43 +11:00
Andy Piper b9fede8a27 AP_HAL_ChibiOS: fixup FoxeerF405v2 build 2024-04-06 10:13:46 +11:00
Oleksiy Protas 364e6f06f3 AP_HAL_Linux: delay signal handlers setup
Allow default signals before full initialization in Linux, this makes sure we don't get an unkillable process if it hangs on initialization

Exit flag marked volatile to counteract possible compiler optimization due to the handler code running in a different context
2024-04-05 11:36:29 +11:00
Tatsuya Yamaguchi f1d37fc051 AP_Stats: update flight time on disarm 2024-04-05 11:31:20 +11:00
James O'Shannessy 9dbc61f85b AP_InertialSensor: Fix parameter name when saving persistent accel cals for Aux IMUs
Without this change, you get:
* IMU_ACCOFFS_*
* IMU_ACC2OFFS_*
* IMU_ACC3OFFS_*
* IMU3_ACCOFFS_*

After this change, you get:
* IMU_ACCOFFS_*
* IMU_ACC2OFFS_*
* IMU_ACC3OFFS_*
* IMU4_ACCOFFS_*
2024-04-05 11:02:04 +11:00
Philipp Borgers 1e2600c2e3 AP_Logger_MAVLink: Remove code that changes behavior when in SITL
The removed code changed behavior of the send_log_block function when
simulating with SITL. While I can understand the intention I do not
think that it is the right way to do it and has the potential to confuse
people debugging stuff with SITL and comparing to the real world.
2024-04-05 10:54:26 +11:00
Michael du Breuil 84cef5b786 AP_HAL_ChibiOS: add sw-boom-f407 and supporting scripts 2024-04-05 10:53:38 +11:00
AlexandrShipovsky ace31e617e AP_HAL_ChibiOS: add CSKY405 board 2024-04-05 10:45:00 +11:00
Andy Piper fdce070f81 AP_HAL_ChibiOS: allow H7RF to build 2024-04-05 10:23:50 +11:00
Iampete1 d93cc7f113 AP_HAL_SITL: report baudlimit_enable in bw_in_bytes_per_second function 2024-04-03 13:10:06 +01:00
Iampete1 0b95b515bd AP_HAL_SITL: implement uart_info to populate @SYS/uarts.txt 2024-04-03 13:10:06 +01:00
Iampete1 29559b6710 AP_HAL_Empty: update uart_info function for new signature 2024-04-03 13:10:06 +01:00
Iampete1 edc12c2857 AP_HAL_ChibiOS: use new UART stats tracking helper moving history up to util 2024-04-03 13:10:06 +01:00
Iampete1 c64124daf9 AP_HAL: Add StatsTracker helper 2024-04-03 13:10:06 +01:00
Andy Piper b045939f1d AP_HAL_ChibiOS: FoxeerF405v2 2024-04-03 18:50:52 +11:00
Peter Barker 47716e2338 hwdef: remove stray HAL_BUILD_AP_PERIPH defines
this is added by defaults_periph
2024-04-03 18:36:29 +11:00
Peter Barker 5fb4e1e285 hwdef: replace defined(HAL_DISABLE_LOOP_DELAY) with HAL_SCHEDULER_LOOP_DELAY_ENABLED 2024-04-03 18:36:29 +11:00
Peter Barker 764f6863ea hwdef: re-enable RCIN thread on some builds/boards
not because they need it, but to make a PR NFC
2024-04-03 18:36:29 +11:00
Peter Barker 994c268644 AP_HAL_ChibiOS: replace HAL_NO_RCIN_THREAD w/HAL_RCIN_THREAD_ENABLED 2024-04-03 18:36:29 +11:00
Henry Wurzburg 594c2466d8 HWDEF:revert copter only build on bds with integrated escs 2024-04-03 18:31:54 +11:00
Iampete1 dd4e212fbd AP_Scripting: examples: update servo scan 2024-04-03 16:31:23 +09:00
Dave d6488eb030 AP_HAL_ESP32: Added missing letter to printf statement 2024-04-03 16:18:02 +09:00
Peter Barker b7fe779713 AP_HAL: move GPIO ON/off defaults from AP_HAL_ChibiOS to AP_HAL
these can be reused across different vehicles
2024-04-03 11:00:24 +11:00
Peter Barker a65e06e0a9 AP_HAL_ChibiOS: move GPIO ON/off defaults from AP_HAL_ChibiOS to AP_HAL
these can be reused across different vehicles
2024-04-03 11:00:24 +11:00
Peter Barker e1f3864349 hwdef: convert_betaflight_unified.py: don't set HAL_GPIO_LED_OFF
this value is the default value anyway, so don't make many copies..
2024-04-03 11:00:24 +11:00
Peter Barker 10627d296d hwdef: remove HAL_GPIO lines which are simply the default values
... or the _OFF entry, which is simply !HAL_GPIO_MED_ON
2024-04-03 11:00:24 +11:00
Peter Barker 99dd85d51c AP_HAL_ChibiOS: enforce HAL_GPIO_LED_OFF is not(HAL_GPIO_LED_ON)
the current "flexibility" allows for ON/OFF to be the same value.

Many hwdef files where only setting one of these, leaving the other at teh default, too....
2024-04-03 11:00:24 +11:00
Peter Barker f70a1927f5 AP_HAL: chibios.h: remove defaulting of HAL_GPIO_LED_ON and _OFF
this same defaulting is being done in AP_HAL_ChibiOS/GPIO.h
2024-04-03 11:00:24 +11:00
mateksys b904ab27f8 AP_HAL_ChibiOS: add MatekH7A3 defaults.parm 2024-04-02 15:29:55 +11:00
mateksys 4c3800c462 AP_HAL_ChibiOS: modify MatekH7A3 hwdef 2024-04-02 15:29:55 +11:00
Peter Barker 33e5b20709 hwdef: re-add ESC control to AP_Periph units which lost it
I'm quite sure that several of these don't actually want it, but want NFC
2024-04-02 11:28:27 +11:00
Peter Barker 416f7d393a hwdef: remove DISABLE_SERIAL_ESC_COMM AP_Periph boilerplate
... use the defaults file instead
2024-04-02 11:28:27 +11:00
Maxim Buzdalov 9978b8f97f AP_Arming: do not wait 10 seconds with single gyro/accel 2024-04-02 11:23:01 +11:00
Peter Barker f28cfc9a3b hwdef: remove handling of FULL_CHIBIOS_BOOTLOADER directive
the string FULL_CHIBIOS_BOOTLOADER doesn't exist anywhere else in the source code
2024-04-02 11:20:48 +11:00
Iampete1 b08034373f AP_Logger: `Write_VER` keep g++ 7.5 happy by removeing non-trivial designated initializers 2024-04-02 11:13:55 +11:00
Iampete1 afe257a8db AP_Mission: take location in `get_landing_sequence_start`, `jump_to_landing_sequence`, `jump_to_abort_landing_sequence`, and `is_best_land_sequence`, add helpers for scripting 2024-04-02 11:11:59 +11:00
Iampete1 b16f70a83d AP_Landing: `restart_landing_sequence` get current location and pass it to `get_landing_sequence_start` 2024-04-02 11:11:59 +11:00
Clyde McQueen 10f39c3d28 GCS_Common: defer to AP_AHRS::set_origin to write logs 2024-04-02 11:00:22 +11:00
Clyde McQueen f422537f70 AP_AHRS: set_origin calls Log_Write_Home_And_Origin on success 2024-04-02 11:00:22 +11:00
rmaia 30ea932e9b AP_RCTelemetry: add extended RC link stats OSD fields
Adds RSSI dBm, SNR, LQ, Tx power and active antenna OSD fields
2024-04-02 10:30:24 +11:00
rmaia ea91d6e171 AP_RCProtocol: add extended RC link stats OSD fields
Adds RSSI dBm, SNR, LQ, Tx power and active antenna OSD fields
2024-04-02 10:30:24 +11:00
rmaia a1a87bd1f5 AP_OSD: add extended RC link stats OSD fields
Adds RSSI dBm, SNR, LQ, Tx power and active antenna OSD fields
2024-04-02 10:30:24 +11:00
Andrew Tridgell 1794c128a2 AP_Scripting: raise max FLTE for yaw to 8
better yaw for many vehicles
2024-04-02 10:28:34 +11:00
Henry Wurzburg b83a895d7b HWDEF: allow all build targets for non-integrated boarda 2024-04-02 10:17:21 +11:00
rishabsingh3003 b22e4fa085 AP_RangeFinder: Refactor RDS02UF rangefinder 2024-04-01 16:12:53 +11:00
rishabsingh3003 276ee86f38 AP_Math: Add RDS02UF RangeFinder CRC 2024-04-01 16:12:53 +11:00
rishabsingh3003 fc0084fe83 SITL: Update RDS02UF CRC 2024-04-01 16:12:53 +11:00
zebulon-86 871292cb29 AP_RangeFinder:add support for RDS02UF radar driver on serial
parameter RNGFNDx_TYPE is 42

Apply suggestions from code review

Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2024-04-01 16:12:53 +11:00
James O'Shannessy ac271cf4e0 AP_InertialSensor: Improve bitmask indicating persistent parameters on bootloader flash
INS_TCAL_OPTIONS parameter description indicates a singular bit in a bitmask to persist Accels/TCAL parameters, however there are two separate bits for persistence.
2024-03-26 11:39:11 +11:00
Henry Wurzburg 0cfdc75c90 add 60x22 to OSD_TXT_RES metadata 2024-03-26 11:37:16 +11:00
Andrew Tridgell 17a61ab14b AP_OSD: allow size of SITL OSD to be set with parameters 2024-03-26 11:36:48 +11:00
Andrew Tridgell feb8c3be67 SITL: added SIM_OSD_ROWS and SIM_OSD_COLUMNS 2024-03-26 11:36:48 +11:00
Iampete1 8ccec7615c AP_OSD: use `set_and_default` when ensuring first screen is enabled 2024-03-26 11:36:00 +11:00
Iampete1 c4691bef94 AP_DAL: Standalone: add int8 parameter set_and_default method to avoid include 2024-03-26 11:35:36 +11:00
Iampete1 21df26de75 AP_NavEKF3: use set_and_defualt when changing imu mask 2024-03-26 11:35:36 +11:00
Iampete1 b95b51f1a1 AP_NavEKF2: use set_and_defualt when changing imu mask 2024-03-26 11:35:36 +11:00
Ryan Friedman 6fc8185716 AP_ExternalAHRS: Only use GPS data when populating GPS fields
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:23:06 +11:00
Ryan Friedman 35451c7021 AP_ExternalAHRS: Check backend pre-arm before origin
* This allows the backend to report more detailed errors
* Before this, many pre-arm errors were hidden by origin failure
* If pre-arm could report multiple errors, that would be ideal

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman 95ac178f20 Save flash, reduce code duplication
* Add generic health and time utils
* Fix bug only checking first GNSS system
* Use common logging struct
* Improve pre-arm log checks

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman 9edc0f8ec6 AP_ExternalAHRS: Don't send init message till booted up
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman d383a19c29 AP_ExternalAHRS: Use state watching instead
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman 67b89a9b1f AP_ExternalAHRS: Provide warning for init failure
* If the device hasn't initialized in 5 seconds, give a warning

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:22:06 +11:00
Ryan Friedman dc2815e9f5 AP_ExternalAHRS: Use filter data to populate EKF status report
* Variances vs uncertainties may still be off
* Requires enabling the following packets in SensorConnect:
  * Position Uncertainty (LLH)
  * Velocity Uncertainty (NED)

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-26 11:11:39 +11:00
Peter Barker 8fc76e7455 hwdef: remove extraneous lines from hwdef files
these either come from includes are duplicated in these files
2024-03-26 11:09:03 +11:00
Peter Barker 395f438b42 chibios_hwdef.py: print error message if a define is re-defined at top level with same value 2024-03-26 11:09:03 +11:00
Peter Barker eca2fd92b2 chibios_hwdef.py: correct extraction of intdefines
another regex problem
2024-03-26 11:09:03 +11:00
Peter Barker 58c0823264 AP_Radio: correct guards around code in AP_Radio_cc2500
these were missed in a cleanup; the header is already guarded with these
2024-03-26 11:07:42 +11:00
Peter Barker 1f3b4c47a0 hwdef: make a skyviper.inc, use it on skyviper-journey 2024-03-26 11:07:42 +11:00
Peter Barker 44477c3b62 AP_Notify: remove VRBrain board sub-types
these were only used to turn choose between AP_Notify LED backends, which can be done much more neatly with specific features defines.
2024-03-26 11:06:13 +11:00
Peter Barker 3387cad322 AP_HAL: remove VRBrain board sub-types
these were only used to turn choose between AP_Notify LED backends, which can be done much more neatly with specific features defines.
2024-03-26 11:06:13 +11:00
Peter Barker df19fed523 AP_HAL_ChibiOS: remove VRBrain board sub-types
these were only used to turn choose between AP_Notify LED backends, which can be done much more neatly with specific features defines.
2024-03-26 11:06:13 +11:00
Peter Barker 6cb6d605ec AP_HAL: remove HAL_BOARD_SUBTYPE_CHIBIOS_FMUV4
this isn't used for anything
2024-03-26 10:59:23 +11:00
Peter Barker d663f14e3e AP_HAL_ChibiOS: remove HAL_BOARD_SUBTYPE_CHIBIOS_FMUV4
this isn't used for anything
2024-03-26 10:59:23 +11:00
Peter Barker b3b4b8905f AP_GPS: add prearm check for blending-enabled-but-not-available 2024-03-26 10:57:35 +11:00
Peter Barker fcd36664d0 AP_Arming: add prearm check for blending-enabled-but-not-available 2024-03-26 10:57:35 +11:00
Peter Barker a0b2753766 AP_GPS: remove blended GPS from small boards
those boards which are not including all backends will lose blended after this
2024-03-26 10:57:35 +11:00
davidsastresas 0b7710420b AP_Mount: fix gimbal-device-attitude-status yaw frame flag 2024-03-26 10:49:30 +11:00
Randy Mackay affc1b4eb4 AP_Mount: get-gimbal-device-flags reports lock state 2024-03-26 10:49:30 +11:00
Randy Mackay c392089ae7 AP_Mount: do-gimbal-manager-pitch-yaw can set lock state
Co-authored-by: davidsastresas <davidsastresas@gmail.com>
2024-03-26 10:49:30 +11:00
Randy Mackay d0d33b0b36 AP_Mount: clarify yaw_lock comments 2024-03-26 10:49:30 +11:00
Randy Mackay 4755a60863 AP_Mount: RC targeting mode lock state from previous mode
This leads to smoother transitions between RC and GCS control
2024-03-26 10:49:30 +11:00
Randy Mackay 65b4db5ede AP_NavEKF3: define Yaw alignment min GPS speed per vehicle 2024-03-26 10:01:42 +11:00
Peter Barker 964c30e053 AP_RCProtocol: add support for RC input from SITL FDM data 2024-03-25 22:35:04 +11:00
Peter Barker db0188d3a3 AP_HAL_SITL: add support for RC input from SITL FDM data 2024-03-25 22:35:04 +11:00
Peter Barker 729c911462 SITL: add and use AP_RCProtocol_UDP 2024-03-25 22:35:04 +11:00
Peter Barker 1357b4ac33 AP_RCProtocol: add and use AP_RCProtocol_UDP 2024-03-25 22:35:04 +11:00
Peter Barker 4005bce85c AP_HAL_SITL: add and use AP_RCProtocol_UDP 2024-03-25 22:35:04 +11:00
Peter Barker 4a996c81fb AP_HAL: add and use AP_RCProtocol_UDP 2024-03-25 22:35:04 +11:00
Randy Mackay 1eb2a3009d AC_PosControl: always update yaw targets 2024-03-25 11:03:25 +09:00
Randy Mackay e9cffbb56e RC_Channel: integrate AP_CAMERA_SET_CAMERA_SOURCE_ENABLED 2024-03-25 09:19:18 +09:00
Randy Mackay 3a570943d5 AP_Mission: support set-camera-source 2024-03-25 09:19:18 +09:00
Randy Mackay a6a5cde34c AP_Mount: add set_camera_source support 2024-03-25 09:19:18 +09:00
Randy Mackay 5a22fb8da5 AP_Camera: support set-camera-source mavlink command 2024-03-25 09:19:18 +09:00
Randy Mackay ff7486e3cc GCS_MAVLink: forward set-camera-source to AP_Camera 2024-03-25 09:19:18 +09:00
Ryan Friedman 650db2db35 AP_HAL: Fix incorrect return type
* This caused position quantization errors in the MicroStrain7

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-25 08:06:46 +11:00
Peter Barker 813f0cf428 hwdef: remove save_some_flash.inc
all but one board was getting all of these includes from minimize_fpv_osd, and the remaining board had most lines foming from minimize_features.inc.

This file has served its purpose, its role now taken on by minimize_fpv_osd.inc
2024-03-24 20:15:53 +11:00
Ryan Friedman bd518dc140 AP_DDS: Fix incorrect port param name
* We want to support TCP and UDP in the future, so make sure we call it
  UDP here

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-24 11:27:22 +11:00
Peter Barker 85d25b205f hwdef: remove unused STM32_PWM_USE_ADVANCED defines 2024-03-23 22:04:34 +11:00
Peter Barker 5d369b2634 chibios_hwdef.py: correct extraction of intdefines from hwdef files
many of our hwdef files contain lines which look like this:

define STM32_PWM_USE_ADVANCED TRUE

The current regex does not allow for numbers in those define, so the regex ends up matching "STM" as a name....

the "intdefines" hash which is populated from these is only used internally to chibios_hwdey.py for logic purposes, not directly in hwdef output purposes, and none of the strings which it looks at contain numbers at the moment, so this is a non-functional change.
2024-03-23 15:23:08 +11:00
Andrew Tridgell 663a41a1f0 hwdef: probe external i2c compasses on MatekL431-GPS 2024-03-23 08:29:24 +11:00
Randy Mackay 133a5ff63c RC_Channel: add mount LRF enable aux function 2024-03-22 14:55:43 +09:00