28679 Commits

Author SHA1 Message Date
RomanBapst
c05e0f076b FixedWingPositionControl: do not pass trim throttle via position setpoint triplet
- trim throttle is handled entirely by the position controller
- navigator should use speed setpoints
- added flag gliding_enabled in position setpoint to stills support gliding

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-07-12 09:07:20 +02:00
RomanBapst
cae7e1b88b improved trim throttle compensation
- allow compensation based on vehicle weight (parameterized)
- use density for calculating trim throttle compensation instead of pressure
- removed parameter FW_THR_ALT_SCL

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-07-12 09:07:20 +02:00
RomanBapst
461d0561b8 replace FW_THR_CRUISE with FW_THR_TRIM
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-07-12 09:07:20 +02:00
Matthias Grob
10a2b4c9f7 commander_helper: typo in set_tune() description 2022-07-08 14:51:15 +02:00
Junwoo Hwang
f66c3914f6 Give priority to power off tune over other tunes (e.g. Battery Low)
Make Power Off tune not interruptable

This solves the case of Low Battery warning tune overriding the power
off tune, as now the Power off tune is not interruptable by any other
tune unless override flag is specified

commander_helper: resolve "redundant boolean literal in ternary expression result"
2022-07-08 14:51:15 +02:00
Junwoo Hwang
652b153383 Cleanup set_tune() functions in the commander_helper
- Existing code was hard to read and quite ambiguous
- Also it allowed constantly re-sending the tune_control request for a
fixed duration tunes like "TUNE_ID_BATTERY_WARNING_SLOW", while not
respecting the tune duration
2022-07-08 14:51:15 +02:00
bresch
3b26c611af mpc: add sideways and backward speed for manual position modes 2022-07-08 14:03:44 +02:00
bresch
1de38c88d9 mpc: use xy stick limiting function from library 2022-07-08 14:03:44 +02:00
Igor Mišić
7e9a45a01a uavcan/sensors/battery: add multiple battery filter instances 2022-07-08 10:03:11 +02:00
Igor Mišić
90e2ac60ce uavcan/sensors/battery: add the option to filter raw data
Useful for power modules that send just pure voltage and current without algorithmic prediction of voltage drop, time estimation, etc.
2022-07-08 10:03:11 +02:00
Igor Mišić
27b65481ba uavcan/sensors/battery: refactoring _battery_status name 2022-07-08 10:03:11 +02:00
Junwoo Hwang
0eeb699af8 Convert add 'Hz' suffix to PWM50, PWM400, ... protocol names
* To avoid confusion as to what the number after the 'PWM' part means
when setting it up in the Actuators Tab
2022-07-08 08:15:13 +02:00
bresch
2f486c37fc ekf2: start airspeed fusion when test ratio is passing only
When wind is already estimated, we don't reset the states using airspeed
data, so it could be that the fusion fails if the airspeed isn't
consistent with the filter (test ratio > 1). In this case, don't start
the fusion.

