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
Matthias Grob
dfee9ca4c6
MAVLink: remove never used _mavlink_link_termination_allowed
2024-05-28 10:41:00 +02:00
Matthias Grob
b87c5285e2
battery: weigh voltage based estimate more when it's low
...
This is a minimal change to make it harder to crash a
vehicle with an empty battery if the capacity was set wrong.
The disadvantage is that the state of charge estimate will
fluctuate more under load.
We need better documentation and improvements to the estimation.
2024-04-02 19:22:28 +02:00
Matthias Grob
8579175013
Build new IO firmware binaries
2024-04-02 11:59:56 -04:00
Matthias Grob
ef5569fab3
px4iofirmware: reuse existing disarmed logic for lockdown and should_always_enable_pwm
...
The existing disarmed logic already handles disabled outputs
it makes sense to reuse it and not have lockdown handled
differently resulting in unexpeced corner cases.
2024-04-02 11:59:56 -04:00
Matthias Grob
b714b5461b
px4iofirmware: simplify lockdown logic
2024-04-02 11:59:56 -04:00
Matthias Grob
7f0ec2305c
px4iofirmware: refactor to only have one PWM output code path
...
This removes the duplication with unexpected differences
and allows to consistently handle the output instead of
overriding the output for some specific cases which
leads to unexpected corner cases. E.g. disabled outputs
suddenly outputing PWM in lockdown.
2024-04-02 11:59:56 -04:00
Matthias Grob
ab1087906d
px4io: remove special handling for HITL
...
In HITL the actuators should not be mapped
and they are in lockdown.
We should not reconfigure disarmed, min, max PWM values
without updating the actual output values because the IO
will consider the last outputs before the FMU was rebooted
with the configuration of the new boot. This can result
in spinning motors when switching to SIH.
2024-04-02 11:59:56 -04:00
Matthias Grob
416b6a35a4
failsafe framework: inform about failsafe action
2024-03-27 20:22:04 +01:00
Matthias Grob
6e86862b6a
boards: unify comments for voltage deviders
2024-03-27 17:15:39 +01:00
Matthias Grob
4c5f084445
Battery parameters: clarify empty, full voltage description
2024-03-27 17:15:39 +01:00
Matthias Grob
b5f6699f2e
mixer_module: send a last sample out after all outputs were disabled
...
This matters for PWM when the last output gets disabled on either FMU or IO
it would just keep on running.
Also when rebooting with a parameters reset or new airframe with no mapped outputs
it would previously keep outputting PWM with the disarmed value of the new airframe
e.g. 1000us which is a safety hazard because servos could break the physical limit of the
model or miscalibrated ESCs spinning motors.
2024-03-25 19:21:54 +01:00
Matthias Grob
1096384a38
px4iofirmware: don't switch to disarmed or failsafe value on disabled PWM outputs
...
If the output is set to 0 then the FMU had this channel disabled/no function mapped
to it. In that case we do not want to suddenly start outputing failsafe or disarmed
signals.
2024-03-25 19:21:54 +01:00
Matthias Grob
999a71c4dd
px4io: don't output on disabled PWM pins
...
Same logic as on the FMU PWM updateOutputs() in PWMOut.cpp
2024-03-25 19:21:54 +01:00
Matthias Grob
1bd65f8beb
mantis-edu: remove duplicate RC define
2024-03-04 13:30:28 -05:00
Matthias Grob
2491548a0f
Jenkinsfile: correct typo, missing comma
...
Introduced in
2c81c9fdea
2024-02-27 13:32:46 +01:00
Matthias Grob
4e3bd4f196
MAVSDK tests: shorten Position, Altitude control flights
...
We get more than 5 meter away much quicker.
2024-02-22 15:29:13 +01:00
Matthias Grob
0cc4b41a51
MAVSDK test: Fix fly_forward_in_altctl() timing
2024-02-22 15:29:13 +01:00
Matthias Grob
f602228048
MAVSDK test: increase offboard position threshold
...
This is a workaround to hotfix CI but the root cause is #22792
(MAVSDK test failing after EKF change, accelerometer simulation issues not learned anymore?)
2024-02-22 15:29:13 +01:00
Matthias Grob
51fe4351c6
StickTiltXY: Fix too high maximum tilt problem
...
And add unit tests.
2024-02-20 14:27:49 +01:00
Matthias Grob
84a7d42566
rover build: correct differential drive kconfig name
2024-02-15 10:08:51 -05:00
Matthias Grob
f26df8492f
Update GPS drivers to contain the astyle fix
2024-02-15 15:23:06 +01:00
Matthias Grob
cb03835124
RTL: use dest.yaw instead of a separate heading_sp
2024-02-13 10:34:57 +01:00
Matthias Grob
1998f54ea6
DifferentialDrive: move spoolup consideration to the main module
2024-02-12 14:29:10 +01:00
Matthias Grob
396ef222ee
DifferentialDrive: Rework structure
...
3 Components Guidance - Control - Allocation
with their corresponding uORB interface.
2024-02-12 14:29:10 +01:00
Matthias Grob
f85144ca76
DifferentialDrive: remove trailing zeros from prameter metadata
2024-02-12 14:29:10 +01:00
Matthias Grob
b54b4f7dce
Rename module differential_drive_control -> differential_drive
2024-02-12 14:29:10 +01:00
Matthias Grob
fc90e235f1
Rename differential drive setpoint topics
2024-02-12 14:29:10 +01:00
Matthias Grob
f7baeae1a0
DifferentialDriveControl: only save required parts of uORB message
2024-02-12 14:29:10 +01:00
Matthias Grob
b355c16141
Lanbao driver: correct rangefinder type to IR
2024-02-09 06:19:12 +01:00
Matthias Grob
7fdb5ef3cb
PWMOut/px4io: correct automatic servo/motor configuration messages
2024-02-09 06:19:12 +01:00
Matthias Grob
97cb933cff
FLightTaskAuto: limit nudging speed based on distance sensor
2024-02-07 11:23:55 +01:00
Matthias Grob
3e183feb49
matrix: Slice templated on const and non-const matrix cases
...
to avoid casting const to non-const with
`const_cast<Matrix<Type, M, N>*>(data)`
2024-01-30 11:46:33 -05:00
Matthias Grob
88102d82db
matrix: return value simplifications
2024-01-30 11:46:33 -05:00
Matthias Grob
44a8c553fb
AxisAngle use Vector3<T> instead of Vector<T, 3>
2024-01-30 11:46:33 -05:00
Matthias Grob
ea4fdfd637
matrix: fix internal include chain
2024-01-30 11:46:33 -05:00
Matthias Grob
9156c5c065
ROMFS: remove single trailing zeros
2024-01-09 10:27:39 +01:00
Matthias Grob
b70b19b7eb
ROMFS: keep consistent quad X geometry but in each airframe separately
2024-01-09 10:27:39 +01:00
Matthias Grob
09fa712d37
ROMFS: remove trailing zeroes
2024-01-09 10:27:39 +01:00
Matthias Grob
40f2fc4e77
ROMFS: remove duplicate uuv configuration
2024-01-09 10:27:39 +01:00
Matthias Grob
4b86e174a3
ROMFS: Fix quad + geometry
2024-01-09 10:27:39 +01:00
Matthias Grob
d872ef87da
differential_drive_control: don't build by default
...
also add dependency on control allocation parameter CA_R_REV
2023-12-21 16:27:53 +01:00
Matthias Grob
3de5c609a4
Differential Rover: PR fixes
2023-12-21 16:27:53 +01:00
Matthias Grob
bcb2b1ad40
matrix: fix slice to slice assignment to do deep copy
...
To fix usage of a.xy() = b.xy() which should copy
the first two elements over into a and not act on a copy of a.
2023-12-21 11:42:08 +01:00
Matthias Grob
8da106df6a
px_process_events: fix no base path being a list
...
This make `make extract_events` fail in CI that only runs on the
main branch and hence I wasn't aware of.
2023-12-19 10:04:02 +01:00
Matthias Grob and Beat Küng
6ffc5a9eae
events: pass relative paths plus base path to source parser script ( #22551 )
...
* events: pass relative paths plus base path to source parser script
to work around maximum Makefile command lenght limits.
* events: correct cmake comment typo
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
---------
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2023-12-18 09:33:53 +01:00
Matthias Grob
75bb25a44c
test_vtol_figure_eight: fix altitude check
...
wait_until_altitude() checks for absolute altitude being
close so checking for 1m below the setpoint can fail
if the speedup results in no sample inside the altitude
window being checked.
Ideally the test could check if the takeoff is done directly
instead of comparing altitudes in the first place.
2023-12-12 20:22:23 +01:00
Matthias Grob
ece60b6165
msp_osd: reuse existing mode name conversion
...
This saves a bit of flash, keeps the mode names up to date and
works like expected.
2023-12-11 17:29:45 +01:00
Matthias Grob
ebae9ae3d7
FlightTaskManualAccelerationSlow: MC_ prefix for parameter names
...
As discussed in the maintainer call we should adhere to the
parameter naming scheme that makes it clear what vehicle type the
configuration is good for.
2023-12-08 21:17:59 +01:00
Matthias Grob
d03030e881
mavlink_receiver: ifdef guard for velocity limits
...
Since this message is defined in development.xml and
not yet common.xml and some targets use
common.xml and the builds then failed.
2023-12-08 21:17:59 +01:00
Matthias Grob
ca6db94e39
Velocity limit: remove duplicate message and if(true)
2023-12-08 21:17:59 +01:00
Matthias Grob
da24811ce1
SickAccelerationXY: fix comment typo brak{e}ing
2023-12-08 21:17:59 +01:00
Matthias Grob
54ce9813c8
FlightModeManager: Add task for position slow mode
2023-12-08 21:17:59 +01:00
Matthias Grob
ef0926d64b
Commander: add position slow mode
2023-12-08 21:17:59 +01:00
Matthias Grob
dbbf585adb
StickYaw: yaw rate limit interface
2023-12-08 21:17:59 +01:00
Matthias Grob
84220407ea
FlightTaskManualAltitude: vertical velocity limit interface
2023-12-08 21:17:59 +01:00
Matthias Grob
bb617f6c4d
FlightTaskManualAcceleration: horizontal velocity limit interface
2023-12-08 21:17:59 +01:00
Matthias Grob
77c06a9f9e
Sticks: Provide auxiliary analog values from manual_control_setpoint
2023-12-08 21:17:59 +01:00
Matthias Grob
df41bc3d26
StickAccelerationXY: make sure speeds below 1m/s are exactly reached
...
by only applying the sqrt linear drag when brakeing.
It was originally not done this way to avoid discontinuities and
the exact speed bewlo 1m/s didn't matter. With the position slow mode
the exact slow speeds now matter. And the discontinuities are avoided by
reusing the brake boost filter.
2023-12-08 21:17:59 +01:00
Matthias Grob
e35380d6ae
mixer_module_tests: cover output_limit_calc_single()
2023-12-07 21:35:55 -05:00
Matthias Grob
0a78690356
mixer_module: correct output_limit_calc_single calculation
2023-12-07 21:35:55 -05:00
Matthias Grob
d259386987
arch: python requirements fix, jdk comes with ant
2023-12-05 12:06:56 -05:00
Matthias Grob
14c4257a59
ActuatorEffectivenessRotors: Use modern parameter interface for rotor count
...
This lead to a compiler warning with arm-none-eabi-gcc 12+
about the variable count potentially being a dangling pointer.
2023-12-05 12:06:56 -05:00
Matthias Grob
b71c6fb6ea
arch: update to use pacman's arm-none-eabi
...
which is currently GCC 12.2
2023-12-05 12:06:56 -05:00
Matthias Grob
adb22f1407
spi: put brackets such that GCC12 considers it a pointer for sure
...
otherwise you get the warning/error px4_spi_buses can never be NULL
2023-12-05 12:06:56 -05:00
Matthias Grob
0c97b0f4b0
ubuntu: usermod -aG instead of -a -G
...
It's well documented everywhere that this command does and
it's commonly used with exactly these two parameters together
and in that order.
2023-12-05 12:06:56 -05:00
Matthias Grob
1c25d65a1e
Add missing newline at the end of files
2023-12-01 13:11:00 -05:00
Matthias Grob
4c0b6dbe86
Remove trailing whitespaces and trailing duplicate newlines
2023-12-01 13:11:00 -05:00
Matthias Grob
d8d2213cab
mavlink streams: add SYSTEM_TIME to onboard low bandwidth
...
It's required with 2Hz by some MAVLink enabled payloads.
2023-12-01 11:02:37 -05:00
Matthias Grob
9184a8f4ef
mavlink streams: add CAMERA_IMAGE_CAPTURED to onboard low bandwidth
2023-12-01 11:02:37 -05:00
Matthias Grob
3ceb932b7c
mavlink streams: increase RC_CHANNELS rate for onboard low bandwidth
...
There are MAVLink enabled gimbals that directly consume RC channel data.
The gimbal controls stutter with this profile when the rate is too low.
2023-12-01 11:02:37 -05:00
Matthias Grob
938be68c69
mavlink streams: add gimbal orientation feedback to normal stream
...
It only publishes when the information is available on uORB
and is useful for the groundstation to show the gimbal's status.
2023-12-01 11:02:37 -05:00