|
|
|
@ -100,7 +100,7 @@ using matrix::wrap_2pi;
@@ -100,7 +100,7 @@ using matrix::wrap_2pi;
|
|
|
|
|
|
|
|
|
|
MavlinkReceiver::MavlinkReceiver(Mavlink *parent) : |
|
|
|
|
_mavlink(parent), |
|
|
|
|
_mission_manager(nullptr), |
|
|
|
|
_mission_manager(parent), |
|
|
|
|
_parameters_manager(parent), |
|
|
|
|
_mavlink_ftp(parent), |
|
|
|
|
_mavlink_log_handler(parent), |
|
|
|
@ -163,20 +163,12 @@ MavlinkReceiver::MavlinkReceiver(Mavlink *parent) :
@@ -163,20 +163,12 @@ 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) |
|
|
|
@ -2582,9 +2574,8 @@ MavlinkReceiver::receive_thread(void *arg)
@@ -2582,9 +2574,8 @@ MavlinkReceiver::receive_thread(void *arg)
|
|
|
|
|
handle_message(&msg); |
|
|
|
|
|
|
|
|
|
/* handle packet with mission manager */ |
|
|
|
|
if (_mission_manager != nullptr) { |
|
|
|
|
_mission_manager->handle_message(&msg); |
|
|
|
|
} |
|
|
|
|
_mission_manager.handle_message(&msg); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* handle packet with parameter component */ |
|
|
|
|
_parameters_manager.handle_message(&msg); |
|
|
|
@ -2615,10 +2606,8 @@ MavlinkReceiver::receive_thread(void *arg)
@@ -2615,10 +2606,8 @@ MavlinkReceiver::receive_thread(void *arg)
|
|
|
|
|
hrt_abstime t = hrt_absolute_time(); |
|
|
|
|
|
|
|
|
|
if (t - last_send_update > timeout * 1000) { |
|
|
|
|
if (_mission_manager != nullptr) { |
|
|
|
|
_mission_manager->check_active_mission(); |
|
|
|
|
_mission_manager->send(t); |
|
|
|
|
} |
|
|
|
|
_mission_manager.check_active_mission(); |
|
|
|
|
_mission_manager.send(t); |
|
|
|
|
|
|
|
|
|
_parameters_manager.send(t); |
|
|
|
|
|
|
|
|
|