When wind isn't already estimated, the wind states are reset using
airspeed so the fusion can start regardless of the current test ratio.
2022-07-07 17:39:06 -04:00
Daniel Agar
f591988f32 drivers/actuators: modalai_esc driver
Co-authored-by: Travis Bottalico <travis@modalai.com>
Co-authored-by: akushley <akushley>
2022-07-07 10:32:52 -04:00
Daniel Agar
fe9af6769c commander add GPS warnings (GPS invalid if flying and jamming critical) 2022-07-07 10:24:11 -04:00
Daniel Agar
15223009d2 combine sensor_gps + vehicle_gps_position msgs (keeping separate topics) 2022-07-07 10:24:11 -04:00
Junwoo Hwang
32ae00fd44
Move Vehicle Command Result Enum defs to Vehicle Command Ack (#19729)
- As it is always only used for the vehicle command ack message
- It was a duplicate, hence making it error prone for maintainment
- The uORB message comments were updated to make the relationship with
the MAVLink message / enum definitions clear
2022-07-07 16:15:11 +02:00
bresch
af4038aa7e ekf2: publish estimator_aid_src_airspeed 2022-07-07 09:42:54 -04:00
bresch
2fd87c47e8 ekf2: use estimator_aid_source_1d message for airspeed fusion
split the fusion process into:
1. updateAirspeed: computes innov, innov_var, obs_var, ...
2. fuseAirspeed: uses data computed in 1. to generate K, H and fuse the
   observation
2022-07-07 09:42:54 -04:00
bresch
503aa87957 ekf2_derivation: create functions to generate innov_var or HK only
This is required when the innovation variance computation and the fusion
are performed in two different functions.
2022-07-07 09:42:54 -04:00
Junwoo Hwang
6225fae1d6 Increase Battery level emergency shutdown time delay
from 300 ms to 60 seconds, to give enough time for the user to configure
the vehicle in the mean time.

This is needed especially when the battery cell count setting is wrong
(when it should be 3, but set to 4 for example), since then whenever you
boot the vehicle, it will shutdown after 300 ms, which leaves the user
puzzled as to exactly what's happening. And it also prevented the user
from changing the Parameter since it's shutting down so quickly.

60 second window is intended to be a reasonable time that will allow the
user to figure out what's going on (via checking the battery level on
QGC, etc) but also not deep discharge the battery to a dangerous level.
2022-07-07 15:09:41 +02:00
Chuck
4528341069
sagetech_mxs: Adding fixes for crashes due to ADSB vehicle list initialization failure
Co-authored-by: cfaber <chuck.faber@sagetech.com>
2022-07-06 21:19:46 -04:00
RomanBapst
44f98ac355 standard: fixed pusher assist in hover
- in hover mode the pusher assist is already set in update_mc_state()

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-07-06 16:07:55 +02:00
RomanBapst
42cd0b4ce0 FlightTaskAuto: don't override landing gear state for takeoff
- this allows landing gear to retract automatically when doing a takeoff
and the vehicle is considered high enough

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2022-07-06 11:11:14 +02:00
Thomas Debrunner
42c562b748
gps: Increase param name buffer to address warning in newer gccs (#19876) 2022-07-06 10:20:31 +02:00
Matthias Grob
a3288ff732 Commander: run ekf checks without grace period after boot 2022-07-05 10:35:07 -04:00
Matthias Grob
8deebd07b8 preArmCheck: Shorten messages to to not write "Arming denied!" 2022-07-05 10:35:07 -04:00
bresch
3d01b5aa11 ekf2_derivation: use unsimplified q->rot for observation equations 2022-07-05 14:25:35 +02:00
bresch
28b34a634b ekf2_derivation: do not print null equations 2022-07-05 14:25:35 +02:00
bresch
78dd557b26 ekf2_derivation: automatically replace pow function 2022-07-05 14:25:35 +02:00
bresch
11f78a3686 ekf2_derivation: update generated equations with SymPy 1.10.1 2022-07-05 14:25:35 +02:00
Igor Mišić
4b503c310e Merge PR #19575 (changes to pr-extendend_hw_ver_rev_format)
- 4096 of 3 hex digits each for rev and ver is enough.
    #defines used in SPI versions do not be long format, use use the macro
 - Board provides a prefix and the formatting is sized and built in
 - No need for funky board_get_base_eeprom_mtd_manifest interface
    Original mft is used where the abstraction is done with the MFT interface

Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2022-07-05 09:29:26 +02:00
Igor Mišić
432b664acc px4_mtd: fix instantiation for multiple mtds 2022-07-05 09:29:26 +02:00
Daniel Agar
efde738826 ekf2: update EKF2_EV_DELAY default to 0 2022-07-04 11:44:53 -04:00
Matthias Grob
21f858de1f drv_pwm_output: remove not used anymore define for presumed servo middle position 2022-07-04 16:34:58 +02:00
Matthias Grob
af4b8bfd60 linux_pwm_out: sync configuration logic from FMU and IO 2022-07-04 16:34:58 +02:00
Matthias Grob
8ccd40185a PWMOut/px4io: use disarmed values as default failsafe values
to avoid surprises where upon disarm an ESC can suddenly spool up
even though it stops when disarmed and no specific failsafe value is configured.
2022-07-04 16:34:58 +02:00
Michael Schaeuble
85a5dd87cd Remove camera capture GPIO interrupt when the rate is higher than 5kHz
If the capture GPIO is exposed to a signal with high frequency changes, a lot of
interrupts are scheduled and the handling of these call can worst-case
starve flight critical processes leading to a loss of control. Since camera capture
is not flight critical, we now give up the capture
functionality and stop the interrupts to prevent the starvation of other processes.
2022-07-04 11:32:33 +02:00
Igor Mišić
941c47fb19 Remove logging rate limit for pps_capture
In case of a signal issue on the PPS GPIO it is helpful to have logging
data with higher rates.
2022-07-04 11:32:33 +02:00
Michael Schaeuble
5abee359d6 Remove PPS GPIO interrupt when the rate is higher than 20Hz
If the PPS GPIO is exposed to a signal with high frequency changes, a lot of
interrupts are scheduled and the handling of these calls can worst-case
starve flight critical processes leading to a loss of
control. Since PPS is not flight critical, we now give up the PPS
functionality and stop the interrupts to prevent the starvation of other processes.
2022-07-04 11:32:33 +02:00
Jaeyoung-Lim
55eed0e125 Remove multirotor mixer include from MC Ratecontro;
This commit removes multirotormixer includes since it is not being used
2022-07-03 19:20:19 -04:00
Daniel Agar
7f76761657 uavcannode: schedule to run on log_message publications
- this is a precaution to minimize message latency and potential lost messages
2022-07-01 09:18:17 -04:00
Ryan Meagher
f16ea921c2
drivers/barometer/invensense: fix icp10111 and icp10100
* fix icp so it compiles
* add icp10111 and icp10100 DEVTPYE
2022-06-29 21:22:10 -04:00
Martina Rivizzigno
55563eba49 MPC_SPOOLUP_TIME -> COM_SPOOLUP_TIME 2022-06-24 19:44:43 +02:00
Matthias Grob
c8fb7a6990 fw/uuv control: remove duplicated comments, restyle initializers 2022-06-24 10:05:16 -05:00
Matthias Grob
78225f7b1f examples/fixedwing_control: use initializers instead of memset 2022-06-24 10:05:16 -05:00
Matthias Grob
cfd4e64b02 uuv_pos_control: remove practically unused manual control subscription 2022-06-24 10:05:16 -05:00
Matthias Grob
3a239ff649 examples: remove empty fake_gyro 2022-06-24 10:05:16 -05:00
CR
ffb0097052 removed unused code - _constrainOneSide and _constrainAbs 2022-06-22 23:21:16 +02:00
Matthias Grob
479c85047f WeatherVane: Allow weathervane on multirotors not just VTOLs 2022-06-22 14:19:28 +02:00