Commit Graph

1046 Commits

Author SHA1 Message Date
Daniel Agar cf74166801 double promotion warning fix or ignore per module 2018-07-01 09:36:55 +00:00
Beat Küng bf1c11a33c commander: move comment to the right place
It's now the same way as in the ARM logic further down.
2018-06-27 10:41:21 +02:00
Beat Küng 02fc68a53e commander arming: disable stick (dis-)arming when arming switch/button is used
A reason for using switch arming in the first place is that you cannot
accidentally disarm in-air with the sticks during acrobatic flights.

It also adds a low-throttle arming requirement for switch arming.
2018-06-27 10:41:21 +02:00
Beat Küng db2b010630 commander arming: add a grace period of 5 seconds to allow re-arming w/o preflight checks
This changes the arming logic such that the preflight checks don't need
to be satisfied if arming happens < 5 seconds after the last disarming.
This allows to recover from accidental in-air disarming.
2018-06-27 10:41:21 +02:00
Beat Küng 469b5f98e2 commander Preflight::preflightCheck: transition condition_system_sensors_initialized only to true
- this matches the logic in arming_state_transition()
- if Commander::preflight_check was run in armed state and the checks
  failed, disarming was not possible anymore
  (because disarming checks for condition_system_sensors_initialized).
  That is currently not the case, but the existing logic is way too fragile.

Alternative solution: check if armed in Preflight::preflightCheck, and
only transition to false if disarmed (but also respect the re-arming
grace period).
2018-06-27 10:41:21 +02:00
Daniel Agar 387bc81f26 move systemlib/circuit_breaker.cpp to standalone lib 2018-06-12 09:06:30 +02:00
Daniel Agar 3399ec9e73 move systemlib/rc_check to commander (the only usage) and convert to c++ 2018-06-11 22:53:38 +02:00
Paul Riseborough 9fb674929c commander: do not check global position when using flow in POSCTL 2018-06-09 13:38:04 +02:00
Paul Riseborough 98597dcffc commander: allow position uncertainty to grow when operator can correct for drift 2018-06-09 13:38:04 +02:00
Philipp Oettershagen 302cb0a285 Subsystem_info status flags & checks: Moved the set_health_flags helper functions out of the /lib/ folder and into the module/commander folder because they are actually only needed there 2018-06-06 18:54:24 +02:00
Philipp Oettershagen e4d863b95f Subsystem_info status flags & checks: Separate the functionality to a) set the health flags inside commander and b) to publish them from external modules 2018-06-06 18:54:24 +02:00
Philipp Oettershagen 075009be2f Subsystem_info status flags & checks: 1) Set health flags in commander directly instead of publishing via uORB 2) move publish_subsystem_info into lib/ folder" 2018-06-06 18:54:24 +02:00
Philipp Oettershagen f5847a4a7b Subsystem_info status flags & checks: Switch back to uORB for inter-process communication, handle GPS checks completely inside ekf2, add distance_sensor checks 2018-06-06 18:54:24 +02:00
Philipp Oettershagen 6f1f414b49 Subsystem_info status flags & checks : Initial commit, updating the health flags in a centralized way mostly in commander and the votedSensorsUpdate function. 2018-06-06 18:54:24 +02:00
Alessandro Simovic 15a44a059d addressing review comments from #9563 2018-06-02 08:36:35 +02:00
Alessandro Simovic 52c290e234 commander: moved emergency shutdown to end of cycle 2018-06-02 08:36:35 +02:00
acfloria 57162ff08d Improve high latency switching and acknowledge
- Move publishing the telemetry status from the IridiumSBD driver to the mavlink instance
- In the commander use the iridiumsbd_status message for heartbeat in case of a high latency link
- Move positive acknowledge to the mavlink instance
- Add a failed acknowledge in the commander if no high latency link exists
2018-05-27 12:11:35 -04:00
acfloria 12f6affdfa Commander: Avoid sending ack for VEHICLE_CMD_CONTROL_HIGH_LATENCY if from_external is false 2018-05-27 12:11:35 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Daniel Agar fbbe1f5288 commander use new time literals 2018-04-24 00:02:48 -04:00
Daniel Agar 89ad46dd15 commander delete unused DIFFPRESS_TIMEOUT 2018-04-24 00:02:48 -04:00
Daniel Agar cd69a573b5 commander restore MC nav failure latch 2018-04-24 00:02:48 -04:00
Daniel Agar fc26fd99bd commander move remaining position failsafe params to class and cleanup 2018-04-24 00:02:48 -04:00
Daniel Agar fa9f400dbd commander update super block parameters 2018-04-24 00:02:48 -04:00
Daniel Agar b70e7433dc commander add parameters for eph, epv, evh requirements 2018-04-24 00:02:48 -04:00
Daniel Agar 7bc3a12efe commander move telemetry checks to new preflightcheck helper 2018-04-16 20:43:33 -04:00
Daniel Agar 2271b3f127 commander preflight checks pass status and status_flags messages 2018-04-16 20:43:33 -04:00
Daniel Agar 55596fad20 commander move safety check to prearm 2018-04-16 20:43:33 -04:00
Daniel Agar 729c98d9e2 commander move avionics rail voltage check out of state machine
- add preflight_check helper
2018-04-16 20:43:33 -04:00
Daniel Agar 8931f1a75c commander set status_flags.usb_connected directly and delete static 2018-04-16 20:43:33 -04:00
Daniel Agar 8f543d300d commander COMPONENT_ARM_DISARM remove useless arm error 2018-04-16 20:43:33 -04:00
Daniel Agar bb13b602e2 commander arming_state_transition cleanup preflight and prearm calls
- only call prearm if preflight passes
 - prearm always provide feedback
