Commit Graph

43 Commits

Author SHA1 Message Date
Matthias Grob e4d25df58a Consistently use "stick gesture" for "rc stick gesture" 2024-09-05 18:06:29 +02:00
Silvan Fuhrer 8eaf93468e Commander: feedback string for arming/disarming: make clear when from gesture
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-09-05 18:06:29 +02:00
Matthias Grob ba579245fb battery_status: remove unused smart battery mode 2024-07-30 14:37:11 +02:00
Matthias Grob 2e66bbdfb8 battery_status: add failed to arm fault instead of duplicate over temperature 2024-07-30 14:37:11 +02:00
PX4 BuildBot 8b26e5e252 Update submodule libevents to latest Thu Jun 27 12:39:19 UTC 2024
- libevents in PX4/Firmware (4e3561cad8d24fefe66d266e969652d7ab20162b): https://github.com/mavlink/libevents/commit/8d5c44661bf79106361eb0b5170025b86e85a525
    - libevents current upstream: https://github.com/mavlink/libevents/commit/9474657606d13301d426e044450c4f84de2221be
    - Changes: https://github.com/mavlink/libevents/compare/8d5c44661bf79106361eb0b5170025b86e85a525...9474657606d13301d426e044450c4f84de2221be

    9474657 2024-06-13 Beat Küng - cmake: add namespaced target & installation include dir
