27081 Commits

Author SHA1 Message Date
Peter van der Perk
b5e5b2a186 [BACKPORT] dronecan: SocketCAN driver check size before copying
Avoids memory corruption if we get packets to big
2024-06-05 11:15:45 -04:00
Jacob Dahl
b8e43e1649 [mavlink] Parameter to always start on USB (#22234)
* usb: Added parameter to enable always starting mavlink on USB.

    Refactored cdcacm_init into a module and added a paramter to allow always starting mavlink on
    USB, also added a paramter to choose the mode. The current default behavior is to wait and listen
    for data on USB and auto-detect the protocol (mavlink, nsh, ublox). This results in the mavlink
    stream not starting until something else on the mavlink network sends a packet first. The new
    default behavior is to always start mavlink.

    Added parameters
    MAV_USB_ENABLE -- default 1 (always start mavlink on USB)
    MAV_USE_MODE -- default 3 (onboard)

* added 3 retries for opening serial port in mavlink, removed sleep before sercon

* added DRIVERS_CDCACM_AUTOSTART to ark-v6x default.px4board

* added CONFIG_DRIVERS_CDCACM_AUTOSTART=y to default.px4board for boards with CONFIG_CDCACM in their nsh/defconfig

* format

* remove PGA460 from COMMON_DISTANCE_SENSOR to save flash

* remove LIS2MDL from COMMON_MAGNETOMETER to save flash

* disable CONFIG_DRIVERS_CDCACM_AUTOSTART for fmu-v5 protected.px4board

* moved and renamed parameters, removed mode logic in mavlink

* changed parameter names, added mode none

* remove parameters from mavlink
2024-05-29 11:23:16 -04:00
Jacob Dahl
3b0a712c70 drivers/magnetometer: new ST IIS2MDC Magnetometer driver 2024-05-29 11:23:16 -04:00
bresch
4cf51e5833 baro comp: set hpf optional 2024-04-22 15:59:50 +02:00
Tero Salminen
e202e719b0 bmp388: check bus return code after register read
Check I2C/SPI bus transfer function return code after register
read operation.

Signed-off-by: Tero Salminen <tero.salminen@unikie.com>
2024-04-22 10:20:40 +02:00
asimopunov
f95a2021cd
adsb: warnings fixes & remove UTM_GLOBAL_POSITION (#21663)
- warn about full traffic conflict buffer at 1/60hz.
- add conflict expiry for buffer.
- use only events for buffer full warning. mavlink_log_critical no longer needed.
- use icao address for conflict warnings id, stop using uas_id. UTM_GLOBAL_POSITION assumed deprecated.
- stop spamming when buffer is full
- fix warning wording if buffer is full.
- remove UTM_GLOBAL_POSITION

Fixes failing unit test:
* [adsbTest] Reduce conflict timestamps - not enough time has passed in ci
- failed ci output - (passes locally with make tests TESTFILTER=AdsbConflict)
- Timestamp: 6000000000
- Time now: 457720038
- Time since timestamp: 0
- Old Conflict warning expired: 0
- --------------------
- adsb_conflict._traffic_state 0
- ../../src/lib/adsb/AdsbConflictTest.cpp:244: Failure
- Value of: adsb_conflict._traffic_state == TRAFFIC_STATE::REMIND_CONFLICT
-   Actual: false
- Expected: true
2024-04-22 10:14:39 +02:00
Juyong Shin
c7725d74b4
fw offboard control mode: altitude control enabled (#23041) 2024-04-22 06:57:57 +02:00
Daniel Agar
0a7689f323 drivers/optical_flow/paa3905: fix RegisterRead udelay 2024-04-18 20:57:37 -04:00
Daniel Agar
2a328615ed drivers/optical_flow/paw3902: fix RegisterRead udelay 2024-04-18 20:57:37 -04:00
Daniel Agar
ec3ceae45e
ekf2: move yaw_estimator and derivation to dedicated folder 2024-04-18 15:14:59 -04:00
Eric Katzfey
2dccd6cacb
Voxl ESC driver update (#23022)
* Made Serial API open the UART in NON BLOCKING mode
* Updated voxl_esc driver to latest from ModalAI fork
* Ported voxl_esc driver over to new Serial UART API
* Removed voxl_esc serial abstraction since new Serial API is already a serial abstraction
2024-04-17 15:09:35 -04:00
bresch
a8a67fbf8f ekf2: set horizon using specific parameter
Some sensors can have their delay included in the timestamp. In this
case, the buffer cannot be sized using the _DELAY parameter.
2024-04-17 09:16:16 -04:00
Hamish Willee
6796945d0b
Fix up notes boxes for docs (#22999)
* Fix up notes boxes for docs

* Update markdownout.py

* Update markdownout.py

* Update markdownout.py
2024-04-17 13:28:07 +12:00
Jacob Dahl
ff1da2ba29 remove clip_limit contraint on INT16_MAX 2024-04-16 11:43:55 -04:00
Sergei Grichine
c64f5128b4 Update CMakeLists.txt - included lawn world
Added lawn world to make process to allow gz sim building like "make px4_sitl gz_r1_rover_lawn"
2024-04-16 11:36:57 -04:00
Beniamino Pozzan
2476883525 logger: add timesync_status to default logged topics
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2024-04-16 11:29:35 -04:00
bresch
7a973eddce ekf2: migrate param to yaml 2024-04-16 11:14:13 -04:00
Eric Katzfey
d908b68c78
lib/rc/dsm: update proto init to have reset incorporated as well (#22995)
* update voxl2-slpi spektrum_rc driver
2024-04-15 16:09:19 -04:00
Eric Katzfey
0f665f2772 Added high rate esc_status logging to the high rate logging category along with actuator_outputs_debug. Both of these
really help diagnosing odd flight behavior / crashes on VOXL2. Also changed the logger start commands in the VOXL2
standard and HITL startup scripts.
2024-04-15 16:07:07 -04:00
Daniel Agar
78bbb66568 delete SYS_MC_EST_GROUP
- introduce per module parameters (EKF2_EN, LPE_EN, ATT_EN)
 - add basic checks to prevent EKF2 + LPE running simultaneously
2024-04-15 16:06:08 -04:00
alexklimaj
528ad1e87d boards: ARK Pi6X Initial Commit 2024-04-12 14:44:01 -04:00
Jacob Dahl
65cc153d47 remove LIS2MDL from COMMON_MAGNETOMETER 2024-04-12 14:43:20 -04:00
Jacob Dahl
8a8f481c29 remove PGA460 from COMMON_DISTANCE_SENSOR 2024-04-12 14:43:20 -04:00
Silvan Fuhrer
926e7878af RT: only chose mission RTL if mission is valid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-11 13:47:17 +02:00
Silvan Fuhrer
5fab21d099 MissionBase: hasMissionLandStart should only return true if mission is valid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-11 13:47:17 +02:00
Silvan Fuhrer
05672f343d TECS: check if integrator update is finit prior applying
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-11 10:42:59 +02:00
Silvan Fuhrer
974ead4015 FW position control: catapult/hand-launch: enable without launch detection
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-11 10:42:59 +02:00
Silvan Fuhrer
6fec452c4b FW position control: catapult/hand-launch: do not cut throttle if not landed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-11 10:42:59 +02:00
Konrad
6a7555c005 mission_base: fix to set the end of mission item always, if the mission can't be properly loaded or started 2024-04-11 10:21:52 +02:00
alexklimaj
cc11e1fbbf drivers: broadcom AFBR fix close to ground false readings 2024-04-10 11:47:04 -04:00
Eric Katzfey
d8fabd11d0
Send mavlink manual control buttons field in manual control input topic (#22988)
Pass along button states from manual control mavlink message in new buttons field in manual control input topic
2024-04-09 12:35:42 -07:00
Alex Klimaj
297ddabe70
drivers: rc_input only publish if more than 0 rc channels filled (fixes GHST auto scan) 2024-04-09 11:19:41 -04:00
Silvan Fuhrer
64505b4b9c Mission params: update description of MIS_TKO_LAND_REQ
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-09 13:24:46 +02:00
Silvan Fuhrer
93ed910977 FeasibilityChecks: only require both or neither TO/LND when landed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-09 13:24:46 +02:00
Silvan Fuhrer
9f799be855 Navigator: remove unused method
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-04-09 13:24:46 +02:00
bresch
5f61e3b785 ekf2: update change indicator 2024-04-05 22:26:03 -04:00
bresch
b79d3854e4 ekf2: remove option to continuously fuse mag declination
Declination fusion is only used when not observable (no global aiding).
2024-04-05 22:26:03 -04:00
bresch
dae246d7e2 ekf2: do not continuously use mag decl fusion when GNSS fusion is active
This prevents over-constraining the heading from mag fusion. An
incorrect mag yaw rotation can be absorbed as a declination error.
2024-04-05 22:26:03 -04:00
bresch
2f51db7284 ekf2: limit mag heading fusion to prevent heading overconfidence 2024-04-05 22:26:03 -04:00
bresch
51883fe5d4 ekf2: integrate mag heading into mag 3D 2024-04-05 22:26:03 -04:00
bresch
0c9e4013d2 ekf2: improve tilt leveling speed
Starting with no yaw uncertainty makes the tilt more observable when
using fake position fusion during the quasi-stationary alignment phase.
2024-04-05 22:26:03 -04:00
bresch
12fefbcfbd ekf2: use global definition of quaternion error 2024-04-05 22:26:03 -04:00
Jacob Dahl
7fbbdc31e8
Memsic MMC5983MA magnetometer driver 2024-04-04 21:08:24 -04:00
henrykotze
de9f3a3268 gz-bridge: use correct prev_timestamp for dt calc
- with the addition of the navsat plugin in PR#22638, the callback would
reassign the previous timestamp used in the calculations of the
angular_velocity causing derivative type noise in the groundtruth
measurements
2024-04-04 12:09:06 -04:00
Peter van der Perk
047e900c2a px4io: Fix dependency problem caused by #22957 2024-04-04 09:10:09 -04: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
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