2018-04-16 20:43:33 -04:00
Daniel Agar 208e320975 commander prearm_check is always prearm 2018-04-16 20:43:33 -04:00
Daniel Agar e5d9c826d8 commander state machine fix preflight and prearm error
-  fixes #9155
2018-04-16 20:43:33 -04:00
Simone Guscetti 8a7dc1b320 commander: Remove usb_ connected flag on battery warnings
Battery warning gets only fired if a battery is inserted.
2018-04-16 14:33:43 -04:00
Oleg Kalachev 1b1617b5a0 Add new mode AUTO_PRECLAND 2018-04-11 14:50:07 -04:00
Beat Küng f02ef20a23 commander: set timestamp for vehicle_command publication 2018-04-11 15:19:47 +02:00
acfloria ae807fc189 Move VEHICLE_CMD_CONTROL_HIGH_LATENCY ack to commander 2018-04-11 15:15:28 +02:00
acfloria 219980cec1 Commander: Combine telemetry variables into struct 2018-04-11 15:15:28 +02:00
acfloria b95d65df53 Commander: Fix bug when changing to high latency telemetry
Due to the old heartbeat of the high latency telemetry when activating it after flying sufficiently long in normal telemetry it is first detected as lost until the first message is sent.
By updating the heartbeat to the current time on switching this issue is avoided.

Also includes a small style fix for the HIGH_LATENCY2 stream
2018-04-11 15:15:28 +02:00
acfloria 1124a397f2 Commander: Move telemetry logic to separate functions 2018-04-11 15:15:28 +02:00
acfloria 443a4016af Commander: Improve handling and generating of VEHICLE_CMD_CONTROL_HIGH_LATENCY 2018-04-11 15:15:28 +02:00
acfloria 17a157b9da Adopt high latency switching to new MAV_CMD design 2018-04-11 15:15:28 +02:00
acfloria a026575e37 commander: Fix for qurt and improve high latency switch logic 2018-04-11 15:15:28 +02:00
acfloria 1cc84ad8c9 Remove magic numbers from commander.cpp and style fixes 2018-04-11 15:15:28 +02:00
acfloria 1223a9abd5 Commander: High latency telem fallback only in non-manual mode 2018-04-11 15:15:28 +02:00
acfloria 634697946a Add switch logic for high latency telemetry in commander
Switch to the high latency telemetry, if available, if every low latency link is lost. Switch back if any low latency link is regained. Only indicate that all links are lost if all high and low latency links are lost. Allow different timeouts for high and low latency links.
2018-04-11 15:15:28 +02:00
Beat Küng f1f72c70e0 commander: immediately publish kill switch state change 2018-04-06 11:29:49 +02:00
dw.xiong 381c2b52ac commander: Remove the ekf pre-flight check variables that are not used in commander. (#9226) 2018-04-02 10:52:32 -04:00
Daniel Agar f0528d28fb commander once armed safety should only request ARMING_STATE_STANDBY 2018-03-29 10:25:56 -04:00