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
This commit is contained in:
acfloria
2018-05-27 12:11:35 -04:00
committed by Daniel Agar
parent 30fc8cd608
commit 57162ff08d
6 changed files with 83 additions and 85 deletions
+2 -3
View File
@@ -45,6 +45,7 @@
#include <uORB/Publication.hpp>
#include <uORB/topics/actuator_armed.h>
#include <uORB/topics/home_position.h>
#include <uORB/topics/iridiumsbd_status.h>
#include <uORB/topics/vehicle_command_ack.h>
#include <uORB/topics/vehicle_control_mode.h>
#include <uORB/topics/vehicle_status.h>
@@ -168,13 +169,11 @@ private:
bool high_latency = false;
} _telemetry[ORB_MULTI_MAX_INSTANCES];
// publisher
orb_advert_t _vehicle_cmd_pub = nullptr;
// Subscriptions
Subscription<mission_result_s> _mission_result_sub;
Subscription<vehicle_global_position_s> _global_position_sub;
Subscription<vehicle_local_position_s> _local_position_sub;
Subscription<iridiumsbd_status_s> _iridiumsbd_status_sub;
};
#endif /* COMMANDER_HPP_ */