9f2e68d 2024-06-12 Beat Küng - CMakeLists: set CMAKE_CXX_STANDARD if not set
3204e8f 2024-06-12 Beat Küng - parser.h: use std::vector<EventArgumentDefinition>::size_type
eab8144 2024-04-29 Beat Küng - fix parser: avoid signed to unsigned conversion
159f83e 2024-04-29 Beat Küng - cpp: only enable Wall and others for GCC
2024-06-27 16:21:20 -04:00
Beat Küng 547209e1dc libevents: update submodule
And remove obsolete libevents_definitions.h
2024-04-29 07:22:40 -07:00
Silvan Fuhrer da39d075ac Commander enums: shorten failsafe event messages
Such that the focus is on the important keywords.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-15 10:25:18 +01:00
Silvan Fuhrer f6430a27d6 Commander enums: capitalize battery level key words
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-15 10:25:18 +01:00
Silvan Fuhrer 4ae2fbd171 Commander enums: capitalize flight mode names
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-15 10:25:18 +01:00
Silvan Fuhrer 00cc68baa1 Commander: make low remaining flight time configurable and fix clearing condition (#22863)
* Commander: make low remaining flight time configurable and do not clear

- add _ACT param to disable/warning/RTL this feature
- publish rtl flight time estimate also in RTL, and thus fix re-validation
- make failure message clearer, distinguish from battery low

* battery check: add hysteresis for declaring battery_low_remaining_time false again


---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: KonradRudin <98741601+KonradRudin@users.noreply.github.com>
2024-03-12 12:56:01 +01:00
Eric Katzfey 57df7e35b2 uORB: make queue size (ORB_QUEUE_LENGTH) completely static (#22815)
Previously uORB queue size was an awkward mix of runtime configurable (at advertise or IOCTL before allocate), but effectively static with all queue size settings (outside of test code) actually coming from the topic declaration (presently ORB_QUEUE_LENGTH in the .msg). This change finally resolves the inconsistency making the queue size fully static.

Additionally there were some corner cases that the muorb and orb communicator implementation were not correctly handling. This PR provides fixes for those issues. Also correctly sets remote queue lengths now based on the topic definitions.

* Made setting of uORB topic queue size in based on topic definition only
* Fixes to the ModalAI muorb implementation
* Removed libfc sensor from format checks
* msg/TransponderReport.msg ORB_QUEUE_LENGTH 8->16 (was set to higher in AdsbConflict.h

---------

Co-authored-by: Eric Katzfey <eric.katzfey@modalai.com>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2024-03-08 16:28:24 -05:00
Matthias Grob 6ffc5a9eae events: pass relative paths plus base path to source parser script (#22551)
* events: pass relative paths plus base path to source parser script

to work around maximum Makefile command lenght limits.

* events: correct cmake comment typo

Co-authored-by: Beat Küng <beat-kueng@gmx.net>

---------

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2023-12-18 09:33:53 +01:00
Matthias Grob ef0926d64b Commander: add position slow mode 2023-12-08 21:17:59 +01:00
Silvan Fuhrer 2865bbb8ab Geofence: rework messaging and notification
- do reporting of breaching in-air only in geofenceCheck
- remove geofence_violation_reason_t
- replace geofence_breached field in GeofenceResult.msg with 3 fields
(one for each GF type: max dist, max alt, custom geofence)
- the warning message after breaching a GF is only done by Commander,
and it's specific to the GF type failure

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-11-22 21:45:02 -05:00
PX4 BuildBot c497a25bea Update submodule libevents to latest Thu Nov 23 00:39:07 UTC 2023
- libevents in PX4/Firmware (15667a5c6b927ab177c6912058475eb5fac26c4c): https://github.com/mavlink/libevents/commit/a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35
    - libevents current upstream: https://github.com/mavlink/libevents/commit/59f7f5c0ec2e76fadbc1dc40cc0705d614472edc
    - Changes: https://github.com/mavlink/libevents/compare/a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35...59f7f5c0ec2e76fadbc1dc40cc0705d614472edc

    59f7f5c 2023-09-26 Beat Küng - cpp/parse: avoid using ssize_t as it's not available on Windows
1617b4e 2023-09-26 Beat Küng - cpp: enable Werror, Wall, Wextra, Wconversion, Wpedantic & fix
e2979e6 2023-09-26 Beat Küng - refactor python/parser: some whitespace & formatting updates
e2e8011 2023-09-26 Beat Küng - python/parse: add callback to escape message & description
baa93a4 2023-09-26 Beat Küng - cpp/parse: add callback to escape message & description
d10aecd 2023-09-26 Beat Küng - refactor tests/parser: move tests to method
1aaa597 2023-09-26 Beat Küng - run_ci.sh: ensure cmake uses unix makefiles
9b3c897 2023-09-25 Beat Küng - refactor parser tests: use gtest
2023-11-22 21:40:48 -05:00
Beat Küng fbbccf6997 commander: implement external modes and mode executors 2023-11-15 13:18:58 +01:00
Beat Küng 2e1d5687f9 fix events: use px4_add_library instead of add_library
Fixes `make uorb_graphs`
2023-10-06 10:24:23 -04:00
Ville Juven 6cb2c176d5 events: Move implementation of events::send() to lib/events
Events have a global, system-wide sequence number, which must be handled
atomically, (fetching and incrementing the sequence AND sending the event
to uORB must be atomic). Currently in FLAT mode, only one instance of this
sequence number exists, so it is OK to have it in px4_platform.

However, in PROTECTED mode px4_platform is instantiated both in kernel-
and user spaces, which makes two instances of this sequence number, which
causes problems in the mavlink event handling logic.

When mavlink receives and handles events, it expects that:
- The sequence numbers arrive in order (seq n is followed by n+1 etc)
- It increments by 1
- There is only one instance of the sequence number

In PROTECTED mode this is violated, as the kernel and user sequence
numbers run freely on their own. This patch fixes the issue by moving
the event backend to the kernel and by providing user access to it via
ioctl.
2023-09-25 09:54:11 +02:00
Eric Katzfey d2011e99b2 commander: add Open Drone ID arming check (#21652) 2023-06-01 07:52:52 +02:00
PX4 BuildBot 2a93875a5f Update submodule libevents to latest Mon May 1 12:39:12 UTC 2023
- libevents in PX4/Firmware (406dc9b62627aec0c14df2d1e6d09b849f12487f): https://github.com/mavlink/libevents/commit/48911e7be752a908a15d945b796ed8d8282b7b02
    - libevents current upstream: https://github.com/mavlink/libevents/commit/a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35
    - Changes: https://github.com/mavlink/libevents/compare/48911e7be752a908a15d945b796ed8d8282b7b02...a9a3fc07abb8bd8eb6fbca64c35b479cab91ff35

    a9a3fc0 2023-03-31 Beat Küng - README: update link to initial design doc
fb630b3 2023-03-30 Beat Küng - pylint: fix 'Raising too general exception' errors
72108eb 2023-03-29 flickering-light - Unused content variable fix
2023-05-01 13:40:00 -04:00
Beat Küng 22c94f805a component information: add translation support 2023-03-20 21:57:25 -04:00
PX4 BuildBot da7d52e302 Update submodule libevents to latest Tue Dec 20 00:39:10 UTC 2022
- libevents in PX4/Firmware (26f3fea7ebb328ef58d4d592dae0559c91f13c1c): https://github.com/mavlink/libevents/commit/0c8bc543db2f8c78f59214d5bcf959bdadd96677
    - libevents current upstream: https://github.com/mavlink/libevents/commit/8d9c5551273a52e22253ea6abf28d9e4b05e0ab7
    - Changes: https://github.com/mavlink/libevents/compare/0c8bc543db2f8c78f59214d5bcf959bdadd96677...8d9c5551273a52e22253ea6abf28d9e4b05e0ab7

    8d9c555 2022-12-13 Beat Küng - README: clarify use of component ID
2022-12-20 01:24:15 -05:00
PX4 BuildBot b3cebc6686 Update submodule libevents to latest Wed Dec 7 00:39:06 UTC 2022
- libevents in PX4/Firmware (ff161d5eca5ee3e605840dc05642984985fcbf5a): https://github.com/mavlink/libevents/commit/179f86a8fc7fd74cb80630e77b1b9435d3c5b748
    - libevents current upstream: https://github.com/mavlink/libevents/commit/0c8bc543db2f8c78f59214d5bcf959bdadd96677
    - Changes: https://github.com/mavlink/libevents/compare/179f86a8fc7fd74cb80630e77b1b9435d3c5b748...0c8bc543db2f8c78f59214d5bcf959bdadd96677

    0c8bc54 2022-11-07 Beat Küng - README: fix typo
ca1cce0 2022-11-04 Beat Küng - README: add note for usage of UNIT's
2022-12-06 19:39:37 -05:00
Beat Küng ab3fe543d4 libevents: update submodule 2022-11-02 09:59:00 -04:00
Beat Küng 38d3739b6d refactor commander: rename rc_signal_lost -> manual_control_signal_lost, data_link_lost -> gcs_connection_lost 2022-10-11 22:31:20 -04:00
Beat Küng acaa50a448 geofence: add and report reason for violation 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
PX4 BuildBot 644a836d0a Update submodule libevents to latest Sun Oct 2 12:39:02 UTC 2022
- libevents in PX4/Firmware (ddc1e6d6c5c2707be5522d4c4d7434403202cf45): https://github.com/mavlink/libevents/commit/82dabdb914d7bd640c281900e2852d0afc074b68
    - libevents current upstream: https://github.com/mavlink/libevents/commit/a89808bffd1efb0543e66f17a7fa12dfce5e6bf0
    - Changes: https://github.com/mavlink/libevents/compare/82dabdb914d7bd640c281900e2852d0afc074b68...a89808bffd1efb0543e66f17a7fa12dfce5e6bf0

    a89808b 2022-09-26 Beat Küng - combine.py: sort json keys
2022-10-02 10:53:28 -04:00
Beat Küng 43c5f14aa0 commander: update arming & health protocol, add modes to event hash 2022-09-01 17:07:23 -04:00
Beat Küng 295caaea60 events/enums.json: remove redundant manual_control_input 2022-09-01 17:07:23 -04:00
Beat Küng 983a9815eb libevents: update submodule 2022-08-25 22:02:15 -04:00
Beat Küng 07afcf4586 commander preflight checks: new structure using events interface
- Reporter class that keeps track of results (list of events + whether
  arming is possible + health).
  And only reports when one or more checks change.
2022-08-25 22:02:15 -04:00
Igor Misic 08dcc72e1f commander/safety: replace safety.msg with Safety class (#19558) 2022-05-23 06:54:37 +02: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
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
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
PX4 BuildBot 2dffb04d61 Update submodule libevents to latest Fri Nov 26 00:39:17 UTC 2021
- libevents in PX4/Firmware (239f1c4eadc57f12b43b57d704bb80bc07a07841): https://github.com/mavlink/libevents/commit/5fd19be22dcbeaccb8afeba146f3a7c931a9b5fb
    - libevents current upstream: https://github.com/mavlink/libevents/commit/6329c909a7b16bb6f97c94cbb598815635b94982
    - Changes: https://github.com/mavlink/libevents/compare/5fd19be22dcbeaccb8afeba146f3a7c931a9b5fb...6329c909a7b16bb6f97c94cbb598815635b94982

    6329c90 2021-11-16 Beat Küng - python: pylint fixes
6251f65 2021-11-16 Beat Küng - events_generated.h.jinja: add '_max' field to generated enums
2021-11-25 21:37:59 -05:00
Julian Oes bd0c1014d9 manual_control: support arming button
The arming button required some refactoring in order to support to
toggle arm/disarm using the vehicle_command. Otherwise manual_control
would have to subscribe to the arming topic and we would spread out the
logic again, and risk race conditions.
2021-11-09 16:05:25 +01:00
mcsauder 21163d859e Whitespace cleanup. 2021-10-19 13:29:26 -04:00
Beat Küng 5ac43e7236 commander: switch to events 2021-09-11 14:08:41 -04:00
Beat Küng e3972d563a cmake: ensure generated source files exist before extracting events
Only needed for Makefile-based builds:
gmake[3]: *** No rule to make target 'src/modules/flight_mode_manager/FlightTasks_generated.hpp', needed by 'events/px4.json'.  Stop.
2021-07-07 21:38:09 -04:00
Beat Küng 59f359f7dc events: add custom (px4-specific) enums json file 2021-07-07 21:38:09 -04:00
Beat Küng 38f3b8d356 mavlink & system: add events interface
- sending protocol
- uorb event message & template methods for argument packing
- libevents submodule to send common events and handle json files
- cmake maintains a list of all (PX4) source files for the current build
  (PX4 modules + libs), which is used to extract event metadata and
  generate a json file
2021-07-07 21:38:09 -04:00