Browse Source

mavlink mission: set mission_type in mavlink_mission_count_t message

sbg
Beat Küng 8 years ago committed by Lorenz Meier
parent
commit
32491626b6
  1. 12
      src/modules/mavlink/mavlink_mission.cpp
  2. 2
      src/modules/mavlink/mavlink_mission.h
  3. 7
      src/modules/navigator/geofence.h

12
src/modules/mavlink/mavlink_mission.cpp

@ -294,7 +294,7 @@ MavlinkMissionManager::send_mission_current(uint16_t seq) @@ -294,7 +294,7 @@ MavlinkMissionManager::send_mission_current(uint16_t seq)
void
MavlinkMissionManager::send_mission_count(uint8_t sysid, uint8_t compid, uint16_t count)
MavlinkMissionManager::send_mission_count(uint8_t sysid, uint8_t compid, uint16_t count, MAV_MISSION_TYPE mission_type)
{
_time_last_sent = hrt_absolute_time();
@ -303,6 +303,7 @@ MavlinkMissionManager::send_mission_count(uint8_t sysid, uint8_t compid, uint16_ @@ -303,6 +303,7 @@ MavlinkMissionManager::send_mission_count(uint8_t sysid, uint8_t compid, uint16_
wpc.target_system = sysid;
wpc.target_component = compid;
wpc.count = count;
wpc.mission_type = mission_type;
mavlink_msg_mission_count_send_struct(_mavlink->get_channel(), &wpc);
@ -529,9 +530,7 @@ MavlinkMissionManager::send(const hrt_abstime now) @@ -529,9 +530,7 @@ MavlinkMissionManager::send(const hrt_abstime now)
&& hrt_elapsed_time(&_time_last_sent) > _retry_timeout) {
if (_transfer_seq == 0) {
/* try to send items count again after timeout */
if (_verbose) { warnx("WPM: send count timeout"); }
send_mission_count(_transfer_partner_sysid, _transfer_partner_compid, _transfer_count);
send_mission_count(_transfer_partner_sysid, _transfer_partner_compid, _transfer_count, _mission_type);
} else {
/* try to send item again after timeout */
@ -741,7 +740,7 @@ MavlinkMissionManager::handle_mission_request_list(const mavlink_message_t *msg) @@ -741,7 +740,7 @@ MavlinkMissionManager::handle_mission_request_list(const mavlink_message_t *msg)
if (_verbose) { warnx("WPM: MISSION_REQUEST_LIST OK nothing to send, mission is empty"); }
}
send_mission_count(msg->sysid, msg->compid, _transfer_count);
send_mission_count(msg->sysid, msg->compid, _transfer_count, _mission_type);
} else {
if (_verbose) { warnx("WPM: MISSION_REQUEST_LIST ERROR: busy"); }
@ -1541,6 +1540,7 @@ void MavlinkMissionManager::check_active_mission() @@ -1541,6 +1540,7 @@ void MavlinkMissionManager::check_active_mission()
if (_verbose) { warnx("WPM: New mission detected (possibly over different Mavlink instance) Updating"); }
_my_dataman_id = _dataman_id;
send_mission_count(_transfer_partner_sysid, _transfer_partner_compid, _count[(uint8_t)MAV_MISSION_TYPE_MISSION]);
send_mission_count(_transfer_partner_sysid, _transfer_partner_compid, _count[(uint8_t)MAV_MISSION_TYPE_MISSION],
MAV_MISSION_TYPE_MISSION);
}
}

2
src/modules/mavlink/mavlink_mission.h

@ -185,7 +185,7 @@ private: @@ -185,7 +185,7 @@ private:
*/
void send_mission_current(uint16_t seq);
void send_mission_count(uint8_t sysid, uint8_t compid, uint16_t count);
void send_mission_count(uint8_t sysid, uint8_t compid, uint16_t count, MAV_MISSION_TYPE mission_type);
void send_mission_item(uint8_t sysid, uint8_t compid, uint16_t seq);

7
src/modules/navigator/geofence.h

@ -43,10 +43,6 @@ @@ -43,10 +43,6 @@
#include <cfloat>
#include <uORB/topics/vehicle_global_position.h>
#include <uORB/topics/vehicle_gps_position.h>
#include <uORB/topics/sensor_combined.h>
#include <uORB/topics/home_position.h>
#include <controllib/blocks.hpp>
#include <controllib/block/BlockParam.hpp>
#include <controllib/blocks.hpp>
@ -142,9 +138,6 @@ public: @@ -142,9 +138,6 @@ public:
private:
Navigator *_navigator{nullptr};
home_position_s _home_pos{0};
bool _home_pos_set{false};
hrt_abstime _last_horizontal_range_warning{0};
hrt_abstime _last_vertical_range_warning{0};

Loading…
Cancel
Save