Matthias Grob
8ce6ad6662
camera_capture: refactor to simplify capture channel initialization
2024-12-19 07:30:25 +01:00
Matthias Grob
267fa06da8
RPMCapture: fix copyright year, improve comments
2024-12-19 07:30:25 +01:00
Matthias Grob
f4c8e0e35f
RPMCapture: fix dt should not have a minimum which would limit to 6000rpm
2024-12-19 07:30:25 +01:00
Matthias Grob
b7b384ab2e
RPMCapture: add back filter reset on timeout
2024-12-19 07:30:25 +01:00
Matthias Grob
d027f8bf39
RPMCapture: publish outliers in rpm message but don't update the filters and estimate
2024-12-19 07:30:25 +01:00
Matthias Grob
9ca06be4f5
RPMCapture: refactor to clarify scheduling
2024-12-19 07:30:25 +01:00
Matthias Grob
c406e0a3a2
RPMCapture: refactor to clarify when an interrupt happened
2024-12-19 07:30:25 +01:00
Matthias Grob
ec4ed75264
RPMCapture: define period as UINT32_MAX when timed out
2024-12-19 07:30:25 +01:00
Matthias Grob
825dc47fad
RPMCapture: fix pulses per revolution parameter name, description, type -> use module params
2024-12-19 07:30:25 +01:00
Matthias Grob
6241db74db
mavlink: stream RAW_RPM message for ONBOAR_LOW_BANDWIDTH
2024-12-19 07:30:25 +01:00
Matthias Grob
8486f74b2a
RPMCapture: much better timeout scheduling
...
Not timing out based on a random interval but based
on the time after the last inerrupt.
2024-12-19 07:30:25 +01:00
Matthias Grob
c463cc42d0
RPM: clean up message
2024-12-19 07:30:25 +01:00
Matthias Grob
a60591378c
RPMCapture: switch to PublicationMulti to be compatible with the existing rpm drivers
2024-12-19 07:30:25 +01:00
Matthias Grob
41b55724bc
RPMCapture: Detect rpm sensing timeout
2024-12-19 07:30:25 +01:00
Matthias Grob
1bcdb3ef8c
RPMCapture: add hardcoded rpm processing
...
Such that we can continue development on this part.
The implementation was already used before porting things into the RPM capture module.
2024-12-19 07:30:25 +01:00
Matthias Grob
ef823e5bb1
gz submodule: switch to hash on submodule main branch
...
after https://github.com/PX4/PX4-gazebo-models/pull/71 was merged
2024-12-18 18:06:37 +01:00
Matthias Grob
d5c9ea048e
LidarLitePWM: refactor static cast and comment
2024-12-12 13:50:17 +01:00
Matthias Grob
5010b01e2e
PCF8583: refactor 1e6f for 1000000.f
2024-12-12 13:50:17 +01:00
Matthias Grob
cbde9729e8
Airframes: remove unnecessary double newlines
2024-12-12 13:50:17 +01:00
Matthias Grob
d416cd2a6c
Commander: remove COM_POS_FS_DELAY
...
A user configurable delay for the internal `vehicle_local_position` seems confusing in my eyes. It's a different timeout for fixed-wing and multirotor which might have made sense earlier but not really anymore since the topic is constantly published by the estimator and not expected to time out on either vehicle type and the parameter description is also misleading because it's outdated.
2024-12-03 17:31:56 +01:00
Matthias Grob
7dcfeb2f77
PositionSmoothing: refactor _getMaxZSpeed()
2024-12-02 14:52:31 +01:00
Matthias Grob
092e5e8f9d
TrajectoryConstraints: clarify waypoint indexing
2024-12-02 14:52:31 +01:00
Matthias Grob
ce3fcd503f
navigator: unify timeout waiting for payload to execute mission item command
...
Used for winch, gripper, gimbal to reach the desired state before continuing the mission.
Ideally we'd have feedback from all these components and not just a feed-forward delay.
2024-11-28 20:23:36 +01:00
Matthias Grob
17c24bafbc
mission_block: simplify timeout check
2024-11-28 20:23:36 +01:00
Matthias Grob
ec1cf04bc9
mission_block: fix style, shorten debug message strings
2024-11-28 20:23:36 +01:00
Matthias Grob and chfriedrich98
a280d67be8
PID: Fix test to respect integral updates being applied in the next iteration
...
Co-authored-by: chfriedrich98 <125505139+chfriedrich98@users.noreply.github.com >
2024-11-26 16:13:48 +01:00
Matthias Grob and chfriedrich98
f9bcbc31ae
PID: protect from division by zero because of dt
...
Co-authored-by: chfriedrich98 <125505139+chfriedrich98@users.noreply.github.com >
2024-11-26 16:13:48 +01:00
Matthias Grob
b89c53d28c
Replace old pid library with new one
2024-11-26 16:13:48 +01:00
Matthias Grob
e047972cde
Add new C++ PID library
2024-11-26 16:13:48 +01:00
Matthias Grob
044d13635d
Commander: Change user facing messages to "Remote ID" instead of "OpenDroneID"
...
Apprently users reference the system like that and OpenDroneID
might already be too technical, less understandable to some.
2024-11-21 11:38:23 +01:00
Matthias Grob
bbc59dcde7
CollisionPrevention: prevent illegal array index with malicious obstacle_dsitance message
2024-11-21 11:36:03 +01:00
Matthias Grob
1410325c62
CollisionPrevention: follow parameter variable naming convention
2024-11-21 11:36:03 +01:00
Matthias Grob
30eec33e09
CollisionPrevention: slightly simplify _transformSetpoint()
2024-11-21 11:36:03 +01:00
Matthias Grob
399a8ad5b7
CollisionPrevention: fix early return and use unified bin count + array size 72
2024-11-21 11:36:03 +01:00
Matthias Grob
61d999073b
Remove FlightTaskManualPositionSmoothVel
...
The default implementation for multicopter Position mode is FlightTaskManualAcceleration.
The last missing piece was support for CollisionPrevention in this implementation.
2024-11-21 11:36:03 +01:00
Matthias Grob
2ef2911c36
Remove FlightTaskManualPositionSmoothVel
...
The default implementation for multicopter Position mode is FlightTaskManualAcceleration.
The last missing piece was support for CollisionPrevention in this implementation.
2024-11-21 11:36:03 +01:00
Matthias Grob
b74dd57e7c
CollisionPrevention: restore rate limited warning for no data, minor cleanup
2024-11-21 11:36:03 +01:00
Matthias Grob
4c8c5fbb37
CollisionPrevention: only save quaternion and yaw on attitude update
2024-11-21 11:36:03 +01:00
Matthias Grob
001d722abd
CollisionPrevention: move main functions to the top in the order they get called
2024-11-21 11:36:03 +01:00
Matthias Grob
1fa76ac71d
CollisionPrevention: reduce internal array size, zero initialize what's possible
2024-11-21 11:36:03 +01:00
Matthias Grob
c879ca531d
CollisionPrevention: Clarify bin size definitions, move wrap functions into class
2024-11-21 11:36:03 +01:00
Matthias Grob
84dbbb4351
CollisionPrevention: clarify mode switch command to hold/loiter
2024-11-21 11:36:03 +01:00
Matthias Grob
50ee5bd1b4
CollisionPrevention: Sanitize input of _getObstacleDistance()
...
It could cause array out of bound problems before.
2024-11-21 11:36:03 +01:00
Matthias Grob
eb06ace8e4
CollisionPrevention: fix matrix namespace
...
don't use it in header such that clients are free to redefine the names
but include it in cpp files and make use of that.
2024-11-21 11:36:03 +01:00
Matthias Grob
079f3ca67c
StickAccelerationXY: Simplify collision prevention call
2024-11-21 11:36:03 +01:00
Matthias Grob
b8c2805263
spi: Suppress null pointer warning
...
Depending on defines px4_spi_buses can be NULL
but often it's not and in those cases the
compiler correctly warns about it.
2024-11-20 22:36:23 -05:00
Matthias Grob
3f83a8fa7a
mavlink: remove reference to COLLISION message I had missed
...
Should have been part of
b5d18c6131
2024-11-20 13:02:59 -05:00
Matthias Grob
f8b34fd79d
ci: build_all_targets: Update python packaging to avoid canonicalize_version() error
2024-11-20 14:27:04 +01:00
Matthias Grob
dcfecb4e16
python requirements: less strict empy version specifier
2024-11-20 14:27:04 +01:00
Matthias Grob
53d920ea33
batteryCheck: fix enabling circuit breaker still causing battery failsafes
...
Failing checks caused failsafe flags to stay true when enabling the circuit breaker but not rebooting.
Resetting the failsafe flags state when the circuit breaker is set resolves this issue.
2024-11-20 13:25:20 +01:00
Matthias Grob
1aadbf85af
gtest cmake: fix unit test filter
2024-11-19 23:00:59 -05:00
Matthias Grob
651552c9b8
Commander: avoid automatic type deduction where neither the type is obvious nor it helps with readability
2024-11-12 21:21:40 -05:00
Matthias Grob
990811098b
MulticopterRateControl: refactor torque setpoint naming
2024-11-12 21:21:40 -05:00
Matthias Grob
b5d18c6131
Remove unused collision_report message
2024-11-12 21:18:57 -05:00
Matthias Grob
d5103d71b9
simulator_mavlink: include headers from dialect specified for build ( #23844 )
...
Without this change the configured dialect would not get included
correctly in the simulator_mavlink module, only in the main mavlink module.
Configured using e.g. CONFIG_MAVLINK_DIALECT="development"
in e.g. boards/px4/sitl/default.px4board file.
2024-11-04 19:43:31 -09:00
Matthias Grob
c199a284f5
Fix output of param show -q XXX on NuttX shell ( #23793 )
...
* param: add a newline for the output of param show -q
Otherwise the output doesn't get flushed and doesn't show.
* param: remove deprecated PARAM_PRINT for QURT
We're not carrying platform defines in applications.
2024-11-04 19:30:21 -09:00
Matthias Grob
219c9d6cb9
gimbal: handle angular_velocity setpoint stream timeout
...
The gimbal would otherwise continue to spin with whatever velocity was commanded
before the input connection was lost.
2024-10-30 15:12:08 +13:00
Matthias Grob
2bccb20ee6
gimbal: introduce timestamp of last setpoint update
...
To enable implementing a timeout when there's no new setpoint coming in.
2024-10-30 15:12:08 +13:00
Matthias Grob
d5f3e858e8
gimbal: refactor outputs to take current timestamp at the beginning
2024-10-30 15:12:08 +13:00
Matthias Grob
cac0133901
FlightTaskDescned: fix horizontal acceleration overriding vertical one
...
Also descend with more acceleration again to avoid the risk of ascending instead of descending because of a wrong hover thrust estimate.
2024-10-25 14:06:00 +02:00
Matthias Grob
37190d4928
navigator: refactor naming of break instead of brake functions
2024-10-25 13:56:20 +02:00
Matthias Grob
b8a602414d
navigator land: don't project VTOL braking waypoint without global position
2024-10-25 13:56:20 +02:00
Matthias Grob
854086013c
SITL parameters: use low battery actions including RTL
...
I'm not sure why COM_LOW_BAT_ACT option 2 "Land mode"
was chosen I'd like to also test RTL when I lower the minimum battery percentage in simulation.
2024-10-08 18:49:23 +02:00
Matthias Grob
4a08ebafbc
failsafe: prevent immediate low battery failsafe for existing low battery state
...
This happens when BAT_CRIT_THR allows arming with a critical battery level. With this change it still fails the checks but only warns instead of doing the failsafe action because that would immediately land the vehicle before it has taken off.
2024-10-08 18:49:23 +02:00
Matthias Grob
7941310afd
batteryCheck: allow COM_ARM_BAT_MIN to be set lower than BAT_CRIT_THR
...
Which still allows to arm the vehicle even if it already has a critical battery level.
2024-10-08 18:49:23 +02:00
Matthias Grob
a5b17f14b0
batteryCheck: refactor to consistent parameter variable naming
2024-10-08 18:49:23 +02:00
Matthias Grob
fd04ece6d4
geo: remove dependency on drv_hrt time driver
2024-10-07 14:24:18 +02:00
Matthias Grob
f60bb2c6bc
rtl_direct: skip loiter altitude items for multicopter without RTL land delay ( #23689 )
...
This was already done before the refactor and was assumed to not be necessary.
The problem is that these mission items result in a strang looking vertical slow down directly followed
by an acceleration during the landing phase.
2024-09-23 18:33:03 +02:00
Matthias Grob
555b2e6abc
BatteryStatus: Clarify "incompatible voltage" error message
2024-09-18 17:18:02 +02:00
Matthias Grob
f98eb067be
logger params: clarify AUX1 logging trigger
2024-09-05 18:06:29 +02:00
Matthias Grob
e4d25df58a
Consistently use "stick gesture" for "rc stick gesture"
2024-09-05 18:06:29 +02:00
Matthias Grob
af06bee8d0
update mavlink & adapt to pymavlink generator reporting failures by default
2024-08-12 16:26:56 +02:00
Matthias Grob
64056fc7bb
SYS_STATUS: fill correct attitude, horizontal position flags
2024-08-09 18:22:09 +02:00
Matthias Grob
fdfe43471e
mavlink_receiver: limit access through instances with gimbal mode
...
This adds explicit handling for the few things we want to allow through a MAVLink instance dedicated to a gimbal/(camera) payload as per the MAVLink gimbal mode configuration.
2024-08-09 10:13:44 -04:00
Matthias Grob
6cf0bf5e19
Support MAVLink extension MANUAL_CONTROL.aux
...
Note that in uORB we don't currently know if the aux fields are
specifically valid or not so we can also not set the corresponding
bits in the field.
2024-08-09 10:49:38 +02:00
Matthias Grob
0381e14822
FlightTaskOrbit: Avoid sending NAN altitude in status telemetry while it's changed by stick
2024-08-08 10:53:18 -04:00
Matthias Grob
a8d54c7fae
mixer_module: Reset RC passthrough functions to disarmed value when no stick input
2024-08-07 19:20:51 +02:00
Matthias Grob
8ed3489bd1
hardfault_log: revert to explicit path to not trip the module documentation parser
...
- the module documentation parser can only resolve defines from the same file
- also it cannot deal with defines embeded in strings
- what board should it add for the general documentation anyways?
As a result of these issues I suggest to stay with the original hardcoded
/fs/microsd for the documentation. It's still the most common path as far as
I can see.
2024-08-06 13:43:13 +02:00
Matthias Grob
84d4ee0e60
zenoh-pico: update to correct dev/1.0.0 branch
...
which is up to date containing "Use SO_REUSEPORT only if it exists"
and is advertised by GitHub because the commit is on a branch
2024-08-06 13:42:23 +02:00
Matthias Grob
ba579245fb
battery_status: remove unused smart battery mode
2024-07-30 14:37:11 +02:00
Matthias Grob
a18c18e163
battery_status: remove custom_faults
2024-07-30 14:37:11 +02:00
Matthias Grob
72ed160aa9
batteryCheck: fix comment typo hyster{i,e}sis
2024-07-30 14:37:11 +02:00
Matthias Grob
2e66bbdfb8
battery_status: add failed to arm fault instead of duplicate over temperature
2024-07-30 14:37:11 +02:00
Matthias Grob
e06629bfe5
failsafe: unhealthy battery during spoolup leads to disarm
...
battery failures can occur upon arming when the load gets sgnificant.
In that case the safest thing to do is prevent a takeoff before anything
worse happens.
2024-07-30 14:37:11 +02:00
Matthias Grob
0d00543292
batteryCheck: explicitly report missing battery with ID
2024-07-30 14:37:11 +02:00
Matthias Grob
7d79bdfa05
batteryCheck: apply supply circuit breaker also to battery checks
...
This was the case in older versions of PX4.
2024-07-30 14:37:11 +02:00
Matthias Grob
edcda80cb9
Commander: adhere to parameter naming convention ( #23466 )
2024-07-30 14:27:27 +02:00
Matthias Grob
f2bca92221
Fix duplicate newlines at the end of files
2024-07-19 14:33:36 +02:00
Matthias Grob
7f14110bb1
Fix missing newlines at the end of files
2024-07-19 14:33:36 +02:00
Matthias Grob
fe3cd4b0cb
Add check for missing or duplicate newlines at the end of files
2024-07-19 14:33:36 +02:00
Matthias Grob
e2b31454a3
SubscriptionInterval: move updated, update, copy function to a cpp file
...
Saves 17.3 kilobytes of flash 😮
2024-07-12 23:26:24 +02:00
Matthias Grob
2c3401dc83
uORB: SubscriptionInterval fix timestamp wrapping when initializing less than the interval time after boot ( #23384 )
...
* SubscriptionInterval: ensure _last_update is never before timer start
2024-07-10 12:43:31 -04:00
Matthias Grob
c8c46788ed
Autostart: load airframes with priority ROMFS -> SD card
2024-07-03 18:32:16 +02:00
Matthias Grob
e4446adba1
Add check for high RAM usage
...
We had a case where someone took off with an experimental
system with 100% RAM usage on the embedded system
without noticing. This lead to problems during flight.
Since we already have a CPU load check it seems natural
to also check the reported RAM usage.
2024-06-27 11:20:22 +02:00
Matthias Grob
8cc7c99b59
mavlink: report generator error ( #23313 )
...
Without this flag the command silently succeeds even though the logs contains
an error. It's much more developer friendly to fail early in case of an error.
The log path is then also shown in the console output.
2024-06-24 10:00:03 +02:00
Matthias Grob
9c83f842be
autostart scripts: Reintroduce SYS_PARAM_VER ( #22813 )
...
The case where the airframe maintainer wants to enforce a reset to airframe is
not covered anymore with the `param set-default` mechanism. For products based
on PX4 this is still required to ensure proper functionality after a major update.
2024-06-18 09:32:51 +02:00
Matthias Grob
68769ea0ec
mavlink: use reference instead of pointer to access the MAVLink instance from protocol classes
2024-06-05 16:13:52 +02:00
Matthias Grob
9a7a977625
mavlink_receiver: put all message handling in the same function
2024-06-05 16:13:52 +02:00
Matthias Grob
daa89ba30a
Jankinsfile-compile: add missing comma after ark_pi6x_default
2024-05-29 15:42:41 +02:00
Matthias Grob
d1db0addf9
CameraFeedback: shorten line length such that documentation parser works
...
This broke in 4f64acb352 and was also flagged by CI in the pr and since then.
2024-05-29 11:24:53 +02:00