4#include <QtCore/QObject>
5#include <QtCore/QTimer>
65 void reset() { _missionItems.clear(); _requestListCounts.clear(); }
73 int requestListCount(MAV_MISSION_TYPE type)
const {
return _requestListCounts.value(type, 0); }
77 void _missionItemResponseTimeout();
85 void _requestNextMissionItem(
int sequenceNumber);
86 void _sendAck(MAV_MISSION_RESULT ackType)
const;
87 void _startMissionItemResponseTimer();
91 int _writeSequenceCount = 0;
92 int _writeSequenceIndex = 0;
94 typedef QMap<uint16_t, mavlink_mission_item_int_t> MissionItemList_t;
96 MAV_MISSION_TYPE _requestType = MAV_MISSION_TYPE_MISSION;
97 MissionItemList_t _missionItems;
98 MissionItemList_t _fenceItems;
99 MissionItemList_t _rallyItems;
101 QTimer _missionItemResponseTimer;
103 MAV_MISSION_RESULT _failureAckResult;
104 bool _sendHomePositionOnEmptyList =
false;
105 bool _failReadRequestListFirstResponse =
true;
106 bool _failReadRequest1FirstResponse =
true;
107 bool _failWriteMissionCountFirstResponse =
true;
108 QMap<MAV_MISSION_TYPE, int> _requestListCounts;
struct __mavlink_message mavlink_message_t
int requestListCount(MAV_MISSION_TYPE type) const
void sendUnexpectedMissionAck(MAV_MISSION_RESULT ackType)
Called to send a MISSION_ACK message while the MissionManager is in idle state.
void reset()
Reset the state of the MissionItemHandler to no items, no transactions in progress.
bool handleMavlinkMessage(const mavlink_message_t &msg)
void setFailureMode(FailureMode_t failureMode, MAV_MISSION_RESULT failureAckResult)
void clearRequestListCounts()
void setSendHomePositionOnEmptyList(bool sendHomePositionOnEmptyList)
void loadSimpleMultirotorMission()
void sendUnexpectedMissionRequest()
Called to send a MISSION_REQUEST message while the MissionManager is in idle state.
@ FailWriteFinalAckMissingRequests
@ FailWriteFinalAckNoResponse
@ FailWriteRequest1IncorrectSequence
@ FailWriteMissionCountFirstResponse
@ FailWriteRequest1ErrorAck
@ FailWriteRequest0ErrorAck
@ FailReadRequest1IncorrectSequence
@ FailReadRequest0IncorrectSequence
@ FailWriteMissionCountNoResponse
@ FailWriteRequest1NoResponse
@ FailReadRequest1ErrorAck
@ FailWriteFinalAckErrorAck
@ FailReadRequest0NoResponse
@ FailReadRequest1NoResponse
@ FailReadRequestListFirstResponse
@ FailReadRequest0ErrorAck
@ FailWriteRequest0IncorrectSequence
@ FailReadRequestListNoResponse
@ FailReadRequest1FirstResponse
void sendUnexpectedMissionItem()
Called to send a MISSION_ITEM message while the MissionManager is in idle state.
~MockLinkMissionItemHandler()