mirror of
https://github.com/azaion/autopilot.git
synced 2026-04-22 20:36:34 +00:00
Use raw missions in AutoPilot
- uses MAVSDK::MissionRaw objects for missions - added new state AZ_DRONE_STATE_MISSION_UPLOADED - new state is used in AzDroneControllerPlane before waiting for AUTO switch TODO!! - move to AzMissionController - use JSON file instead of hard coded mission items
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <mavsdk/mavsdk.h>
|
||||
#include <mavsdk/plugins/action/action.h>
|
||||
#include <mavsdk/plugins/mission_raw/mission_raw.h>
|
||||
#include <mavsdk/plugins/telemetry/telemetry.h>
|
||||
|
||||
#include "az_mission.h"
|
||||
@@ -19,6 +20,7 @@ typedef enum {
|
||||
AZ_DRONE_STATE_GOT_TELEMETRY_MODULE,
|
||||
AZ_DRONE_STATE_GOT_ACTION_MODULE,
|
||||
AZ_DRONE_STATE_HEALTH_OK,
|
||||
AZ_DRONE_STATE_MISSION_UPLOADED,
|
||||
AZ_DRONE_STATE_ARMED,
|
||||
AZ_DRONE_STATE_TAKE_OFF,
|
||||
AZ_DRONE_STATE_AUTO_MODE_ACTIVATED,
|
||||
@@ -44,8 +46,18 @@ protected:
|
||||
bool stateGetActionModule(void);
|
||||
bool stateHealthOk(void);
|
||||
bool stateArm(void);
|
||||
bool stateUploadMission(void);
|
||||
bool stateTakeoff(void);
|
||||
bool stateFlyMission(void);
|
||||
void setRawMission(void);
|
||||
MissionRaw::MissionItem makeRawMissionItem(float latitude_deg1e7,
|
||||
float longitude_deg1e7,
|
||||
int32_t altitude_m,
|
||||
float do_photo,
|
||||
MAV_FRAME frame,
|
||||
MAV_CMD command,
|
||||
float p2 = 0,
|
||||
float p3 = 0);
|
||||
|
||||
// Slots that are called by the emitted Qt signals.
|
||||
protected slots:
|
||||
@@ -93,7 +105,10 @@ protected:
|
||||
shared_ptr<System> mSystem;
|
||||
Telemetry *mTelemetry;
|
||||
Action *mAction;
|
||||
MissionRaw *mMissionRaw;
|
||||
Telemetry::Position mFirstPosition;
|
||||
Telemetry::Position mCurrentPosition;
|
||||
AzMissionController *mMissionController;
|
||||
bool isCopterType;
|
||||
int mMissionItemSeqNum;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user