mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-16 19:43:34 +08:00
MavlinkReceiver: Don't start MissionManager in IRIDIUM mode
This commit is contained in:
@@ -479,11 +479,6 @@ MavlinkMissionManager::send_mission_item_reached(uint16_t seq)
|
||||
void
|
||||
MavlinkMissionManager::send(const hrt_abstime now)
|
||||
{
|
||||
// do not send anything over high latency communication
|
||||
if (_mavlink->get_mode() == Mavlink::MAVLINK_MODE_IRIDIUM) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool updated = false;
|
||||
orb_check(_mission_result_sub, &updated);
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ static const float mg2ms2 = CONSTANTS_ONE_G / 1000.0f;
|
||||
|
||||
MavlinkReceiver::MavlinkReceiver(Mavlink *parent) :
|
||||
_mavlink(parent),
|
||||
_mission_manager(parent),
|
||||
_mission_manager(nullptr),
|
||||
_parameters_manager(parent),
|
||||
_mavlink_ftp(parent),
|
||||
_mavlink_log_handler(parent),
|
||||
@@ -158,12 +158,20 @@ MavlinkReceiver::MavlinkReceiver(Mavlink *parent) :
|
||||
_p_bat_crit_thr(param_find("BAT_CRIT_THR")),
|
||||
_p_bat_low_thr(param_find("BAT_LOW_THR"))
|
||||
{
|
||||
if (_mavlink->get_mode() != Mavlink::MAVLINK_MODE_IRIDIUM) {
|
||||
_mission_manager = new MavlinkMissionManager(parent);
|
||||
}
|
||||
}
|
||||
|
||||
MavlinkReceiver::~MavlinkReceiver()
|
||||
{
|
||||
orb_unsubscribe(_control_mode_sub);
|
||||
orb_unsubscribe(_actuator_armed_sub);
|
||||
|
||||
if (_mission_manager != nullptr) {
|
||||
delete _mission_manager;
|
||||
_mission_manager = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void MavlinkReceiver::acknowledge(uint8_t sysid, uint8_t compid, uint16_t command, uint8_t result)
|
||||
@@ -2527,7 +2535,9 @@ MavlinkReceiver::receive_thread(void *arg)
|
||||
handle_message(&msg);
|
||||
|
||||
/* handle packet with mission manager */
|
||||
_mission_manager.handle_message(&msg);
|
||||
if (_mission_manager != nullptr) {
|
||||
_mission_manager->handle_message(&msg);
|
||||
}
|
||||
|
||||
/* handle packet with parameter component */
|
||||
_parameters_manager.handle_message(&msg);
|
||||
@@ -2555,8 +2565,11 @@ MavlinkReceiver::receive_thread(void *arg)
|
||||
hrt_abstime t = hrt_absolute_time();
|
||||
|
||||
if (t - last_send_update > timeout * 1000) {
|
||||
_mission_manager.check_active_mission();
|
||||
_mission_manager.send(t);
|
||||
if (_mission_manager != nullptr) {
|
||||
_mission_manager->check_active_mission();
|
||||
_mission_manager->send(t);
|
||||
}
|
||||
|
||||
_parameters_manager.send(t);
|
||||
|
||||
if (_mavlink->ftp_enabled()) {
|
||||
|
||||
@@ -205,7 +205,7 @@ private:
|
||||
|
||||
Mavlink *_mavlink;
|
||||
|
||||
MavlinkMissionManager _mission_manager;
|
||||
MavlinkMissionManager *_mission_manager;
|
||||
MavlinkParametersManager _parameters_manager;
|
||||
MavlinkFTP _mavlink_ftp;
|
||||
MavlinkLogHandler _mavlink_log_handler;
|
||||
|
||||
Reference in New Issue
Block a user