Matthias Grob
955aad0dfb
Commander: consistent hysteresis initialization
2022-01-31 20:27:06 -05:00
Matthias Grob
d10f9030ad
Commander: add delay before executing low battery failsafe action
2022-01-31 20:27:06 -05:00
Matthias Grob
3af315f2c3
Commander: change battery failsafe to return action instead of executing
2022-01-31 20:27:06 -05:00
Matthias Grob
8eed43b515
Commander: put battery warning and failsafe action in separate functions
2022-01-31 20:27:06 -05:00
Matthias Grob
367b6123e1
state_machine_helper: change main state directly also for low battery RTL
2022-01-31 20:27:06 -05:00
Matthias Grob
f49bd9956b
state_machine_helper: reuse battery action conditions
2022-01-31 20:27:06 -05:00
Matthias Grob
95b5bc0d84
state_machine_helper: separate low battery warning from action
2022-01-31 20:27:06 -05:00
Daniel Agar
ad447ab223
commander: respect control mode for prearm requirements
...
- preflight tolerate ekf2 warnings if not in an attitude/velocity/position mode (eg manual or acro)
2022-01-31 09:48:37 -05:00
Daniel Agar
3f25349eb9
commander: don't reject VEHICLE_CMD_DO_SET_ACTUATOR
2022-01-25 18:44:58 -05:00
bresch
953c90d3a6
failure detector: change imbalanced propeller metric
...
Use standard deviations instead of variances to get a linear metric
2022-01-18 12:24:35 -05:00
bresch
408cf011b2
failure detector: fix dt computation
2022-01-18 12:24:35 -05:00
Claudio Micheli
8a01135a93
Commander: more changes to use events with escs and battery failures
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2022-01-13 08:40:34 +01:00
Claudio Micheli
d122513197
extend support for Battery status message
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2022-01-13 08:40:34 +01:00
Daniel Agar
bb1177d504
sensor_calibration: refactor and centralize calibration slot logic
...
- centralize logic for selecting a preferred calibration slot
- automatically use existing calibration slot if it exists, otherwise
find first available slot, with a preference for a requested index
- existing commander calibration methods rewrite all calibration slots
to match current sensor ordering
2022-01-12 16:16:26 -05:00
Julian Oes
b3d830dd11
Mantis: move power off tune to commander
...
This way we don't allocate inside the interrupt context.
2022-01-10 23:04:10 -05:00
Julian Oes
c2e0e09b2d
commander: reduce PWM max again
...
This is no longer required now.
2022-01-10 23:04:10 -05:00
Julian Oes
880292f5d7
commander: relax RC min/max
2022-01-10 23:04:10 -05:00
Julian Oes
aa007dadee
commander: fix emergency power off
...
From what I can see the CONFIG_BOARDCTL_POWEROFF is not really used
anywhere, however, the BOARD_HAS_POWER_CONTROL is something that is set,
e.g. for the Mantis, to allow power off.
2022-01-10 23:04:10 -05:00
Julian Oes
6301fa35c1
commander: add command to power off
2022-01-10 23:04:10 -05:00
Daniel Agar
e731fcdbc0
sensors (accel/gyro/mag) determine if external with device id
2022-01-10 10:31:07 -05:00
Daniel Agar
71d8b15b73
commander: fix COM_HOME_EN missing case
...
- VEHICLE_CMD_COMPONENT_ARM_DISARM is yet another path that calls set_home_position()
2022-01-09 20:52:07 -05:00
Julian Oes
2445fa8b4c
commander: prevent uninitialized warning
...
This prevents a memory sanitizer/valgrind warning:
Conditional jump or move depends on uninitialised value(s)
at 0x2DA536: __sanitizer_cov_trace_cmp4 (in build/px4_sitl_default-clang/bin/px4)
by 0x6590D8: FailureDetector::update(vehicle_status_s const&, vehicle_control_mode_s const&) (src/modules/commander/failure_detector/FailureDetector.cpp:76) by 0x3817DF: Commander::run() (src/modules/commander/Commander.cpp:2605)
by 0x38B10B: ModuleBase<Commander>::run_trampoline(int, char**) (platforms/common/include/px4_platform_common/module.h:180)
2022-01-05 10:53:51 +01:00
Daniel Agar
9cbb5c9920
parameters: fix export shutdown locking
...
- in NuttX bchlib keeps a sector sized buffer that might not be written
out to RAMTRON until the file is closed
2022-01-02 10:46:34 -05:00
Beat Küng
8e04934eab
commander: consider COM_MOT_TEST_EN for COMMAND_ACTUATOR_TEST as well
2021-12-24 20:06:13 -05:00
Daniel Agar
38731662c6
parameters use bitset for mark_unsaved
2021-12-24 14:32:40 -05:00
Daniel Agar
7d7d707db9
commander: add COM_HOME_EN parameter to enable/disable home position
2021-12-23 15:46:31 -05:00
Matthias Grob
f68ae39840
Commander: avoid RC actions during calibration
2021-12-22 09:08:23 -05:00
Daniel Agar
ea29b45282
ekf2: enable mag check by default, but commander only warn
2021-12-15 09:43:46 -05:00
Thomas Debrunner
eb69f15d3a
health-flags: Increase health flags to 64 bit bit field to support extended sys status mavlink message
...
Add SYS_STATUS flag for parachute
2021-12-14 09:41:12 -05:00
Daniel Agar
986cf288da
dataman: remove obsolete persistence and reset reason
2021-12-12 12:06:35 -05:00
Matthias Grob
897775f38d
ManualControlSelector: Allow disabling stick input
2021-12-10 09:11:08 -05:00
Matthias Grob
300e439144
ManualControlSelector: Enable original PX4 default behavior until QGC catches up
2021-12-10 09:11:08 -05:00
Thomas Debrunner
8db7a6225b
geo: Moved the map_projection_* functions and state into a self-contained C++ class
2021-12-06 14:30:14 +01:00
Julian Oes
a9b9362fea
commander: handle system broadcast commands
...
This changes the command handling logic to accept commands which are
targeted at any system, signaled by target_system set to 0.
2021-12-01 20:17:35 -05:00
Matthias Grob
55dfbdc6a6
Commander: fix remaining flight time user messaging
2021-11-30 19:46:22 +01:00
Silvan Fuhrer
3a9eef658c
Commander: remove preflight check for transition switch
...
This check enforced setting a VTOL transition switch if an RC as used on a VTOL.
It comes from a time when the only way to transtion was through the RC switch,
whereas now we have also a mavlink message in place for it, so enforcing it is
no longer needed.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-26 11:37:40 +01:00
Matthias Grob
c5fb68b7a1
Commander: force disabling the arm stick gesture when arm switch is in use
2021-11-25 07:56:35 +01:00
Matthias Grob
c522a8b15a
Compute RTL time and react if lower than flight time
...
- Compute RTL time also during RTL
- Calculate correct altitude when finding destination
2021-11-24 14:10:24 +01:00
Matthias Grob
5489005e0b
Commander: call battery_status_check on update instead of early return
2021-11-24 14:10:24 +01:00
Beat Küng
282d35bbf0
esc_calibration: handle SYS_CTRL_ALLOC==1
2021-11-23 12:40:22 -05:00
Beat Küng
21699935e8
vehicle_command: add VEHICLE_CMD_ACTUATOR_TEST and VEHICLE_CMD_CONFIGURE_ACTUATOR
2021-11-23 12:40:22 -05:00
Matthias Grob
0153c870d2
Commander: make sure yaw airmode is not possible while arm gesture is enabled
...
It's unsafe to arm with the gesture when yaw airmode is enabled
because e.g. in Stabilized mode that results in a high yawrate setpoint
that the drone tries to follow even with zero thrust
because of the airmode.
It was handled before by checking the arm switch parameter because that
used to disable the stick arm gesture.
See 24dc316973
2021-11-23 16:03:46 +01:00
Daniel Agar
577d926639
commander: improve angular velocity validity and message
2021-11-22 11:27:45 -05:00
Matthias Grob
f912ee2c8b
Commander: send out parachute MAVLink command when kill switch engaged
2021-11-19 17:15:04 +01:00
Matthias Grob
3193b554ca
Add optional preflight check for healthy MAVLink parachute system
2021-11-19 17:15:04 +01:00
Matthias Grob
43c529f294
Add MAVLink parachute system heartbeat detection
2021-11-19 17:15:04 +01:00
Matthias Grob
4c6621f6cf
Commander: Allow arming a rover with the throttle stick in the middle
2021-11-19 10:10:32 +01:00
RomanBapst
439400f76e
commander: don't ack gimbal commands
...
- this leads to an unnecessary amount of acks which can in turn overflow
the orb queue
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-13 11:59:28 -05:00
kevindsp
17ad7071c3
fix the quaternion normalization issue
...
Be course of the numerical computing error . The normalization of the quaternion can't always equal to 1 precisely. It could occasionally trigger the error"attitude estimate no longer valid". So enlarge the threshold to 1e-6f. That keeps it silence.
2021-11-12 16:31:40 +01:00
Matthias Grob
fabf865411
Use backwards compatible manual_control_setpoint instead of manual_control_input
2021-11-09 16:05:25 +01:00