Daniel Agar
88e7452492
commander: collapse ArmStateMachine and simplify
...
- simplify vehicle_status.arming_state down to just armed and disarmed
- ARMING_STATE_INIT doesn't matter
- ARMING_STATE_STANDBY is effectively pre_flight_checks_pass
- ARMING_STATE_STANDBY_ERROR not needed
- ARMING_STATE_SHUTDOWN effectively not used (all the poweroff/shutdown calls loop forever in place)
- ARMING_STATE_IN_AIR_RESTORE doesn't exist anymore
- collapse ArmStateMachine into commander
- all requests already go through Commander::arm() and Commander::dismarm()
- other minor changes
- VEHICLE_CMD_DO_FLIGHTTERMINATION undocumented (unused?) test command (param1 > 1.5f) removed
- switching to NAVIGATION_STATE_TERMINATION triggers parachute command centrally (only if armed)
---------
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2023-07-28 17:12:01 -04:00
Beat Küng
d542ffc10c
refactor vehicle_status_flags: rename to failsafe_flags
2022-10-13 16:05:25 -04:00
Beat Küng
6fda555cba
commander: move ownership of vehicle_status_flags_s to HealthAndArmingChecks
2022-10-11 22:31:20 -04:00
Beat Küng
455b885f86
commander: use new failsafe state machine and add user intention class
2022-10-11 22:31:20 -04:00
Beat Küng
f17f38197d
commander: move estimator checks to arming check
2022-09-01 17:07:23 -04:00
Beat Küng
b2cb164c12
commander: replace health flags with health_report from arming checks
2022-08-25 22:02:15 -04:00
Beat Küng
6d1fb92eb7
commander: rework arming checks to use the events interface
2022-08-25 22:02:15 -04:00
Hamish Willee
30e2490d5b
Docs are now in user guide and main ( #19977 )
...
* Fix links to docs in source to point to docs on main not master
* More docs and scripts that need to point to main
2022-08-01 11:39:39 +10:00
Daniel Agar
e99da22cbe
delete CBRK_VELPOSERR circuit breaker
2022-07-12 13:51:13 -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
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
Matthias Grob
92b6862485
Commander: replace arm requirements
2022-06-16 10:25:32 -04:00
Matthias Grob
3b3d8b9942
Commander: execute pre arm check with preflight checks
2022-06-16 10:25:32 -04:00
Matthias Grob
0f41a5e385
ArmStateMachine: simplify how preflight checks are called
2022-06-16 10:25:32 -04:00
Matthias Grob
c59809b14a
Commander: remove system_sensors_initialized
...
and system_hotplug_timeout. They're not in use for over 2 years.
Instead control LED with preflight checks.
2022-06-15 14:02:00 -04:00
Matthias Grob
96b0304049
PreFlightCheck: disallow arming in land mode
...
after the automatic switch to Hold mode was introduced.
2022-06-01 12:08:32 +12:00
Igor Misic
08dcc72e1f
commander/safety: replace safety.msg with Safety class ( #19558 )
2022-05-23 06:54:37 +02:00
Matthias Grob
38e027ee45
ArmStateMachine: remove dependency on armed.armed
...
To have the internal state as single source of truth
for the arming state within Commander.
2022-05-20 13:51:51 +02:00
Matthias Grob
37c485ce89
ArmStateMachine: move arm state into the class
2022-05-20 13:51:51 +02:00
Matthias Grob
47532ca07b
ArmStateMachine: replace state name array with method
2022-05-20 13:51:51 +02:00
Alex Mikhalev
45dff7f71a
commander: Add prearm check for flight termination
2022-04-25 11:57:37 -04:00
Matthias Grob
fe26ee244d
modeCheck: allow arming in land mode for MAVSDK compatibility
...
ideally we can remove it again when the workflow is changed to
first changing mode then arming.
2022-04-08 09:56:47 +02:00
Matthias Grob
92adc71424
ArmStateMachine: port over unit tests to functional gtests
2022-04-06 10:02:14 +02:00
Matthias Grob
f968a5947d
ArmStateMachine: port arming_state_names into the class
2022-04-06 10:02:14 +02:00
Matthias Grob
074080c816
Commander: separate out arm state machine to class
...
Pure refactoring and just the first step to avoid conflicts on the way.
2022-04-06 10:02:14 +02:00
Silvan Fuhrer
a7ddaf08c4
vehicle_status_flags.msg: remove condition_ prefix to reduce message size
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-03-23 10:37:51 -04:00
bresch
f3f09c1344
PreFlightCheck: add data timeout detection for mag, baro accel and gyro
2022-03-16 11:46:01 +01:00
bresch
75aa11c955
PreFlightCheck: refactor sensors preflight checks
2022-03-16 11:46:01 +01:00
bresch
b1c1163ee4
PreFlightCheck: remove unused device_id argument
2022-03-16 11:46:01 +01:00
bresch
5f1b577b6d
PreFlightCheck: mark sensor required if used by an EKF2 instance
2022-03-16 11:46:01 +01:00
KonradRudin
5f43be9d60
preflight checks: add check for distance sensor (via parameter)
2022-03-15 10:44:27 +01:00
Matthias Grob
f1e44c6e2a
PreFlightCheck: only allow modes suitable for takeoff
2022-03-14 09:03:39 +01: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
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
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
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
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
3193b554ca
Add optional preflight check for healthy MAVLink parachute system
2021-11-19 17:15:04 +01:00
Matthias Grob
7a2ef4a917
Commander: don't publish RC_IN_MODE to vehicle_status
...
This just contains the content of the parameter which
is redundant and results in multiple sources of truth.
2021-11-09 16:05:25 +01:00
Michael Schaeuble
5e1f62e9d0
Add option to warn the pilot in case of strong magnetic interference but still allow arming.
...
This PR changes the COM_ARM_MAG_STR parameter to accept values. If the parameter is set to 2, the check is performed and a warning is logged but the vehicle can still arm.
2021-10-27 09:59:18 +02:00
bresch
aad11ecc65
PreFltCheck: do not force to report ekf2 failures on GCS connection
...
EKF2 has a grace period of 10 seconds after boot where it doesn't need
to warn the user while the sensors (especially GNSS) are still
converging.
A connection to a GCS shouldn't skip this grace period but
an arming request should.
2021-09-08 14:41:26 -04:00
Daniel Agar
61702d0d97
sensors: always start baro/GPS/mag aggregators if SYS_HAS_* set
...
- add new SYS_HAS_GPS parameter
2021-08-23 10:59:58 -04:00
Daniel Agar
fb3b7a4649
mavlink: receiver handle RC_CHANNELS if from MAV_COMP_ID_SYSTEM_CONTROL
2021-08-04 17:15:24 -04:00
David Sidrane
ed474794cc
commander:Use inttypes
2021-06-16 17:07:47 +02:00
Silvan Fuhrer
c8ec6b3d08
Airspeed selector: remove ASPD_STALL and replace by FW_AIRSPD_STALL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
RomanBapst
3ac8c23dd0
commander: added prearm check for geofence violation
...
- if geofence action is not none, then don't allow arming outside of geofence
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-10 10:46:49 +03:00
Julian Oes
ac97b5520c
commander: assume power is fine for HITL
...
This means that the preflight check indicator in QGC is green for HITL.
2021-05-07 22:38:03 -04:00