3#include <QtCore/QLoggingCategory>
5#include <QtCore/QObject>
6#include <QtCore/QTimer>
56 void setFailureMode(FailureMode_t failureMode, MAV_MISSION_RESULT failureAckResult);
68 void reset() { _missionItems.clear(); }
73 void _missionItemResponseTimeout();
81 void _requestNextMissionItem(
int sequenceNumber);
82 void _sendAck(MAV_MISSION_RESULT ackType)
const;
83 void _startMissionItemResponseTimer();
87 int _writeSequenceCount = 0;
88 int _writeSequenceIndex = 0;
90 typedef QMap<uint16_t, mavlink_mission_item_int_t> MissionItemList_t;
92 MAV_MISSION_TYPE _requestType = MAV_MISSION_TYPE_MISSION;
93 MissionItemList_t _missionItems;
94 MissionItemList_t _fenceItems;
95 MissionItemList_t _rallyItems;
97 QTimer _missionItemResponseTimer;
98 FailureMode_t _failureMode = FailNone;
99 MAV_MISSION_RESULT _failureAckResult;
100 bool _sendHomePositionOnEmptyList =
false;
101 bool _failReadRequestListFirstResponse =
true;
102 bool _failReadRequest1FirstResponse =
true;
103 bool _failWriteMissionCountFirstResponse =
true;
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
struct __mavlink_message mavlink_message_t
void reset()
Reset the state of the MissionItemHandler to no items, no transactions in progress.
void setSendHomePositionOnEmptyList(bool sendHomePositionOnEmptyList)
@ FailWriteFinalAckMissingRequests
@ FailWriteFinalAckNoResponse
@ FailWriteRequest1IncorrectSequence
@ FailWriteMissionCountFirstResponse
@ FailWriteRequest1ErrorAck
@ FailWriteRequest0ErrorAck
@ FailReadRequest1IncorrectSequence
@ FailReadRequest0IncorrectSequence
@ FailWriteMissionCountNoResponse
@ FailWriteRequest1NoResponse
@ FailReadRequest1ErrorAck
@ FailWriteFinalAckErrorAck
@ FailReadRequest0NoResponse
@ FailReadRequest1NoResponse
@ FailReadRequestListFirstResponse
@ FailReadRequest0ErrorAck
@ FailWriteRequest0IncorrectSequence
@ FailReadRequestListNoResponse
@ FailReadRequest1FirstResponse
void sendUnexpectedMissionAck(MAV_MISSION_RESULT ackType) const
Called to send a MISSION_ACK message while the MissionManager is in idle state.
void sendUnexpectedMissionRequest() const
Called to send a MISSION_REQUEST message while the MissionManager is in idle state.
void sendUnexpectedMissionItem() const
Called to send a MISSION_ITEM message while the MissionManager is in idle state.