Commit Graph

606 Commits

Author SHA1 Message Date
Claudio Micheli be6f753022 Fixed CI errors. changed _print_msg_once into private class member.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli e14e5b9d73 Commander: Changed COM_ONB_BOOT_T parameter to COM_OA_BOOT_T.
Since the time out is only Obstacle-Avoidance related, the new naming is more self explanatory.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli d937a5725b Commander: reset print once variable if OA is lost.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 9966a3d2f8 Commander: changed logic for checking OA at boot time.
With this commit the use cases will be:

Success case:
- booting, no messages about OA, pre-arm check would fail if you try to arm and OA is not yet running

Fail case:
- if OA takes longer than timeout time defined in COM_ONB_BOOT_T, then an error message is triggered.


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 3b5ef82193 Commander: Added COM_ONB_BOOT_T parameter.
Since onboard controllers bootup times are hardware dependent, it makes sense to have the possibility to adapt timeout time according to the specific HW.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 7a8002fdab Commander: increased hardcoded timeout time for avoidance to start.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli f4a4dab65a Commander: Improved logic for OA prearm checks.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 977a4c8e9b Added status_change to force message updating.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Claudio Micheli 107746ded5 Added obstacle avoidance healthiness topic in vehicle status msg.
This allows to perform pre-arm checks and prevent arming if obstacle avoidance is enabled but not yet running.
Added a print once flag to prevent excessive message spamming in QGC.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-27 09:56:32 +01:00
Beat Küng 6672284871 commander: fix status init & some status update changes 2019-03-12 11:24:33 +01:00
Claudio Micheli 908cdaa574 Onboard controller loss parameter cleanup.
Since Timeout from onboard controller is something that does not require a lot of modifications there is no sense to having it parametrized.

Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli cd47cefb03 Some more code cleanup.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli fb990d7de3 Removed subscribtion to multiple _telemetry_status instances.
Since commander handles all telemetry_status the same there is no need to subscribe to multiple instances.


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli a53594135b Commander: changed "datalink regain" logic.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 32e4baf6a0 Commander: some more cleanup. 2019-03-12 11:24:33 +01:00
Claudio Micheli a84a1e1b5a Commander: mavlink messages cleanup. header variables refactoring.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 14415b29c1 Removed hardcoded onboard controller timeouts thresholds.
Added COM_ONB_LOSS_T and COM_ONB_REG_T parameters to specify thresholds that triggers "onboard link lost" and "onboard link regained".


Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
Claudio Micheli 156317e546 Fixes for ONBOARD Controller lost & regain. 2019-03-12 11:24:33 +01:00
Claudio Micheli 1fc055a51f Fixed some issues for datalink loss & regain (GCS HEARTBEAT).
Major changes:
- Prevent  "HIGH LATENCY DATA LINK LOST" message to appear if iridium telemetry is not used.
- Prevent "DATA LINK LOSS" mavlink messages flooding when QGC is open and then closed.
- Changed "DATA LINK REGAINED" condition (use _datalink_last_heartbeat_gcs insthead of _datalink_lost)



