28395 Commits

Author SHA1 Message Date
bresch
77e8ccaf6a fw-atune: fix immediate failure on first try
The flight mode needs to be updated before starting the autotune,
otherwise it appears as a mode change and aborts the autotune
2025-08-04 16:42:54 +02:00
amovlgf
8c6337e94e
add rgbled_aw2023 drivers (#25158)
* add rgbled_aw2023 drivers

* delete a newline to the end of the file
2025-08-03 18:45:41 -08:00
Hamish Willee
bda79492fc Update ILabs.cpp 2025-07-31 21:50:27 +10:00
Matthias Grob
887ca6d497 ManualControlSelector: address invalid prioritized input and don't check if sample is from the future 2025-07-31 11:34:53 +02:00
Matthias Grob
461433d7f6 ManualControlSelector: is InputValid refactor with switch case for code readability 2025-07-31 11:34:53 +02:00
Matthias Grob
a09352c079 ManualControl: add option to prioritize RC or MAVLink but with fallback 2025-07-31 11:34:53 +02:00
Matthias Grob
b876aa5b45 ManualControlSelector: robust timeout check 2025-07-31 11:34:53 +02:00
Mahima Yoga
a7e01b18d8
MC PositionControl: Add timeout for invalid TrajectorySetpoint (#25283)
* MulticopterPositionControl: Add timeout before triggering emergency setpoint on invalid TrajectorySetpoint

* Apply suggestions from code review

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

* Cleanup & address review comments

* Safegaurd against using old setpoint if states aren't valid anymore

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-07-30 17:18:34 +02:00
Ian Scholl
5736b948ac increase battery max logging instances to 3 2025-07-30 16:43:21 +02:00
Alexander Lerach
c0d1717897 detect px4io conflicts, don't set sbus as default 2025-07-30 15:09:39 +02:00
Marco Hauswirth
c9206d6bd1
EKF2: gnss reset improvements (#25297)
* ekf2: allow manual position reset when horizontal aiding is active

This allows the pilot to override position esitmates manually

* mavlink sim: add support of failure gps struck

* mavlink sim: add GNSS failure "wrong" type

* ekf2-gnss: add reset mode

This allows the user to choose whether the position should immediately
be reset to GNSS on fusion timeout or if the EKF can continue with
velocity dead-reckoning.

* ekf2: fix unit test changes due to GNSS start logic

Especially because the EKF doesn't need to reset the states if the test
ratio is already passing

* rename mode enum

* reset to gps lat lon on init

* remove obsolete reset-condition (handled in #25223)

* WIP try to upgrade compiler externally

---------

Co-authored-by: bresch <brescianimathieu@gmail.com>
Co-authored-by: Niklas Hauser <niklas@auterion.com>
2025-07-30 11:39:56 +02:00
Jacob Dahl
996f9a82e1 dshot: refactor telemetry to use serial abstraction 2025-07-29 15:37:51 -06:00
Matthias Grob
6cf494dde1
Publish RTCM stream telemetry also for UAVCAN GNSS receivers (#25315)
* uavcan gnss: publish rtcm instance and injection rate

* GPS drivers minor refactor (#25316)

* GPS drivers: adhere to message name based variable naming convention

* uavcan gnss: use matrix norm calculation

* GPS drivers: rate naming refactor and robust timeout checks

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-07-29 09:55:21 -08:00
bresch
61e741e7d0 FlightTask manual acc: handle ekf position reset properly 2025-07-29 14:29:19 +02:00
bresch
b740a43b3d ekf2: reset manual position update through fusion
This provides a position reset-like behavior while still updating the
correlated states through fusion of position information.
2025-07-29 14:29:19 +02:00
bresch
582b8f0a2b ekf2: allow manual position reset when horizontal aiding is active
This allows the pilot to override position esitmates manually
2025-07-29 14:29:19 +02:00
bresch
646133a4bf AGP: format enum names 2025-07-29 14:29:19 +02:00
bresch
0b2e4f1ab6 ekf-agp: add reset mode behavior 2025-07-29 14:29:19 +02:00
MDLZCOOL
bab6dc2ac6 fix(lib/perf): Fully reset mean and M2 in perf_counter 2025-07-28 22:28:38 -08:00
Jacob Dahl
463ddcab86 payload deliverer: remove PD_GRIPPER_EN as unnecessary, reduce gripper timeout to 1s 2025-07-28 11:25:17 -08:00
Matthias Grob
79b46e08a8 Rename manual_lockdown to kill for clarity 2025-07-28 17:07:08 +02:00
Matthias Grob
32531c870e px4io: terminated -> termination
fogotten to allign completely in the last step
2025-07-28 17:07:08 +02:00
Matthias Grob
359cad3636 Add back original quadrotor X unit test cases from old multirotor mixer 2025-07-28 14:10:50 +02:00
Matthias Grob
88460db44a ControlAllocationSequentialDesaturation: improve unit test fixture in terms of parameter update and defaulting to no airmode 2025-07-28 14:10:50 +02:00
Matthias Grob
40e1e82cb0 ControlAllocationSequentialDesaturationTest: convert existing unit test cases to improved fixture 2025-07-28 14:10:50 +02:00
Matthias Grob
a80e89255c ControlAllocationSequentialDesaturation: adopt improved unit test fixture
This makes it much easier to go through allocation secnarios in one line with comprehensive numbers.
2025-07-28 14:10:50 +02:00
Matthias Grob
cd1bac0a55 ControlAllocationSequentialDesaturation: add unit tests 2025-07-28 14:10:50 +02:00
Matthias Grob
53efcbd2c2 control_allocation: Consistently replace with ActuatorVector alias for readability 2025-07-28 14:10:50 +02:00
Matthias Grob
6a3a0d136b ActuatorEffectiveness: add comments to EffectivenessUpdateReason
from information previously only available in the commit message.
2025-07-28 14:10:50 +02:00
Matthias Grob
37899269a8 control_allocator: fix PID dependency definition 2025-07-28 14:10:50 +02:00
Matthias Grob
ef6866cd08 ControlAllocationSequentialDesaturationTest: fix include instead of duplicating definitions 2025-07-28 14:10:50 +02:00
Matthias Grob
4b4cc2164c Revert "Remove inclusion of rotors in library to enable test (#24286)"
This reverts commit f7dadd9b89f3052735a12bd617755e78cf5305e2.
2025-07-28 14:10:50 +02:00
Matthias Grob
930c0451b5 ActuatorEffectivenessRotorsTest: add Hexarotor X 2025-07-28 14:10:50 +02:00
Matthias Grob
b9f7b8f705 commander failsafe: never override user intended termination + unit test 2025-07-28 11:36:21 +02:00
Silvan
e0a35b21a8 Navigator: fix param description of NAV_LOITER_RAD
Account for negative=CCW.

Signed-off-by: Silvan <silvan@auterion.com>
2025-07-28 10:57:56 +02:00
Silvan
63f9acfa84 Navigator: loiter direction check: use -FLT_EPS instad of <0
Signed-off-by: Silvan <silvan@auterion.com>
2025-07-28 10:57:56 +02:00
Silvan
85ccc064bd FW Mode Manager: handle loiter radius and direction correctly if not from position_sp
In that case we take radius and direction from the param NAV_LOITER_RAD,
CCw if negative.

Signed-off-by: Silvan <silvan@auterion.com>
2025-07-28 10:57:56 +02:00
Silvan
44be2a3f91 Navigator: add get_default_loiter_CCW() to get loiter direction
Signed-off-by: Silvan <silvan@auterion.com>
2025-07-28 10:57:56 +02:00
Silvan
9f83ccfca7 Navigator: in get_default_loiter_rad return absolute of NAV_LOITER_RAD
Signed-off-by: Silvan <silvan@auterion.com>
2025-07-28 10:57:56 +02:00
Silvan
431f507d29 Navigator: rename get_loiter_radius to get_default_loiter_rad
Signed-off-by: Silvan <silvan@auterion.com>
2025-07-28 10:57:56 +02:00
Matthias Grob
972acf0203 commander params: disable remaining flight time failsafe by default
Currently if you configure a battery capacity the battery library calculates a remaining flight time and you by default get an RTL when the flight time - return time is running out.

Since the state of charge threshold based battery failsafes `COM_LOW_BAT_ACT` are disabled by default I was asked to also disable the flight time based failsafe to be consistent.
2025-07-28 10:37:43 +02:00
mahima-yoga
f66192326c commander: only clear hold delay when failsafes are being deferred 2025-07-28 09:48:34 +02:00
Hamish Willee
bae1b25b0c Run make format 2025-07-28 12:50:08 +12:00
Hamish Willee
01abe35563 MAV_CMD_DO_SET_MODE - add support 2025-07-28 12:50:08 +12:00
E-Krantz
600c717eb9
Add namespace support for uxrce-dds client during firmware upload (#25291) 2025-07-25 11:43:30 -08:00
Matthias Grob
200be07021 action_request: rename ACTION_TERMINATE to ACTION_TERMINATION for clarity 2025-07-25 13:01:25 -06:00
Matthias Grob
9d75bdbe62 IO: rename FORCE_FAILSAFE to TERMINATION for clarity 2025-07-25 13:01:25 -06:00
Matthias Grob
7fe78e184e Rename force_failsafe to termination for clarity 2025-07-25 13:01:25 -06:00
Matthias Grob
34dacffc4a Commander: shell command commander termination instead of lockdown on for clarity 2025-07-25 13:01:25 -06:00
Sindre Meyer Hegre
3be0cb077c
Neural Control Mode (#24366)
* Add tflm to px4 with module

 - Add TensorFlow Lite Micro(TFLM) as a library in px4
 - Make a module that uses neural network inference for control, which uses TFLM for inference
 - Make board config files for PX4 with neural module

* Added neural flight mode

* Add posibility to read of inference times

* Fix comments from review:

- Switch ssh link to https link in submodule
- Remove mc_nn_control from startup

* Add tflm to px4 with module

 - Add TensorFlow Lite Micro(TFLM) as a library in px4
 - Make a module that uses neural network inference for control, which uses TFLM for inference
 - Make board config files for PX4 with neural module

* Added neural flight mode

* Add posibility to read of inference times

* Remove auto start

* Add logging from neural control module

* Fix automatic startup to only be when module is included

* Switch to flight mode registration

* Add docs

* Change min/max/coeff to actual parameters

* add figures to neural network docs

* Switch to e2e network

* Remove toolchain changes and replace with instructions in docs

* Get ready for merge after toolchain upgrade

* switch back to submodule

* Try to figure out cmake

* Get CI working with new toolchain

* Remove fork dependency

* Finalize PR

* fix toolchain inclusion

* Fix ctype_base.h include

* Cleanup includes for TFLM

* Remove redundant std

* Update FW module names in board files

* Fix docs

* Remove cstdlib copy

* Copy header from nuttx

* Prettier, markup, layout

* NeuralControl.msg - update uorb comments to current standard

* Add description to neural topic

* Fix typo

* Typo

* TFLM and Module utitlities

* Neural networks top level

* Update docs

* Add manual control

* Update docs

* Revert the manual control attempt

* Update docs/en/advanced/nn_module_utilities.md

* Add posibility to set trajectory setpoint with manual control

---------

Co-authored-by: Pedro Roque <padr@kth.se>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-07-25 09:42:12 -08:00