Beat Küng
9b629a9e95
hitl,sitl,sih: use separate actuator_outputs_sim for SYS_CTRL_ALLOC==1
...
- removes the need to do type-specific rescaling of pwm to normalized values
- allows to run physical output drivers alongside HIL/SIH
2022-02-25 08:30:58 +01:00
Charles Cross
1e32398217
Adds scheduling call to ControlAllocator initialization
2022-02-25 08:16:08 +01:00
Charles Cross
aecfbef128
Enables 20Hz backup scheduling for ControlAllocator
2022-02-25 08:16:08 +01:00
Charles Cross
b0352135bb
Restores Dshot trigger condition and adds dynamic mixing condition
2022-02-25 08:16:08 +01:00
Charles Cross
51c055832f
Changes ControlAllocator to always publish actuator controls and status
2022-02-25 08:16:08 +01:00
Charles Cross
59f9a40584
Changes Dshot commands to always trigger from updateOutputs(), unless outputs are completely off
2022-02-25 08:16:08 +01:00
Charles Cross
46f8de3a17
Changes actuator_test syscmd value arg to be a float from -1 to 1
2022-02-25 08:16:08 +01:00
Daniel Agar
8de2c80b34
mavlink: SCALED_IMU streams add temperature
...
- preference for accel or gyro temperature before mag
2022-02-23 14:05:31 -05:00
Daniel Agar
11f617ca9b
ekf2: default to in air and not at rest
...
- this is a more conservative default if a vehicle isn't set (no land detector running)
- handled horizontal preflight failures in commander when disarmed
rather than overloading xy_valid and v_xy_valid flags
- ekf2 no longer depend on arming or standby status
2022-02-22 16:59:10 -05:00
Daniel Agar
d6d529539d
ekf2: consolidate and simplify gnd effect logic
2022-02-22 16:59:10 -05:00
Daniel Agar
1d7791dad6
commander: monitor GPS validity and EKF2 dead reckoning
...
- ekf2: expose dead reckoning as control status flags
- commander:
- add GPS validity check
- in AUTO MISSION if dependent on GPS then a loss of GPS will
2022-02-22 09:46:21 -05:00
Julian Oes
6021b8efb3
navigator: only apply breaking for multirotors
2022-02-22 09:41:22 -05:00
Julian Oes
fa6c051ae5
navigator: break smoothly when entering hold mode
...
This uses the existing breaking functionality when hold/loiter mode is
activated.
2022-02-22 09:41:22 -05:00
Julian Oes
f88dd28e85
navigator: extract breaking functionality out
...
This only moves the breaking functionality out from the reposition
command handling to a function, so that it can get re-used in other
places.
2022-02-22 09:41:22 -05:00
bresch
0e0e0d8be7
[AUTO COMMIT] update change indication
2022-02-22 11:49:25 +01:00
bresch
4f0a959244
gps_hgt: add and improve unit tests
2022-02-22 11:49:25 +01:00
bresch
edabfd2f0e
ekf_hgt: call specific height reset function instead of generic one
...
- Also use the delayed current data instead of newest that might not be
available (gps buffer is sometimes empty if the dt between samples is
larger than the delayed horizon).
- Separate "baro fault" from "baro intermittent": intermittent is a
temporary failure and should prevent from switching to baro right now,
but "fault" means that it should never be used anymore
- In case of height timeout, check for metrics but not for consistency
as the filter is likely to have diverged already.
2022-02-22 11:49:25 +01:00
bresch
cba73585e1
use recorded last sensor timestamp for intermittent check
2022-02-22 11:49:25 +01:00
Daniel Agar
f431b233f3
ekf2: preflight checker fix flow y innovation filter
2022-02-22 09:39:22 +01:00
Daniel Agar
710185d2ad
drivers/magnetometer/rm3100: cleanup and simplify ( #19238 )
...
* switch to continuous mode at 75 Hz
* add simple failure count and reset mechanism
* add range checks and perf counts
2022-02-21 16:48:20 -05:00
Roman Dvořák
976c994156
Extend the PCF8583 driver to support multiple instances ( #19232 )
...
* Add some restart events into pcf8583 driver
Co-authored-by: Vít Hanousek <vithanousek@seznam.cz>
2022-02-21 16:47:16 -05:00
Charles Cross
699f34ba83
drivers/magnetometer/rm3100: self-test procedure revision ( #19207 )
...
* Adds retry behavior and additional checks to RM3100 BIST
Signed-off-by: Charles Cross <charles@missionrobotics.us>
2022-02-21 11:27:42 -05:00
Beat Küng
960003a86a
control_allocator: fix weak authority matrix check & update
...
- use max(fabsf(val)) instead of max(val)
- use correct actuator count
2022-02-21 11:17:00 -05:00
Daniel Agar
591b7b6934
ekf2: add new estimator_gps_status.msg
...
- includes the estimator status check fail bits broken out as descriptive booleans
- absorbs ekf_gps_drift.msg
2022-02-21 08:58:59 -05:00
Daniel Agar
f8d7574d3c
ekf2: simplify global position publication validity check
2022-02-21 08:57:33 -05:00
fury1895
be92165c54
AirspeedSelector: fix messaging
2022-02-21 15:21:13 +03:00
Julian Oes
9b35b680f6
gimbal: fix input selection
...
Once we have valid input we should use that and not overwrite our
update_result with the result from other inputs, otherwise the
automatic selection does not actually work.
This behavior means that only the first update will be used if there are
several sources updating in the same cycle.
2022-02-21 08:38:16 +01:00
Igor Mišić
3c09448daf
dataman: add silence flag for _file_initialize
2022-02-21 08:36:36 +01:00
murata
cc6c6c3b8c
power_monitor: Determine I2C communication errors
2022-02-20 16:05:44 -05:00
Daniel Agar
09e36e6cb4
gimbal: new pitch limits [MNT_LND_P_MIN, MNT_LND_P_MAX] when landed
2022-02-20 16:04:09 -05:00
Daniel Agar
d147ad3a9a
gimbal: add parameter units
2022-02-18 14:15:58 -05:00
Daniel Agar
2a8aa17a81
mavlink: streams MOUNT_ORIENTATION populate time_boot_ms
2022-02-18 14:14:56 -05:00
Daniel Agar
1f77a3750e
mavlink: don't reset _src_addr_initialized on parameter updates
2022-02-18 14:14:36 -05:00
Daniel Agar
1addbe469e
mavlink: STATUSTEXT increase stale message timeout
2022-02-18 10:16:20 -05:00
Daniel Agar
d5d50d5855
gyro_calibration: add additional validity check before finalizing calibrations
...
- this can slip through if sensors are running normally, but then stop publishing valid data
2022-02-18 09:12:30 -05:00
Jukka Laitinen
9449ed6e66
Add support for protected build in drivers, systemcmds and modules Kconfig
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-02-18 07:58:58 +01:00
Silvan Fuhrer
c51dc3b4b7
ControlAllocator: Set all the elements of a row to 0 if that row has weak authority
...
Weak authority on a axis is currently defined as: none of the actuators have an
effectivness on this particular axis larger than 0.05.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-17 13:21:50 +01:00
Silvan Fuhrer
97a280d41d
CA: Tiltrotor: set tilts to exactly -1 or 1 if close to these end points
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-17 13:21:50 +01:00
Silvan Fuhrer
25f5152583
Tiltrotor: make sure tilt doesn't exceed the FW tilt angle
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-17 13:21:50 +01:00
Silvan Fuhrer
c13726af66
Enable DO_SET_SPEED commands outside of missions in other AUTO modes ( #18834 )
...
* Navigator: enable DO_CHANGE_SPEED for outside of mission
- update _mission_cruising_speed_mc/_fw also if DO_CHANGE_SPEED command
is received outside of mission (e.g. while Loitering doing an Orbit)
- if vehicle is in AUTO_LOITER when receiving the change speed, then immediately
apply it by doing a reposition without updating any other field than cruising_speed
and cruising_throttle
-when RTL is activated reset the cruising speed and throttle
* Navigator: reset cruise speed and throttle to default when VTOL-transitioning
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-17 11:19:02 +01:00
Jaeyoung-Lim
b0f9611eb9
NPFG: use cross product for matrix library
...
This removes the use of cross products from NPFG and takes advantage of the matrix library
2022-02-17 09:52:47 +01:00
Daniel Agar
ca97b9ba5f
drivers/gps: add new GPS_SAT_INFO parameter to enable satelitte_info
...
- this replaces the command line argument -s
2022-02-17 08:30:25 +01:00
David Sidrane
c7bd7323ec
serial_test:Fix infinte TX loop with H7/DMA
2022-02-16 10:09:02 -05:00
Yannick Fuhrer
26ea70e729
Airspeed selector: fix condition for messaging ( #19173 )
...
Change warning message after airspeed failure on the ground,
recommend RTL only if flying.
2022-02-15 17:23:36 +01:00
Roman Bapst
6de5d24e00
Added VTOL Takeoff navigation mode ( #19027 )
...
* Commander: added support for MAIN_STATE_AUTO_VTOL_TAKEOFF
* navigator: added support for vtol_takeoff navigation mode
2022-02-15 14:56:57 +01:00
Silvan Fuhrer
374bcb105a
RTL: fill loiter radius in state Climb ( #19165 )
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-15 14:50:14 +01:00
Daniel Agar
5370733d62
ekf2: publish flow vel only if compensated flow is available
...
- fix a few publication timestamp_samples
2022-02-14 10:55:10 -05:00
Daniel Agar
b157afde6a
ekf2: prefer airspeed_validated over raw airspeed if available ( #19159 )
...
* ekf2: prefer airspeed_validated over raw airspeed if available
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-14 15:37:29 +01:00
Silvan Fuhrer
df0e402c44
CA: refactor logic for matrix updating
...
-pass flag EffectivenessUpdateReason into effectiveness, indicating if there was an external
update or not. Reasons for external updates are:
-config changes (parameter)
-motor failure detected or certain redundant motors are switched off to save energy
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2022-02-14 09:23:10 +01:00
Daniel Agar
8b9a856cf7
drivers/barometer: new ms5837 driver ( #18213 )
...
Co-authored-by: xn365 <xn_365@163.com>
2022-02-12 14:41:31 -05:00