Signed-off-by: Claudio Micheli <claudio@auterion.com>
2019-03-12 11:24:33 +01:00
baumanta d8bdc1b367 output a message if a previously lost connection is regained 2019-03-12 11:24:33 +01:00
baumanta a98f5d2ab2 suggestion for treating obstacle avoidance heartbeats 2019-03-12 11:24:33 +01:00
Daniel Agar 6dec451bab HEARTBEAT and commander failsafe handling cleanup 2019-03-12 11:24:33 +01:00
David Sidrane 477152a96d Commander:Support BOARD_INDICATE_ARMED_STATE for HW that supports external armed indiction 2019-02-26 15:34:10 -05:00
Daniel Agar 88fd8147fd commander auto disarm if kill switch engaged for 5 seconds
- closes #10133
2019-02-20 18:37:20 +01:00
Alessandro Simovic 6e5bd1ad70 commander: remove duplicate includes 2019-01-28 12:05:36 +01:00
Alessandro Simovic 5bcd7c0a0d Capitalizing/improving warning messages 2019-01-25 11:58:17 -05:00
Daniel Agar 60f2a92e3d replace <cfloat> with <float.h>
- <cfloat> isn't available in the NuttX c++ library
2019-01-06 19:20:57 -05:00
Daniel Agar 3cd3856d32 commander set home position timestamp properly 2018-12-27 10:52:01 -05:00
Julian Oes 0e04d3e9a9 commander: remove lying comment 2018-12-22 10:32:18 +01:00
Julian Oes 5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Beat Küng 447ed18ab4 commander: use C API for MC_AIRMODE & RC_MAP_ARM_SW to remove multirotor modules dependency 2018-12-13 09:50:07 +01:00
Beat Küng 24dc316973 commander: enforce yaw-airmode to have an arming switch mapped
Yaw airmode w/o arming switch is most likely not what you want and will
lead to surprising results.
2018-12-13 09:50:07 +01:00
Daniel Agar f851978101 commander run preflight immediately (#11018)
- partially addresses #11017
2018-12-12 09:24:50 -05:00
Matthias Grob 34fb52d8bd commander: add orbit state handling 2018-12-08 22:34:57 +01:00
Daniel Agar 48d9484ceb commander fix and enforce code style 2018-11-28 20:42:03 -05:00
Paul Riseborough 2c97054d40 commander notify user if EKF fails compass (#10919) 2018-11-28 13:12:35 -05:00
Daniel Agar d4f713b286 commander cleanup home position handling 2018-11-25 21:00:51 +00:00
David Sidrane 1d12827408 Commander:Replace color based LED manipulators with logical ones. 2018-11-19 14:32:47 -05:00
Mara Bos 10c20b38ad Fix many format strings.
Fixes these invalid format strings:
- A `%d` for a pointer (replaced it by `%p`)
- A 0x%08x (and a 0x%0x8!) for a pointer (replaced by %p)
- 2 cases of `%d` for a `ssize_t` (replaced it by `%zi`)
- 1 case of a %u for an `int` (replaced by %i)
- 3 cases of %d for a `long` (replaced by %ld)
- 19 cases of `%d`, `%i`, `%u` or `%lu` for a `size_t` (replaced it by `%zu`)
- An unused formatting argument (removed it)
- A missing `%d` (added it)
- A missing `%s` (added it)
- 2 cases of `%llu` for a `uint64_t` (replaced it by `"%" PRIu64`)
- 6 cases of giving a string directly as format string (replaced it by `("%s", string)`)
- 2 cases of %*-s, which should probably have been %-*s.
  (Looks like NuttX accepts (the invalid) %*-s, but other platforms don't.)
- A %04x for a `uint32_t` (replaced by "%04" PRIx32)
2018-10-27 12:44:51 +02:00
CarlOlsson 02a3528f24 commander: fix typo 2018-10-22 09:26:06 -04:00
Julian Oes d370a7c2b5 commander: remove unused HITL transition function
To my knowledge this hil transition function is not used anymore,
however, it makes sending the DO_SET_MODE command unnecessarily complex.
In my opinion the DO_SET_MODE command should only change the mode but
not other things like arming (already removed) and HITL state (this
commit).

Often times, I was seeing the error message "Set SYS_HITL to 1 and
reboot to enable HITL." when using QGC with a vehicle in HITL.

HITL is set via parameter which then has an impact in the startup script
where the CLI argument `-hil` is added to some of the commands that
require it (like commander as well).
2018-08-30 09:16:02 +02:00
Julian Oes f3e576b6f4 commander: remove set but unused HITL flag
This flag does not seem to be used anywhere.
2018-08-30 09:16:02 +02:00
Matthias Grob c87e124f13 commander: refactor COM_DISARM_LAND to param wrapper
after review comment request from @dagar. Thanks!
2018-08-30 08:05:13 +02:00
Matthias Grob 0c6bffb66a commander: make auto disarm timeout float
such that fractions of a second are configurable
2018-08-30 08:05:13 +02:00
Daniel Agar 715fad8bf1 commander send_vehicle_command don't ignore cmd argument
- #10359
2018-08-29 16:05:14 +02:00
bresch 9be0c97346 Failure Detector - use bitmask field instead of boolean in vehicle_status msg (failure_detector_status) and instead of struct in class 2018-08-28 11:23:25 -04:00
bresch 92b00ec07e Failure Detector - Do not trigger force_failsafe flag anymore 2018-08-28 11:23:25 -04:00
bresch 72f2317c95 Failure Detector - move "force_failsafe" flag inside circuit_breaker protection; remove PX4_WARN and send mavlink msg only once 2018-08-28 11:23:25 -04:00
bresch 9a6fef62ab Vehicle_Status_msg - Add attitude_failure flag to vehicle_status message 2018-08-28 11:23:25 -04:00
bresch c4c8e8d2db Failure Detector - Various cleanup and style changes.
- use pragma once guard in FailureDetector.hpp
- send Commander parent to ModuleParams and remove update_params() method
- simplify attitude checks
- FailureDetector::get_status() (previously named "get") is now a constant method that returns a constant reference
2018-08-28 11:23:25 -04:00