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
f8dd44d3
Unverified
Commit
f8dd44d3
authored
Jul 01, 2020
by
Don Gagne
Committed by
GitHub
Jul 01, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8866 from DonLakeFlyer/MissionFlightStatus
Mission flight status
parents
b2d56a9d
dee30f13
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
19 additions
and
27 deletions
+19
-27
CorridorScanComplexItem.cc
src/MissionManager/CorridorScanComplexItem.cc
+1
-1
CorridorScanComplexItemTest.cc
src/MissionManager/CorridorScanComplexItemTest.cc
+0
-5
MissionController.cc
src/MissionManager/MissionController.cc
+0
-2
MissionController.h
src/MissionManager/MissionController.h
+1
-1
SimpleMissionItem.cc
src/MissionManager/SimpleMissionItem.cc
+1
-1
StructureScanComplexItem.cc
src/MissionManager/StructureScanComplexItem.cc
+3
-3
StructureScanComplexItem.h
src/MissionManager/StructureScanComplexItem.h
+1
-1
SurveyComplexItem.cc
src/MissionManager/SurveyComplexItem.cc
+1
-1
TransectStyleComplexItem.cc
src/MissionManager/TransectStyleComplexItem.cc
+7
-5
TransectStyleComplexItem.h
src/MissionManager/TransectStyleComplexItem.h
+1
-1
VisualMissionItem.cc
src/MissionManager/VisualMissionItem.cc
+3
-4
VisualMissionItem.h
src/MissionManager/VisualMissionItem.h
+0
-2
No files found.
src/MissionManager/CorridorScanComplexItem.cc
View file @
f8dd44d3
...
...
@@ -353,7 +353,7 @@ CorridorScanComplexItem::ReadyForSaveState CorridorScanComplexItem::readyForSave
double
CorridorScanComplexItem
::
timeBetweenShots
(
void
)
{
return
_
cruiseSpeed
==
0
?
0
:
_cameraCalc
.
adjustedFootprintFrontal
()
->
rawValue
().
toDouble
()
/
_cruis
eSpeed
;
return
_
vehicleSpeed
==
0
?
0
:
_cameraCalc
.
adjustedFootprintFrontal
()
->
rawValue
().
toDouble
()
/
_vehicl
eSpeed
;
}
double
CorridorScanComplexItem
::
_calcTransectSpacing
(
void
)
const
...
...
src/MissionManager/CorridorScanComplexItemTest.cc
View file @
f8dd44d3
...
...
@@ -32,11 +32,6 @@ void CorridorScanComplexItemTest::init(void)
int
expectedTransectCount
=
_expectedTransectCount
;
QCOMPARE
(
_corridorItem
->
_transectCount
(),
expectedTransectCount
);
// vehicleSpeed need for terrain calcs
MissionController
::
MissionFlightStatus_t
missionFlightStatus
;
missionFlightStatus
.
vehicleSpeed
=
5
;
_corridorItem
->
setMissionFlightStatus
(
missionFlightStatus
);
_corridorItem
->
setDirty
(
false
);
_rgCorridorPolygonSignals
[
corridorPolygonPathChangedIndex
]
=
SIGNAL
(
pathChanged
());
...
...
src/MissionManager/MissionController.cc
View file @
f8dd44d3
...
...
@@ -331,7 +331,6 @@ VisualMissionItem* MissionController::_insertSimpleMissionItemWorker(QGeoCoordin
}
}
}
newItem
->
setMissionFlightStatus
(
_missionFlightStatus
);
if
(
visualItemIndex
==
-
1
)
{
_visualItems
->
append
(
newItem
);
}
else
{
...
...
@@ -372,7 +371,6 @@ VisualMissionItem* MissionController::insertTakeoffItem(QGeoCoordinate /*coordin
newItem
->
setAltitudeMode
(
static_cast
<
QGroundControlQmlGlobal
::
AltitudeMode
>
(
prevAltitudeMode
));
}
}
newItem
->
setMissionFlightStatus
(
_missionFlightStatus
);
if
(
visualItemIndex
==
-
1
)
{
_visualItems
->
append
(
newItem
);
}
else
{
...
...
src/MissionManager/MissionController.h
View file @
f8dd44d3
...
...
@@ -44,7 +44,7 @@ public:
MissionController
(
PlanMasterController
*
masterController
,
QObject
*
parent
=
nullptr
);
~
MissionController
();
typedef
struct
_MissionFlightStatus_t
{
typedef
struct
{
double
maxTelemetryDistance
;
double
totalDistance
;
double
totalTime
;
...
...
src/MissionManager/SimpleMissionItem.cc
View file @
f8dd44d3
...
...
@@ -935,7 +935,7 @@ void SimpleMissionItem::applyNewAltitude(double newAltitude)
void
SimpleMissionItem
::
setMissionFlightStatus
(
MissionController
::
MissionFlightStatus_t
&
missionFlightStatus
)
{
// If
user has not already set speed/gimbal, set defaults from previous items
.
// If
speed and/or gimbal are not specifically set on this item. Then use the flight status values as initial defaults should a user turn them on
.
VisualMissionItem
::
setMissionFlightStatus
(
missionFlightStatus
);
if
(
_speedSection
->
available
()
&&
!
_speedSection
->
specifyFlightSpeed
()
&&
!
qFuzzyCompare
(
_speedSection
->
flightSpeed
()
->
rawValue
().
toDouble
(),
missionFlightStatus
.
vehicleSpeed
))
{
_speedSection
->
flightSpeed
()
->
setRawValue
(
missionFlightStatus
.
vehicleSpeed
);
...
...
src/MissionManager/StructureScanComplexItem.cc
View file @
f8dd44d3
...
...
@@ -474,8 +474,8 @@ int StructureScanComplexItem::cameraShots(void) const
void
StructureScanComplexItem
::
setMissionFlightStatus
(
MissionController
::
MissionFlightStatus_t
&
missionFlightStatus
)
{
ComplexMissionItem
::
setMissionFlightStatus
(
missionFlightStatus
);
if
(
!
qFuzzyCompare
(
_
cruis
eSpeed
,
missionFlightStatus
.
vehicleSpeed
))
{
_
cruis
eSpeed
=
missionFlightStatus
.
vehicleSpeed
;
if
(
!
qFuzzyCompare
(
_
vehicl
eSpeed
,
missionFlightStatus
.
vehicleSpeed
))
{
_
vehicl
eSpeed
=
missionFlightStatus
.
vehicleSpeed
;
emit
timeBetweenShotsChanged
();
}
}
...
...
@@ -499,7 +499,7 @@ void StructureScanComplexItem::_polygonDirtyChanged(bool dirty)
double
StructureScanComplexItem
::
timeBetweenShots
(
void
)
{
return
_
cruiseSpeed
==
0
?
0
:
_cameraCalc
.
adjustedFootprintSide
()
->
rawValue
().
toDouble
()
/
_cruis
eSpeed
;
return
_
vehicleSpeed
==
0
?
0
:
_cameraCalc
.
adjustedFootprintSide
()
->
rawValue
().
toDouble
()
/
_vehicl
eSpeed
;
}
QGeoCoordinate
StructureScanComplexItem
::
coordinate
(
void
)
const
...
...
src/MissionManager/StructureScanComplexItem.h
View file @
f8dd44d3
...
...
@@ -151,7 +151,7 @@ private:
double
_scanDistance
;
int
_cameraShots
;
double
_timeBetweenShots
;
double
_
cruis
eSpeed
;
double
_
vehicl
eSpeed
;
CameraCalc
_cameraCalc
;
...
...
src/MissionManager/SurveyComplexItem.cc
View file @
f8dd44d3
...
...
@@ -1416,7 +1416,7 @@ void SurveyComplexItem::rotateEntryPoint(void)
double
SurveyComplexItem
::
timeBetweenShots
(
void
)
{
return
_
cruiseSpeed
==
0
?
0
:
triggerDistance
()
/
_cruis
eSpeed
;
return
_
vehicleSpeed
==
0
?
0
:
triggerDistance
()
/
_vehicl
eSpeed
;
}
double
SurveyComplexItem
::
additionalTimeDelay
(
void
)
const
...
...
src/MissionManager/TransectStyleComplexItem.cc
View file @
f8dd44d3
...
...
@@ -327,8 +327,10 @@ double TransectStyleComplexItem::greatestDistanceTo(const QGeoCoordinate &other)
void
TransectStyleComplexItem
::
setMissionFlightStatus
(
MissionController
::
MissionFlightStatus_t
&
missionFlightStatus
)
{
ComplexMissionItem
::
setMissionFlightStatus
(
missionFlightStatus
);
if
(
!
qFuzzyCompare
(
_cruiseSpeed
,
missionFlightStatus
.
vehicleSpeed
))
{
_cruiseSpeed
=
missionFlightStatus
.
vehicleSpeed
;
if
(
!
qFuzzyCompare
(
_vehicleSpeed
,
missionFlightStatus
.
vehicleSpeed
))
{
_vehicleSpeed
=
missionFlightStatus
.
vehicleSpeed
;
// Vehicle speed change affects max climb/descent rates calcs for terrain so we need to re-adjust
_rebuildTransects
();
emit
timeBetweenShotsChanged
();
}
}
...
...
@@ -707,9 +709,9 @@ int TransectStyleComplexItem::_maxPathHeight(const TerrainPathQuery::PathHeightI
void
TransectStyleComplexItem
::
_adjustForMaxRates
(
QList
<
CoordInfo_t
>&
transect
)
{
double
maxClimbRate
=
_terrainAdjustMaxClimbRateFact
.
rawValue
().
toDouble
();
double
maxDescentRate
=
_terrainAdjustMaxDescentRateFact
.
rawValue
().
toDouble
();
double
flightSpeed
=
_missionFlightStatus
.
vehicleSpeed
;
double
maxClimbRate
=
_terrainAdjustMaxClimbRateFact
.
rawValue
().
toDouble
();
double
maxDescentRate
=
_terrainAdjustMaxDescentRateFact
.
rawValue
().
toDouble
();
double
flightSpeed
=
_
vehicleSpeed
;
if
(
qIsNaN
(
flightSpeed
)
||
(
maxClimbRate
==
0
&&
maxDescentRate
==
0
))
{
if
(
qIsNaN
(
flightSpeed
))
{
...
...
src/MissionManager/TransectStyleComplexItem.h
View file @
f8dd44d3
...
...
@@ -185,7 +185,7 @@ protected:
double
_complexDistance
=
qQNaN
();
int
_cameraShots
=
0
;
double
_timeBetweenShots
=
0
;
double
_
cruiseSpeed
=
0
;
double
_
vehicleSpeed
=
5
;
CameraCalc
_cameraCalc
;
bool
_followTerrain
=
false
;
double
_minAMSLAltitude
=
qQNaN
();
...
...
src/MissionManager/VisualMissionItem.cc
View file @
f8dd44d3
...
...
@@ -152,12 +152,11 @@ void VisualMissionItem::setAzimuth(double azimuth)
void
VisualMissionItem
::
setMissionFlightStatus
(
MissionController
::
MissionFlightStatus_t
&
missionFlightStatus
)
{
_missionFlightStatus
=
missionFlightStatus
;
if
(
qIsNaN
(
_missionFlightStatus
.
gimbalYaw
)
&&
qIsNaN
(
_missionGimbalYaw
))
{
if
(
qIsNaN
(
missionFlightStatus
.
gimbalYaw
)
&&
qIsNaN
(
_missionGimbalYaw
))
{
return
;
}
if
(
!
qFuzzyCompare
(
_
missionFlightStatus
.
gimbalYaw
,
_missionGimbalYaw
))
{
_missionGimbalYaw
=
_
missionFlightStatus
.
gimbalYaw
;
if
(
!
qFuzzyCompare
(
missionFlightStatus
.
gimbalYaw
,
_missionGimbalYaw
))
{
_missionGimbalYaw
=
missionFlightStatus
.
gimbalYaw
;
emit
missionGimbalYawChanged
(
_missionGimbalYaw
);
}
}
...
...
src/MissionManager/VisualMissionItem.h
View file @
f8dd44d3
...
...
@@ -271,8 +271,6 @@ protected:
VisualMissionItem
*
_parentItem
=
nullptr
;
QGCGeoBoundingCube
_boundingCube
;
///< The bounding "cube" of this element.
MissionController
::
MissionFlightStatus_t
_missionFlightStatus
;
/// This is used to reference any subsequent mission items which do not specify a coordinate.
QmlObjectListModel
_childItems
;
...
...
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