Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
570fbc03
Commit
570fbc03
authored
Jul 24, 2020
by
Valentin Platzgummer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code not passing assertions
parent
0a9d836e
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
6039 additions
and
739 deletions
+6039
-739
ErrorShortestPath.wima
Paths/ErrorShortestPath.wima
+5554
-0
FlightDisplayWimaMenu.qml
src/FlightDisplay/FlightDisplayWimaMenu.qml
+0
-6
MissionController.cc
src/MissionManager/MissionController.cc
+1
-1
MissionController.h
src/MissionManager/MissionController.h
+1
-1
PolygonCalculus.cc
src/Wima/Geometry/PolygonCalculus.cc
+1
-1
DefaultManager.cpp
src/Wima/WaypointManager/DefaultManager.cpp
+109
-56
DefaultManager.h
src/Wima/WaypointManager/DefaultManager.h
+11
-3
GenericWaypointManager.h
src/Wima/WaypointManager/GenericWaypointManager.h
+63
-9
Settings.cpp
src/Wima/WaypointManager/Settings.cpp
+41
-4
Settings.h
src/Wima/WaypointManager/Settings.h
+17
-8
Slicer.h
src/Wima/WaypointManager/Slicer.h
+4
-4
Utils.cpp
src/Wima/WaypointManager/Utils.cpp
+4
-2
Utils.h
src/Wima/WaypointManager/Utils.h
+1
-1
WimaController.cc
src/Wima/WimaController.cc
+200
-615
WimaController.h
src/Wima/WimaController.h
+32
-28
No files found.
Paths/ErrorShortestPath.wima
0 → 100644
View file @
570fbc03
This diff is collapsed.
Click to expand it.
src/FlightDisplay/FlightDisplayWimaMenu.qml
View file @
570fbc03
...
...
@@ -301,12 +301,6 @@ Item {
Layout.fillWidth
:
true
}
FactCheckBox
{
text
:
qsTr
(
"
Invert Phase
"
)
fact
:
wimaController
.
reverse
Layout.fillWidth
:
true
}
}
SectionHeader
{
...
...
src/MissionManager/MissionController.cc
View file @
570fbc03
...
...
@@ -485,7 +485,7 @@ int MissionController::insertSimpleMissionItem(const MissionItem &missionItem, i
return
newItem
->
sequenceNumber
();
}
int
MissionController
::
insertSimpleMissionItem
(
SimpleMissionItem
&
missionItem
,
int
i
)
int
MissionController
::
insertSimpleMissionItem
(
const
SimpleMissionItem
&
missionItem
,
int
i
)
{
int
sequenceNumber
=
_nextSequenceNumber
();
SimpleMissionItem
*
newItem
=
new
SimpleMissionItem
(
missionItem
,
_flyView
,
this
);
...
...
src/MissionManager/MissionController.h
View file @
570fbc03
...
...
@@ -124,7 +124,7 @@ public:
/// Add a new simple mission item to the list
/// @param i: index to insert at
/// @return Sequence number for new item
int
insertSimpleMissionItem
(
SimpleMissionItem
&
missionItem
,
int
i
);
int
insertSimpleMissionItem
(
const
SimpleMissionItem
&
missionItem
,
int
i
);
/// Add a new ROI mission item to the list
/// @param i: index to insert at
...
...
src/Wima/Geometry/PolygonCalculus.cc
View file @
570fbc03
...
...
@@ -479,7 +479,7 @@ namespace PolygonCalculus {
{
using
namespace
PlanimetryCalculus
;
QPolygonF
bigPolygon
(
polygon
);
offsetPolygon
(
bigPolygon
,
0.
1
);
// solves numerical errors
offsetPolygon
(
bigPolygon
,
0.
5
);
// solves numerical errors
if
(
bigPolygon
.
containsPoint
(
startVertex
,
Qt
::
FillRule
::
OddEvenFill
)
&&
bigPolygon
.
containsPoint
(
endVertex
,
Qt
::
FillRule
::
OddEvenFill
))
{
...
...
src/Wima/WaypointManager/DefaultManager.cpp
View file @
570fbc03
This diff is collapsed.
Click to expand it.
src/Wima/WaypointManager/DefaultManager.h
View file @
570fbc03
...
...
@@ -20,8 +20,10 @@ class DefaultManager : public ManagerBase
{
public:
DefaultManager
()
=
delete
;
DefaultManager
(
Settings
*
settings
,
AreaInterface
*
interface
);
DefaultManager
(
Settings
&
settings
,
AreaInterface
&
interface
);
void
clear
()
override
;
virtual
bool
update
()
override
;
...
...
@@ -30,7 +32,13 @@ public:
virtual
bool
reset
()
override
;
protected:
bool
_insertMissionItem
(
size_t
index
,
const
QGeoCoordinate
&
c
,
bool
doUpdate
);
bool
_insertMissionItem
(
const
QGeoCoordinate
&
c
,
size_t
index
,
QmlObjectListModel
&
list
,
bool
doUpdate
);
bool
_insertMissionItem
(
const
QGeoCoordinate
&
c
,
size_t
index
,
bool
doUpdate
);
bool
_calcShortestPath
(
const
QGeoCoordinate
&
start
,
const
QGeoCoordinate
&
destination
,
QVector
<
QGeoCoordinate
>
&
path
);
...
...
src/Wima/WaypointManager/GenericWaypointManager.h
View file @
570fbc03
...
...
@@ -16,21 +16,25 @@ public:
typedef
ContainerType
<
WaypointType
>
WaypointList
;
GenericWaypointManager
()
=
delete
;
GenericWaypointManager
(
SettingsType
*
settings
);
GenericWaypointManager
(
SettingsType
&
settings
);
// Waypoint editing.
void
setWaypoints
(
const
WaypointList
&
waypoints
);
void
push_back
(
const
WaypointType
&
wp
);
void
push_front
(
const
WaypointType
&
wp
);
v
oid
clear
();
v
irtual
void
clear
();
void
insert
(
std
::
size_t
i
,
const
WaypointType
&
wp
);
std
::
size_t
size
()
const
;
WaypointType
&
at
(
std
::
size_t
i
);
const
WaypointList
&
waypoints
()
const
;
const
WaypointList
&
slice
()
const
;
const
WaypointList
&
currentWaypoints
()
const
;
const
MissionItemList
&
missionItems
()
const
;
const
MissionItemList
&
currentMissionItems
()
const
;
const
QVariantList
&
waypointsVariant
()
const
;
const
QVariantList
&
currentWaypointsVariant
()
const
;
virtual
bool
update
()
=
0
;
virtual
bool
next
()
=
0
;
...
...
@@ -39,9 +43,13 @@ public:
protected:
WaypointList
_waypoints
;
WaypointList
_slice
;
WaypointList
_currentWaypoints
;
MissionItemList
_currentMissionItems
;
MissionItemList
_missionItems
;
SettingsType
*
_settings
;
bool
_dirty
;
QVariantList
_waypointsVariant
;
QVariantList
_currentWaypointsVariant
;
};
...
...
@@ -52,9 +60,10 @@ template<class WaypointType,
GenericWaypointManager
<
WaypointType
,
ContainerType
,
MissionItemList
,
SettingsType
>::
GenericWaypointManager
(
SettingsType
*
Settings
)
:
_settings
(
_settings
)
SettingsType
>::
GenericWaypointManager
(
SettingsType
&
settings
)
:
Slicer
()
,
_settings
(
&
settings
)
,
_dirty
(
true
)
{}
template
<
class
WaypointType
,
...
...
@@ -66,6 +75,7 @@ void GenericWaypointManager<WaypointType,
MissionItemList
,
SettingsType
>::
push_back
(
const
WaypointType
&
wp
)
{
_dirty
=
true
;
_waypoints
.
push_back
(
wp
);
}
...
...
@@ -79,6 +89,7 @@ void GenericWaypointManager<WaypointType,
SettingsType
>::
push_front
(
const
WaypointType
&
wp
)
{
_dirty
=
true
;
_waypoints
.
push_front
(
wp
);
}
...
...
@@ -91,7 +102,13 @@ void GenericWaypointManager<WaypointType,
MissionItemList
,
SettingsType
>::
clear
()
{
_dirty
=
true
;
_waypoints
.
clear
();
_currentWaypoints
.
clear
();
_missionItems
.
clear
();
_currentMissionItems
.
clear
();
_waypointsVariant
.
clear
();
_currentWaypointsVariant
.
clear
();
}
template
<
class
WaypointType
,
...
...
@@ -104,6 +121,7 @@ void GenericWaypointManager<WaypointType,
SettingsType
>::
insert
(
std
::
size_t
i
,
const
WaypointType
&
wp
)
{
_dirty
=
true
;
_waypoints
.
insert
(
i
,
wp
);
}
...
...
@@ -131,6 +149,30 @@ WaypointType & GenericWaypointManager<WaypointType,
return
_waypoints
.
at
(
i
);
}
template
<
class
WaypointType
,
template
<
class
,
class
...
>
class
ContainerType
,
class
MissionItemList
,
class
SettingsType
>
const
QVariantList
&
GenericWaypointManager
<
WaypointType
,
ContainerType
,
MissionItemList
,
SettingsType
>::
waypointsVariant
()
const
{
return
_waypointsVariant
;
}
template
<
class
WaypointType
,
template
<
class
,
class
...
>
class
ContainerType
,
class
MissionItemList
,
class
SettingsType
>
const
QVariantList
&
GenericWaypointManager
<
WaypointType
,
ContainerType
,
MissionItemList
,
SettingsType
>::
currentWaypointsVariant
()
const
{
return
_currentWaypointsVariant
;
}
template
<
class
WaypointType
,
template
<
class
,
class
...
>
class
ContainerType
,
class
MissionItemList
,
...
...
@@ -150,9 +192,9 @@ template<class WaypointType,
const
ContainerType
<
WaypointType
>
&
GenericWaypointManager
<
WaypointType
,
ContainerType
,
MissionItemList
,
SettingsType
>::
slice
()
const
SettingsType
>::
currentWaypoints
()
const
{
return
_
slice
;
return
_
currentWaypoints
;
}
template
<
class
WaypointType
,
...
...
@@ -167,6 +209,18 @@ const MissionItemList &GenericWaypointManager<WaypointType,
return
_missionItems
;
}
template
<
class
WaypointType
,
template
<
class
,
class
...
>
class
ContainerType
,
class
MissionItemList
,
class
SettingsType
>
const
MissionItemList
&
GenericWaypointManager
<
WaypointType
,
ContainerType
,
MissionItemList
,
SettingsType
>::
currentMissionItems
()
const
{
return
_currentMissionItems
;
}
template
<
class
WaypointType
,
template
<
class
,
class
...
>
class
ContainerType
,
class
MissionItemList
,
...
...
src/Wima/WaypointManager/Settings.cpp
View file @
570fbc03
#include "Settings.h"
void
WaypointManager
::
Settings
::
setHomePosition
(
QGeoCoordinate
&
c
)
WaypointManager
::
Settings
::
Settings
()
:
_missionController
(
nullptr
)
,
_isFlyView
(
true
)
,
_arrivalReturnSpeed
(
5
)
,
_flightSpeed
(
2
)
,
_altitude
(
5
)
{
}
bool
WaypointManager
::
Settings
::
valid
()
const
{
return
_missionController
!=
nullptr
&&
_homePosition
.
isValid
();
}
void
WaypointManager
::
Settings
::
setHomePosition
(
const
QGeoCoordinate
&
c
)
{
_homePosition
=
c
;
}
void
WaypointManager
::
Settings
::
setVehicle
(
Vehicle
*
vehicle
)
void
WaypointManager
::
Settings
::
setMissionController
(
MissionController
*
controller
)
{
_missionController
=
controller
;
}
void
WaypointManager
::
Settings
::
setMasterController
(
PlanMasterController
*
controller
)
{
_
vehicle
=
vehicle
;
_
masterController
=
controller
;
}
void
WaypointManager
::
Settings
::
setIsFlyView
(
bool
isFlyView
)
...
...
@@ -37,9 +59,24 @@ const QGeoCoordinate &WaypointManager::Settings::homePosition() const
return
_homePosition
;
}
QGeoCoordinate
&
WaypointManager
::
Settings
::
homePosition
()
{
return
_homePosition
;
}
MissionController
*
WaypointManager
::
Settings
::
missionController
()
const
{
return
_missionController
;
}
PlanMasterController
*
WaypointManager
::
Settings
::
masterController
()
const
{
return
_masterController
;
}
Vehicle
*
WaypointManager
::
Settings
::
vehicle
()
const
{
return
_
vehicle
;
return
_
masterController
->
managerVehicle
()
;
}
bool
WaypointManager
::
Settings
::
isFlyView
()
const
...
...
src/Wima/WaypointManager/Settings.h
View file @
570fbc03
...
...
@@ -2,6 +2,8 @@
#include <QGeoCoordinate>
#include "MissionController.h"
#include "PlanMasterController.h"
#include "Vehicle.h"
namespace
WaypointManager
{
...
...
@@ -11,14 +13,20 @@ class Settings
public:
Settings
();
void
setHomePosition
(
QGeoCoordinate
&
c
);
void
setVehicle
(
Vehicle
*
vehicle
);
bool
valid
()
const
;
void
setHomePosition
(
const
QGeoCoordinate
&
c
);
void
setMissionController
(
MissionController
*
controller
);
void
setMasterController
(
PlanMasterController
*
controller
);
void
setIsFlyView
(
bool
isFlyView
);
void
setArrivalReturnSpeed
(
double
speed
);
void
setFlightSpeed
(
double
speed
);
void
setAltitude
(
double
altitude
);
const
QGeoCoordinate
&
homePosition
()
const
;
QGeoCoordinate
&
homePosition
();
MissionController
*
missionController
()
const
;
PlanMasterController
*
masterController
()
const
;
Vehicle
*
vehicle
()
const
;
bool
isFlyView
()
const
;
double
arrivalReturnSpeed
()
const
;
...
...
@@ -26,12 +34,13 @@ public:
double
altitude
()
const
;
private:
QGeoCoordinate
_homePosition
;
Vehicle
*
_vehicle
;
bool
_isFlyView
;
double
_arrivalReturnSpeed
;
double
_flightSpeed
;
double
_altitude
;
QGeoCoordinate
_homePosition
;
MissionController
*
_missionController
;
PlanMasterController
*
_masterController
;
bool
_isFlyView
;
double
_arrivalReturnSpeed
;
double
_flightSpeed
;
double
_altitude
;
};
...
...
src/Wima/WaypointManager/Slicer.h
View file @
570fbc03
...
...
@@ -5,7 +5,7 @@
#include "Utils.h"
//! @brief
Base class for all waypoint manag
ers.
//! @brief
Helper class for slicing contain
ers.
class
Slicer
{
public:
...
...
@@ -67,14 +67,13 @@ private:
template
<
class
Container1
,
class
Container2
>
void
Slicer
::
update
(
const
Container1
&
source
,
Container2
&
slice
){
if
(
!
_idxValid
)
_updateIdx
(
source
.
size
());
_updateIdx
(
source
.
size
());
WaypointManager
::
Utils
::
extract
(
source
,
slice
,
_idxStart
,
_idxEnd
);
}
template
<
class
Container1
,
class
Container2
>
void
Slicer
::
next
(
const
Container1
&
source
,
Container2
&
slice
){
_updateIdx
(
source
.
size
());
setStartIndex
(
_idxNext
);
update
(
source
,
slice
);
}
...
...
@@ -82,6 +81,7 @@ void Slicer::next(const Container1 &source, Container2 &slice){
template
<
class
Container1
,
class
Container2
>
void
Slicer
::
previous
(
const
Container1
&
source
,
Container2
&
slice
){
_updateIdx
(
source
.
size
());
setStartIndex
(
_idxPrevious
);
update
(
source
,
slice
);
}
...
...
src/Wima/WaypointManager/Utils.cpp
View file @
570fbc03
...
...
@@ -48,7 +48,7 @@ bool WaypointManager::Utils::insertMissionItem(const QGeoCoordinate &coordinate,
double
altitude
;
int
altitudeMode
;
if
(
detail
::
previousAltitude
(
list
,
--
index
,
altitude
,
altitudeMode
))
{
if
(
detail
::
previousAltitude
(
list
,
index
-
1
,
altitude
,
altitudeMode
))
{
newItem
->
altitude
()
->
setRawValue
(
altitude
);
newItem
->
setAltitudeMode
(
static_cast
<
QGroundControlQmlGlobal
::
AltitudeMode
>
(
...
...
@@ -153,10 +153,12 @@ bool WaypointManager::Utils::detail::updateHirarchy(QmlObjectListModel &list)
bool
WaypointManager
::
Utils
::
detail
::
updateHomePosition
(
QmlObjectListModel
&
list
)
{
MissionSettingsItem
*
settingsItem
=
list
.
value
<
MissionSettingsItem
*>
(
0
);
assert
(
settingsItem
);
// list not initialized?
// Set the home position to be a delta from first coordinate
// Set the home position to be a delta from first coordinate
.
for
(
int
i
=
1
;
i
<
list
.
count
();
++
i
)
{
VisualMissionItem
*
item
=
list
.
value
<
VisualMissionItem
*>
(
i
);
assert
(
item
);
if
(
item
->
specifiesCoordinate
()
&&
item
->
coordinate
().
isValid
())
{
QGeoCoordinate
c
=
item
->
coordinate
().
atDistanceAndAzimuth
(
30
,
0
);
...
...
src/Wima/WaypointManager/Utils.h
View file @
570fbc03
...
...
@@ -86,7 +86,7 @@ bool extract(const ContainerType<CoordinateType> &source,
if
(
!
extract
(
source
,
destination
,
startIndex
,
std
::
size_t
(
source
.
size
(
)
-
1
))
/*recursion*/
)
std
::
size_t
(
long
(
source
.
size
()
)
-
1
))
/*recursion*/
)
return
false
;
if
(
!
extract
(
source
,
destination
,
...
...
src/Wima/WimaController.cc
View file @
570fbc03
This diff is collapsed.
Click to expand it.
src/Wima/WimaController.h
View file @
570fbc03
...
...
@@ -35,6 +35,8 @@
#include "ros_bridge/include/ROSBridge.h"
#include "WaypointManager/DefaultManager.h"
#define CHECK_BATTERY_INTERVAL 1000 // ms
#define SMART_RTL_MAX_ATTEMPTS 3 // times
#define SMART_RTL_ATTEMPT_INTERVAL 200 // ms
...
...
@@ -136,10 +138,6 @@ public:
READ
arrivalReturnSpeed
CONSTANT
)
Q_PROPERTY
(
Fact
*
reverse
READ
reverse
CONSTANT
)
Q_PROPERTY
(
bool
uploadOverrideRequired
READ
uploadOverrideRequired
WRITE
setUploadOverrideRequired
...
...
@@ -216,10 +214,10 @@ public:
// QString fileExtension (void) const { return wimaFileExtension; }
QGCMapPolygon
joinedArea
(
void
)
const
;
WimaDataContainer
*
dataContainer
(
void
)
{
return
_container
;
}
QmlObjectListModel
*
missionItems
(
void
)
{
return
&
_missionItems
;
}
QmlObjectListModel
*
currentMissionItems
(
void
)
{
return
&
_currentMissionItems
;
}
QVariantList
waypointPath
(
void
)
const
;
QVariantList
currentWaypointPath
(
void
)
{
return
_currentWaypointPath
;
}
QmlObjectListModel
*
missionItems
(
void
)
;
QmlObjectListModel
*
currentMissionItems
(
void
)
;
QVariantList
waypointPath
(
void
);
QVariantList
currentWaypointPath
(
void
)
;
Fact
*
enableWimaController
(
void
)
{
return
&
_enableWimaController
;
}
Fact
*
overlapWaypoints
(
void
)
{
return
&
_overlapWaypoints
;
}
Fact
*
maxWaypointsPerPhase
(
void
)
{
return
&
_maxWaypointsPerPhase
;
}
...
...
@@ -229,7 +227,6 @@ public:
Fact
*
flightSpeed
(
void
)
{
return
&
_flightSpeed
;
}
Fact
*
arrivalReturnSpeed
(
void
)
{
return
&
_arrivalReturnSpeed
;
}
Fact
*
altitude
(
void
)
{
return
&
_altitude
;
}
Fact
*
reverse
(
void
)
{
return
&
_reverse
;
}
Fact
*
enableSnake
(
void
)
{
return
&
_enableSnake
;
}
Fact
*
snakeTileWidth
(
void
)
{
return
&
_snakeTileWidth
;}
...
...
@@ -291,7 +288,6 @@ public:
static
const
char
*
flightSpeedName
;
static
const
char
*
arrivalReturnSpeedName
;
static
const
char
*
altitudeName
;
static
const
char
*
reverseName
;
static
const
char
*
snakeTileWidthName
;
static
const
char
*
snakeTileHeightName
;
static
const
char
*
snakeMinTileAreaName
;
...
...
@@ -330,11 +326,13 @@ private:
private
slots
:
bool
_fetchContainerData
();
bool
_calcNextPhase
(
void
);
void
_updateWaypointPath
(
void
);
void
_updateCurrentPath
(
void
);
void
_updateNextWaypoint
(
void
);
//
void _updateWaypointPath (void);
//
void _updateCurrentPath (void);
//
void _updateNextWaypoint (void);
void
_recalcCurrentPhase
(
void
);
bool
_setTakeoffLandPosition
(
void
);
//bool _setTakeoffLandPosition (void);
void
_updateOverlap
(
void
);
void
_updateMaxWaypoints
(
void
);
void
_updateflightSpeed
(
void
);
void
_updateArrivalReturnSpeed
(
void
);
void
_updateAltitude
(
void
);
...
...
@@ -342,7 +340,6 @@ private slots:
void
_eventTimerHandler
(
void
);
void
_smartRTLCleanUp
(
bool
flying
);
// cleans up after successfull smart RTL
void
_enableDisableLowBatteryHandling
(
QVariant
enable
);
void
_reverseChangedHandler
();
void
_initSmartRTL
();
void
_executeSmartRTL
();
void
_setSnakeConnectionStatus
(
SnakeConnectionStatus
status
);
...
...
@@ -369,19 +366,27 @@ private:
MissionController
*
_missionController
;
// QString _currentFile; // file for saveing
WimaDataContainer
*
_container
;
// container for data exchange with WimaController
QmlObjectListModel
_
visualItem
s
;
// contains all visible areas
QmlObjectListModel
_
area
s
;
// contains all visible areas
WimaJoinedAreaData
_joinedArea
;
// joined area fromed by opArea, serArea, _corridor
WimaMeasurementAreaData
_measurementArea
;
// measurement area
WimaServiceAreaData
_serviceArea
;
// area for supplying
WimaCorridorData
_corridor
;
// corridor connecting opArea and serArea
bool
_localPlanDataValid
;
QmlObjectListModel
_missionItems
;
// all mission itmes (Mission Items) generaded by wimaPlaner, displayed in flightView
QmlObjectListModel
_currentMissionItems
;
// contains the current mission items, which are a sub set of _missionItems,
// _currentMissionItems contains a number of mission items which can be worked off with a single battery chrage
QmlObjectListModel
_missionItemsBuffer
;
// Buffer to store mission items, e.g. for storing _currentMissionItems when smartRTL() is invoked
QVector
<
QGeoCoordinate
>
_waypoints
;
// path connecting the items in _missionItems
QVariantList
_currentWaypointPath
;
// path connecting the items in _currentMissionItems
QGeoCoordinate
_takeoffLandPostion
;
WaypointManager
::
AreaInterface
_areaInterface
;
WaypointManager
::
Settings
_managerSettings
;
WaypointManager
::
DefaultManager
_defaultManager
;
WaypointManager
::
DefaultManager
_snakeManager
;
WaypointManager
::
ManagerBase
&
_currentManager
;
// QmlObjectListModel _missionItems; // all mission itmes (Mission Items) generaded by wimaPlaner, displayed in flightView
// QmlObjectListModel _currentMissionItems; // contains the current mission items, which are a sub set of _missionItems,
// // _currentMissionItems contains a number of mission items which can be worked off with a single battery chrage
// QmlObjectListModel _missionItemsBuffer; // Buffer to store mission items, e.g. for storing _currentMissionItems when smartRTL() is invoked
// QVector<QGeoCoordinate> _waypoints; // path connecting the items in _missionItems
// QVariantList _currentWaypointPath; // path connecting the items in _currentMissionItems
// QGeoCoordinate _takeoffLandPostion;
QMap
<
QString
,
FactMetaData
*>
_metaDataMap
;
...
...
@@ -395,13 +400,12 @@ private:
SettingsFact
_flightSpeed
;
// mission flight speed
SettingsFact
_arrivalReturnSpeed
;
// arrival and return path speed
SettingsFact
_altitude
;
// mission altitude
SettingsFact
_reverse
;
// Reverses the phase direction. Phases go from high to low waypoint numbers, if true.
SettingsFact
_enableSnake
;
// Enable Snake (see snake.h)
int
_endWaypointIndex
;
// index of the mission item stored in _missionItems defining the last element
// (which is not part of the return path) of _currentMissionItem
int
_startWaypointIndex
;
// index of the mission item stored in _missionItems defining the first element
// (which is not part of the arrival path) of _currentMissionItem
//
int _endWaypointIndex; // index of the mission item stored in _missionItems defining the last element
//
// (which is not part of the return path) of _currentMissionItem
//
int _startWaypointIndex; // index of the mission item stored in _missionItems defining the first element
//
// (which is not part of the arrival path) of _currentMissionItem
bool
_uploadOverrideRequired
;
// Is set to true if uploadToVehicle() did not suceed because the vehicle is not inside the service area.
// The user can override the upload lock with a slider, this will reset this variable to false.
double
_measurementPathLength
;
// the lenght of the phase in meters
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment