mirror of
https://github.com/azaion/autopilot.git
synced 2026-04-22 05:16:33 +00:00
38953d0ba6
TODO!! - send mission indexes from AzMissionController to AzDroneController - handle finishing of the mission
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
|
|
#include <mavsdk/mavsdk.h>
|
|
#include <mavsdk/plugins/mission_raw/mission_raw.h>
|
|
#include <mavsdk/plugins/telemetry/telemetry.h>
|
|
|
|
#include "az_mission.h"
|
|
|
|
using namespace mavsdk;
|
|
|
|
class AzMissionController : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit AzMissionController(System &system, AzMission &mission, QObject *parent = nullptr);
|
|
bool startMission();
|
|
void stopMission(void);
|
|
bool uploadMission(void);
|
|
|
|
private:
|
|
MissionRaw::MissionItem makeRawMissionItem(float latitudeDeg1e7,
|
|
float longitudeDeg1e7,
|
|
int32_t altitude,
|
|
float doPhoto,
|
|
MAV_FRAME frame,
|
|
MAV_CMD command,
|
|
float p2 = 0,
|
|
float p3 = 0);
|
|
|
|
public slots:
|
|
void newPosition(Telemetry::Position position);
|
|
|
|
signals:
|
|
void missionProgressChanged(int currentIndex, int totalIndexes);
|
|
void finished(void);
|
|
|
|
private:
|
|
AzMission &mAzMission;
|
|
int mCurrentMissionIndex;
|
|
bool mMissionStarted;
|
|
int mMissionItemSeqNum;
|
|
MissionRaw *mMissionRaw;
|
|
System &mSystem;
|
|
};
|