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
146820c2
Commit
146820c2
authored
Feb 14, 2016
by
Don Gagne
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2810 from DonLakeFlyer/Vehicle.battery
Vehicle.battery FactGroup
parents
58181a8a
c2f9b562
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
241 additions
and
212 deletions
+241
-212
FlightDisplayView.qml
src/FlightDisplay/FlightDisplayView.qml
+2
-2
FlightDisplayViewWidgets.qml
src/FlightDisplay/FlightDisplayViewWidgets.qml
+3
-3
ValuesWidgetController.cc
src/FlightMap/Widgets/ValuesWidgetController.cc
+9
-1
BatteryFact.json
src/Vehicle/BatteryFact.json
+27
-49
Vehicle.cc
src/Vehicle/Vehicle.cc
+106
-50
Vehicle.h
src/Vehicle/Vehicle.h
+62
-27
VehicleFact.json
src/Vehicle/VehicleFact.json
+1
-8
UAS.cc
src/uas/UAS.cc
+7
-20
UAS.h
src/uas/UAS.h
+0
-16
UASInterface.h
src/uas/UASInterface.h
+2
-3
MainToolBar.qml
src/ui/toolbar/MainToolBar.qml
+10
-17
MainToolBarIndicators.qml
src/ui/toolbar/MainToolBarIndicators.qml
+12
-15
UASQuickView.cc
src/ui/uas/UASQuickView.cc
+0
-1
No files found.
src/FlightDisplay/FlightDisplayView.qml
View file @
146820c2
...
@@ -55,7 +55,7 @@ QGCView {
...
@@ -55,7 +55,7 @@ QGCView {
readonly
property
real
_defaultRoll
:
0
readonly
property
real
_defaultRoll
:
0
readonly
property
real
_defaultPitch
:
0
readonly
property
real
_defaultPitch
:
0
readonly
property
real
_defaultHeading
:
0
readonly
property
real
_defaultHeading
:
0
readonly
property
real
_defaultAltitude
WGS84
:
0
readonly
property
real
_defaultAltitude
AMSL
:
0
readonly
property
real
_defaultGroundSpeed
:
0
readonly
property
real
_defaultGroundSpeed
:
0
readonly
property
real
_defaultAirSpeed
:
0
readonly
property
real
_defaultAirSpeed
:
0
...
@@ -75,7 +75,7 @@ QGCView {
...
@@ -75,7 +75,7 @@ QGCView {
property
Fact
_emptyFact
:
Fact
{
}
property
Fact
_emptyFact
:
Fact
{
}
property
Fact
_groundSpeedFact
:
_activeVehicle
?
_activeVehicle
.
groundSpeed
:
_emptyFact
property
Fact
_groundSpeedFact
:
_activeVehicle
?
_activeVehicle
.
groundSpeed
:
_emptyFact
property
Fact
_airSpeedFact
:
_activeVehicle
?
_activeVehicle
.
airSpeed
:
_emptyFact
property
Fact
_airSpeedFact
:
_activeVehicle
?
_activeVehicle
.
airSpeed
:
_emptyFact
property
Fact
_altitude
WGS84Fact
:
_activeVehicle
?
_activeVehicle
.
altitudeWGS84
:
_emptyFact
property
Fact
_altitude
AMSLFact
:
_activeVehicle
?
_activeVehicle
.
altitudeAMSL
:
_emptyFact
property
bool
activeVehicleJoystickEnabled
:
_activeVehicle
?
_activeVehicle
.
joystickEnabled
:
false
property
bool
activeVehicleJoystickEnabled
:
_activeVehicle
?
_activeVehicle
.
joystickEnabled
:
false
...
...
src/FlightDisplay/FlightDisplayViewWidgets.qml
View file @
146820c2
...
@@ -100,7 +100,7 @@ Item {
...
@@ -100,7 +100,7 @@ Item {
heading
:
_heading
heading
:
_heading
rollAngle
:
_roll
rollAngle
:
_roll
pitchAngle
:
_pitch
pitchAngle
:
_pitch
altitudeFact
:
_altitude
WGS84
Fact
altitudeFact
:
_altitude
AMSL
Fact
groundSpeedFact
:
_groundSpeedFact
groundSpeedFact
:
_groundSpeedFact
airSpeedFact
:
_airSpeedFact
airSpeedFact
:
_airSpeedFact
isSatellite
:
_mainIsMap
?
_flightMap
?
_flightMap
.
isSatelliteMap
:
true
:
true
isSatellite
:
_mainIsMap
?
_flightMap
?
_flightMap
.
isSatelliteMap
:
true
:
true
...
@@ -124,7 +124,7 @@ Item {
...
@@ -124,7 +124,7 @@ Item {
spacing
:
ScreenTools
.
defaultFontPixelSize
*
0.33
spacing
:
ScreenTools
.
defaultFontPixelSize
*
0.33
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.verticalCenter
:
parent
.
verticalCenter
QGCLabel
{
QGCLabel
{
text
:
_altitude
WGS84Fact
.
shortDescription
+
"
(
"
+
_altitudeWGS84
Fact
.
units
+
"
)
"
text
:
_altitude
AMSLFact
.
shortDescription
+
"
(
"
+
_altitudeAMSL
Fact
.
units
+
"
)
"
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
0.75
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
0.75
width
:
parent
.
width
width
:
parent
.
width
height
:
ScreenTools
.
defaultFontPixelSize
*
0.75
height
:
ScreenTools
.
defaultFontPixelSize
*
0.75
...
@@ -132,7 +132,7 @@ Item {
...
@@ -132,7 +132,7 @@ Item {
horizontalAlignment
:
TextEdit
.
AlignHCenter
horizontalAlignment
:
TextEdit
.
AlignHCenter
}
}
QGCLabel
{
QGCLabel
{
text
:
_altitude
WGS84
Fact
.
valueString
text
:
_altitude
AMSL
Fact
.
valueString
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
1.5
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
1.5
font.weight
:
Font
.
DemiBold
font.weight
:
Font
.
DemiBold
width
:
parent
.
width
width
:
parent
.
width
...
...
src/FlightMap/Widgets/ValuesWidgetController.cc
View file @
146820c2
...
@@ -36,9 +36,17 @@ ValuesWidgetController::ValuesWidgetController(void)
...
@@ -36,9 +36,17 @@ ValuesWidgetController::ValuesWidgetController(void)
settings
.
beginGroup
(
_groupKey
);
settings
.
beginGroup
(
_groupKey
);
largeDefaults
<<
"Vehicle.altitude
WGS84
"
<<
"Vehicle.groundSpeed"
;
largeDefaults
<<
"Vehicle.altitude
Relative
"
<<
"Vehicle.groundSpeed"
;
_largeValues
=
settings
.
value
(
_largeValuesKey
,
largeDefaults
).
toStringList
();
_largeValues
=
settings
.
value
(
_largeValuesKey
,
largeDefaults
).
toStringList
();
_smallValues
=
settings
.
value
(
_smallValuesKey
,
QStringList
()).
toStringList
();
_smallValues
=
settings
.
value
(
_smallValuesKey
,
QStringList
()).
toStringList
();
// Keep back compat for removed WGS84 value
if
(
_largeValues
.
contains
(
"Vehicle.altitudeWGS84"
))
{
setLargeValues
(
_largeValues
.
replaceInStrings
(
"Vehicle.altitudeWGS84"
,
"Vehicle.altitudeRelative"
));
}
if
(
_smallValues
.
contains
(
"Vehicle.altitudeWGS84"
))
{
setSmallValues
(
_largeValues
.
replaceInStrings
(
"Vehicle.altitudeWGS84"
,
"Vehicle.altitudeRelative"
));
}
}
}
void
ValuesWidgetController
::
setLargeValues
(
const
QStringList
&
values
)
void
ValuesWidgetController
::
setLargeValues
(
const
QStringList
&
values
)
...
...
src/Vehicle/BatteryFact.json
View file @
146820c2
...
@@ -3,67 +3,45 @@
...
@@ -3,67 +3,45 @@
"properties"
:
[
"properties"
:
[
{
{
"name"
:
"
roll
"
,
"name"
:
"
voltage
"
,
"shortDescription"
:
"
Roll
"
,
"shortDescription"
:
"
Voltage
"
,
"type"
:
"double"
,
"type"
:
"double"
,
"decimalPlaces"
:
1
,
"decimalPlaces"
:
2
,
"units"
:
"
degrees
"
"units"
:
"
v
"
},
},
{
{
"name"
:
"pitch"
,
"name"
:
"percentRemaining"
,
"shortDescription"
:
"Pitch"
,
"shortDescription"
:
"Percent"
,
"type"
:
"double"
,
"type"
:
"int32"
,
"decimalPlaces"
:
1
,
"units"
:
"degrees"
},
{
"name"
:
"heading"
,
"shortDescription"
:
"Heading"
,
"type"
:
"double"
,
"decimalPlaces"
:
0
,
"decimalPlaces"
:
0
,
"units"
:
"degrees"
"units"
:
"%"
},
{
"name"
:
"groundSpeed"
,
"shortDescription"
:
"Ground Speed"
,
"type"
:
"double"
,
"decimalPlaces"
:
1
,
"units"
:
"m/s"
},
{
"name"
:
"airSpeed"
,
"shortDescription"
:
"Air Speed"
,
"type"
:
"double"
,
"decimalPlaces"
:
1
,
"units"
:
"m/s"
},
},
{
{
"name"
:
"
climbRate
"
,
"name"
:
"
mahConsumed
"
,
"shortDescription"
:
"C
limb Rate
"
,
"shortDescription"
:
"C
onsumed
"
,
"type"
:
"
double
"
,
"type"
:
"
int32
"
,
"decimalPlaces"
:
1
,
"decimalPlaces"
:
0
,
"units"
:
"m
/s
"
"units"
:
"m
Ah
"
},
},
{
{
"name"
:
"
altitudeRelative
"
,
"name"
:
"
current
"
,
"shortDescription"
:
"
Altitude
"
,
"shortDescription"
:
"
Current
"
,
"type"
:
"
double
"
,
"type"
:
"
int32
"
,
"decimalPlaces"
:
1
,
"decimalPlaces"
:
0
,
"units"
:
"m"
"units"
:
"m
A
"
},
},
{
{
"name"
:
"
altitudeQGS84
"
,
"name"
:
"
temperature
"
,
"shortDescription"
:
"
Altitud
e"
,
"shortDescription"
:
"
Temperatur
e"
,
"type"
:
"
double
"
,
"type"
:
"
int32
"
,
"decimalPlaces"
:
1
,
"decimalPlaces"
:
2
,
"units"
:
"
m
"
"units"
:
"
C
"
},
},
{
{
"name"
:
"altitudeAMSL"
,
"name"
:
"cellCount"
,
"shortDescription"
:
"Altitude"
,
"shortDescription"
:
"Cell Count"
,
"type"
:
"double"
,
"type"
:
"int32"
,
"decimalPlaces"
:
1
,
"decimalPlaces"
:
0
"units"
:
"m"
}
}
]
]
}
}
src/Vehicle/Vehicle.cc
View file @
146820c2
...
@@ -53,9 +53,10 @@ const char* Vehicle::_airSpeedFactName = "airSpeed";
...
@@ -53,9 +53,10 @@ const char* Vehicle::_airSpeedFactName = "airSpeed";
const
char
*
Vehicle
::
_groundSpeedFactName
=
"groundSpeed"
;
const
char
*
Vehicle
::
_groundSpeedFactName
=
"groundSpeed"
;
const
char
*
Vehicle
::
_climbRateFactName
=
"climbRate"
;
const
char
*
Vehicle
::
_climbRateFactName
=
"climbRate"
;
const
char
*
Vehicle
::
_altitudeRelativeFactName
=
"altitudeRelative"
;
const
char
*
Vehicle
::
_altitudeRelativeFactName
=
"altitudeRelative"
;
const
char
*
Vehicle
::
_altitudeWGS84FactName
=
"altitudeWGS84"
;
const
char
*
Vehicle
::
_altitudeAMSLFactName
=
"altitudeAMSL"
;
const
char
*
Vehicle
::
_altitudeAMSLFactName
=
"altitudeAMSL"
;
const
char
*
Vehicle
::
_gpsFactGroupName
=
"gps"
;
const
char
*
Vehicle
::
_gpsFactGroupName
=
"gps"
;
const
char
*
Vehicle
::
_batteryFactGroupName
=
"battery"
;
const
char
*
VehicleGPSFactGroup
::
_hdopFactName
=
"hdop"
;
const
char
*
VehicleGPSFactGroup
::
_hdopFactName
=
"hdop"
;
const
char
*
VehicleGPSFactGroup
::
_vdopFactName
=
"vdop"
;
const
char
*
VehicleGPSFactGroup
::
_vdopFactName
=
"vdop"
;
...
@@ -63,6 +64,20 @@ const char* VehicleGPSFactGroup::_courseOverGroundFactName = "courseOverGroun
...
@@ -63,6 +64,20 @@ const char* VehicleGPSFactGroup::_courseOverGroundFactName = "courseOverGroun
const
char
*
VehicleGPSFactGroup
::
_countFactName
=
"count"
;
const
char
*
VehicleGPSFactGroup
::
_countFactName
=
"count"
;
const
char
*
VehicleGPSFactGroup
::
_lockFactName
=
"lock"
;
const
char
*
VehicleGPSFactGroup
::
_lockFactName
=
"lock"
;
const
char
*
VehicleBatteryFactGroup
::
_voltageFactName
=
"voltage"
;
const
char
*
VehicleBatteryFactGroup
::
_percentRemainingFactName
=
"percentRemaining"
;
const
char
*
VehicleBatteryFactGroup
::
_mahConsumedFactName
=
"mahConsumed"
;
const
char
*
VehicleBatteryFactGroup
::
_currentFactName
=
"current"
;
const
char
*
VehicleBatteryFactGroup
::
_temperatureFactName
=
"temperature"
;
const
char
*
VehicleBatteryFactGroup
::
_cellCountFactName
=
"cellCount"
;
const
double
VehicleBatteryFactGroup
::
_voltageUnavailable
=
-
1.0
;
const
int
VehicleBatteryFactGroup
::
_percentRemainingUnavailable
=
-
1
;
const
int
VehicleBatteryFactGroup
::
_mahConsumedUnavailable
=
-
1
;
const
int
VehicleBatteryFactGroup
::
_currentUnavailable
=
-
1
;
const
double
VehicleBatteryFactGroup
::
_temperatureUnavailable
=
-
1.0
;
const
int
VehicleBatteryFactGroup
::
_cellCountUnavailable
=
-
1.0
;
Vehicle
::
Vehicle
(
LinkInterface
*
link
,
Vehicle
::
Vehicle
(
LinkInterface
*
link
,
int
vehicleId
,
int
vehicleId
,
MAV_AUTOPILOT
firmwareType
,
MAV_AUTOPILOT
firmwareType
,
...
@@ -95,9 +110,6 @@ Vehicle::Vehicle(LinkInterface* link,
...
@@ -95,9 +110,6 @@ Vehicle::Vehicle(LinkInterface* link,
,
_navigationCrosstrackError
(
0.0
f
)
,
_navigationCrosstrackError
(
0.0
f
)
,
_navigationTargetBearing
(
0.0
f
)
,
_navigationTargetBearing
(
0.0
f
)
,
_refreshTimer
(
new
QTimer
(
this
))
,
_refreshTimer
(
new
QTimer
(
this
))
,
_batteryVoltage
(
-
1.0
f
)
,
_batteryPercent
(
0.0
)
,
_batteryConsumed
(
-
1.0
)
,
_updateCount
(
0
)
,
_updateCount
(
0
)
,
_rcRSSI
(
0
)
,
_rcRSSI
(
0
)
,
_rcRSSIstore
(
100.0
)
,
_rcRSSIstore
(
100.0
)
...
@@ -129,9 +141,9 @@ Vehicle::Vehicle(LinkInterface* link,
...
@@ -129,9 +141,9 @@ Vehicle::Vehicle(LinkInterface* link,
,
_airSpeedFact
(
0
,
_airSpeedFactName
,
FactMetaData
::
valueTypeDouble
)
,
_airSpeedFact
(
0
,
_airSpeedFactName
,
FactMetaData
::
valueTypeDouble
)
,
_climbRateFact
(
0
,
_climbRateFactName
,
FactMetaData
::
valueTypeDouble
)
,
_climbRateFact
(
0
,
_climbRateFactName
,
FactMetaData
::
valueTypeDouble
)
,
_altitudeRelativeFact
(
0
,
_altitudeRelativeFactName
,
FactMetaData
::
valueTypeDouble
)
,
_altitudeRelativeFact
(
0
,
_altitudeRelativeFactName
,
FactMetaData
::
valueTypeDouble
)
,
_altitudeWGS84Fact
(
0
,
_altitudeWGS84FactName
,
FactMetaData
::
valueTypeDouble
)
,
_altitudeAMSLFact
(
0
,
_altitudeAMSLFactName
,
FactMetaData
::
valueTypeDouble
)
,
_altitudeAMSLFact
(
0
,
_altitudeAMSLFactName
,
FactMetaData
::
valueTypeDouble
)
,
_gpsFactGroup
(
this
)
,
_gpsFactGroup
(
this
)
,
_batteryFactGroup
(
this
)
{
{
_addLink
(
link
);
_addLink
(
link
);
...
@@ -182,8 +194,6 @@ Vehicle::Vehicle(LinkInterface* link,
...
@@ -182,8 +194,6 @@ Vehicle::Vehicle(LinkInterface* link,
connect
(
_mav
,
&
UASInterface
::
altitudeChanged
,
this
,
&
Vehicle
::
_updateAltitude
);
connect
(
_mav
,
&
UASInterface
::
altitudeChanged
,
this
,
&
Vehicle
::
_updateAltitude
);
connect
(
_mav
,
&
UASInterface
::
navigationControllerErrorsChanged
,
this
,
&
Vehicle
::
_updateNavigationControllerErrors
);
connect
(
_mav
,
&
UASInterface
::
navigationControllerErrorsChanged
,
this
,
&
Vehicle
::
_updateNavigationControllerErrors
);
connect
(
_mav
,
&
UASInterface
::
NavigationControllerDataChanged
,
this
,
&
Vehicle
::
_updateNavigationControllerData
);
connect
(
_mav
,
&
UASInterface
::
NavigationControllerDataChanged
,
this
,
&
Vehicle
::
_updateNavigationControllerData
);
connect
(
_mav
,
&
UASInterface
::
batteryChanged
,
this
,
&
Vehicle
::
_updateBatteryRemaining
);
connect
(
_mav
,
&
UASInterface
::
batteryConsumedChanged
,
this
,
&
Vehicle
::
_updateBatteryConsumedChanged
);
_loadSettings
();
_loadSettings
();
...
@@ -211,11 +221,12 @@ Vehicle::Vehicle(LinkInterface* link,
...
@@ -211,11 +221,12 @@ Vehicle::Vehicle(LinkInterface* link,
_addFact
(
&
_airSpeedFact
,
_airSpeedFactName
);
_addFact
(
&
_airSpeedFact
,
_airSpeedFactName
);
_addFact
(
&
_climbRateFact
,
_climbRateFactName
);
_addFact
(
&
_climbRateFact
,
_climbRateFactName
);
_addFact
(
&
_altitudeRelativeFact
,
_altitudeRelativeFactName
);
_addFact
(
&
_altitudeRelativeFact
,
_altitudeRelativeFactName
);
_addFact
(
&
_altitudeWGS84Fact
,
_altitudeWGS84FactName
);
_addFact
(
&
_altitudeAMSLFact
,
_altitudeAMSLFactName
);
_addFact
(
&
_altitudeAMSLFact
,
_altitudeAMSLFactName
);
_addFactGroup
(
&
_gpsFactGroup
,
_gpsFactGroupName
);
_addFactGroup
(
&
_gpsFactGroup
,
_gpsFactGroupName
);
_addFactGroup
(
&
_batteryFactGroup
,
_batteryFactGroupName
);
_gpsFactGroup
.
setVehicle
(
this
);
_gpsFactGroup
.
setVehicle
(
this
);
_batteryFactGroup
.
setVehicle
(
this
);
}
}
Vehicle
::~
Vehicle
()
Vehicle
::~
Vehicle
()
...
@@ -295,6 +306,12 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes
...
@@ -295,6 +306,12 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes
case
MAVLINK_MSG_ID_RC_CHANNELS_RAW
:
case
MAVLINK_MSG_ID_RC_CHANNELS_RAW
:
_handleRCChannelsRaw
(
message
);
_handleRCChannelsRaw
(
message
);
break
;
break
;
case
MAVLINK_MSG_ID_BATTERY_STATUS
:
_handleBatteryStatus
(
message
);
break
;
case
MAVLINK_MSG_ID_SYS_STATUS
:
_handleSysStatus
(
message
);
break
;
case
MAVLINK_MSG_ID_RAW_IMU
:
case
MAVLINK_MSG_ID_RAW_IMU
:
emit
mavlinkRawImu
(
message
);
emit
mavlinkRawImu
(
message
);
break
;
break
;
...
@@ -314,6 +331,53 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes
...
@@ -314,6 +331,53 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes
_uas
->
receiveMessage
(
message
);
_uas
->
receiveMessage
(
message
);
}
}
void
Vehicle
::
_handleSysStatus
(
mavlink_message_t
&
message
)
{
mavlink_sys_status_t
sysStatus
;
mavlink_msg_sys_status_decode
(
&
message
,
&
sysStatus
);
if
(
sysStatus
.
current_battery
==
-
1
)
{
_batteryFactGroup
.
current
()
->
setRawValue
(
VehicleBatteryFactGroup
::
_currentUnavailable
);
}
else
{
_batteryFactGroup
.
current
()
->
setRawValue
((
double
)
sysStatus
.
current_battery
*
10
);
}
if
(
sysStatus
.
voltage_battery
==
UINT16_MAX
)
{
_batteryFactGroup
.
voltage
()
->
setRawValue
(
VehicleBatteryFactGroup
::
_voltageUnavailable
);
}
else
{
_batteryFactGroup
.
voltage
()
->
setRawValue
((
double
)
sysStatus
.
voltage_battery
/
1000.0
);
}
_batteryFactGroup
.
percentRemaining
()
->
setRawValue
(
sysStatus
.
battery_remaining
);
}
void
Vehicle
::
_handleBatteryStatus
(
mavlink_message_t
&
message
)
{
mavlink_battery_status_t
bat_status
;
mavlink_msg_battery_status_decode
(
&
message
,
&
bat_status
);
if
(
bat_status
.
temperature
==
INT16_MAX
)
{
_batteryFactGroup
.
temperature
()
->
setRawValue
(
VehicleBatteryFactGroup
::
_temperatureUnavailable
);
}
else
{
_batteryFactGroup
.
temperature
()
->
setRawValue
((
double
)
bat_status
.
temperature
/
100.0
);
}
if
(
bat_status
.
current_consumed
==
-
1
)
{
_batteryFactGroup
.
mahConsumed
()
->
setRawValue
(
VehicleBatteryFactGroup
::
_mahConsumedUnavailable
);
}
else
{
_batteryFactGroup
.
mahConsumed
()
->
setRawValue
(
bat_status
.
current_consumed
);
}
int
cellCount
=
0
;
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
bat_status
.
voltages
[
i
]
!=
UINT16_MAX
)
{
cellCount
++
;
}
}
if
(
cellCount
==
0
)
{
cellCount
=
-
1
;
}
_batteryFactGroup
.
cellCount
()
->
setRawValue
(
cellCount
);
}
void
Vehicle
::
_handleHomePosition
(
mavlink_message_t
&
message
)
void
Vehicle
::
_handleHomePosition
(
mavlink_message_t
&
message
)
{
{
bool
emitHomePositionChanged
=
false
;
bool
emitHomePositionChanged
=
false
;
...
@@ -604,9 +668,9 @@ void Vehicle::_updateSpeed(UASInterface*, double groundSpeed, double airSpeed, q
...
@@ -604,9 +668,9 @@ void Vehicle::_updateSpeed(UASInterface*, double groundSpeed, double airSpeed, q
_airSpeedFact
.
setRawValue
(
airSpeed
);
_airSpeedFact
.
setRawValue
(
airSpeed
);
}
}
void
Vehicle
::
_updateAltitude
(
UASInterface
*
,
double
altitudeAMSL
,
double
altitudeWGS84
,
double
altitudeRelative
,
double
climbRate
,
quint64
)
{
void
Vehicle
::
_updateAltitude
(
UASInterface
*
,
double
altitudeAMSL
,
double
altitudeRelative
,
double
climbRate
,
quint64
)
{
_altitudeAMSLFact
.
setRawValue
(
altitudeAMSL
);
_altitudeAMSLFact
.
setRawValue
(
altitudeAMSL
);
_altitudeWGS84Fact
.
setRawValue
(
altitudeWGS84
);
_altitudeRelativeFact
.
setRawValue
(
altitudeRelative
);
_altitudeRelativeFact
.
setRawValue
(
altitudeRelative
);
_climbRateFact
.
setRawValue
(
climbRate
);
_climbRateFact
.
setRawValue
(
climbRate
);
}
}
...
@@ -667,34 +731,6 @@ void Vehicle::_handletextMessageReceived(UASMessage* message)
...
@@ -667,34 +731,6 @@ void Vehicle::_handletextMessageReceived(UASMessage* message)
}
}
}
}
void
Vehicle
::
_updateBatteryRemaining
(
UASInterface
*
,
double
voltage
,
double
,
double
percent
,
int
)
{
if
(
percent
<
0.0
)
{
percent
=
0.0
;
}
if
(
voltage
<
0.0
)
{
voltage
=
0.0
;
}
if
(
_batteryVoltage
!=
voltage
)
{
_batteryVoltage
=
voltage
;
emit
batteryVoltageChanged
();
}
if
(
_batteryPercent
!=
percent
)
{
_batteryPercent
=
percent
;
emit
batteryPercentChanged
();
}
}
void
Vehicle
::
_updateBatteryConsumedChanged
(
UASInterface
*
,
double
current_consumed
)
{
if
(
_batteryConsumed
!=
current_consumed
)
{
_batteryConsumed
=
current_consumed
;
emit
batteryConsumedChanged
();
}
}
void
Vehicle
::
_updateState
(
UASInterface
*
,
QString
name
,
QString
)
void
Vehicle
::
_updateState
(
UASInterface
*
,
QString
name
,
QString
)
{
{
if
(
_currentState
!=
name
)
{
if
(
_currentState
!=
name
)
{
...
@@ -1195,8 +1231,6 @@ VehicleGPSFactGroup::VehicleGPSFactGroup(QObject* parent)
...
@@ -1195,8 +1231,6 @@ VehicleGPSFactGroup::VehicleGPSFactGroup(QObject* parent)
,
_countFact
(
0
,
_countFactName
,
FactMetaData
::
valueTypeInt32
)
,
_countFact
(
0
,
_countFactName
,
FactMetaData
::
valueTypeInt32
)
,
_lockFact
(
0
,
_lockFactName
,
FactMetaData
::
valueTypeInt32
)
,
_lockFact
(
0
,
_lockFactName
,
FactMetaData
::
valueTypeInt32
)
{
{
// Build FactGroup object model
_addFact
(
&
_hdopFact
,
_hdopFactName
);
_addFact
(
&
_hdopFact
,
_hdopFactName
);
_addFact
(
&
_vdopFact
,
_vdopFactName
);
_addFact
(
&
_vdopFact
,
_vdopFactName
);
_addFact
(
&
_courseOverGroundFact
,
_courseOverGroundFactName
);
_addFact
(
&
_courseOverGroundFact
,
_courseOverGroundFactName
);
...
@@ -1208,14 +1242,6 @@ void VehicleGPSFactGroup::setVehicle(Vehicle* vehicle)
...
@@ -1208,14 +1242,6 @@ void VehicleGPSFactGroup::setVehicle(Vehicle* vehicle)
{
{
_vehicle
=
vehicle
;
_vehicle
=
vehicle
;
#if 0
// Reset satellite data (no GPS)
_satelliteCount = -1;
_satRawHDOP = 1e10f;
_satRawVDOP = 1e10f;
_satRawCOG = 0.0;
#endif
connect
(
_vehicle
->
uas
(),
&
UASInterface
::
localizationChanged
,
this
,
&
VehicleGPSFactGroup
::
_setSatLoc
);
connect
(
_vehicle
->
uas
(),
&
UASInterface
::
localizationChanged
,
this
,
&
VehicleGPSFactGroup
::
_setSatLoc
);
UAS
*
pUas
=
dynamic_cast
<
UAS
*>
(
_vehicle
->
uas
());
UAS
*
pUas
=
dynamic_cast
<
UAS
*>
(
_vehicle
->
uas
());
...
@@ -1259,3 +1285,33 @@ void VehicleGPSFactGroup::_setSatLoc(UASInterface*, int fix)
...
@@ -1259,3 +1285,33 @@ void VehicleGPSFactGroup::_setSatLoc(UASInterface*, int fix)
}
}
}
}
VehicleBatteryFactGroup
::
VehicleBatteryFactGroup
(
QObject
*
parent
)
:
FactGroup
(
1000
,
":/json/Vehicle/BatteryFact.json"
,
parent
)
,
_vehicle
(
NULL
)
,
_voltageFact
(
0
,
_voltageFactName
,
FactMetaData
::
valueTypeDouble
)
,
_percentRemainingFact
(
0
,
_percentRemainingFactName
,
FactMetaData
::
valueTypeInt32
)
,
_mahConsumedFact
(
0
,
_mahConsumedFactName
,
FactMetaData
::
valueTypeInt32
)
,
_currentFact
(
0
,
_currentFactName
,
FactMetaData
::
valueTypeInt32
)
,
_temperatureFact
(
0
,
_temperatureFactName
,
FactMetaData
::
valueTypeDouble
)
,
_cellCountFact
(
0
,
_cellCountFactName
,
FactMetaData
::
valueTypeInt32
)
{
_addFact
(
&
_voltageFact
,
_voltageFactName
);
_addFact
(
&
_percentRemainingFact
,
_percentRemainingFactName
);
_addFact
(
&
_mahConsumedFact
,
_mahConsumedFactName
);
_addFact
(
&
_currentFact
,
_currentFactName
);
_addFact
(
&
_temperatureFact
,
_temperatureFactName
);
_addFact
(
&
_cellCountFact
,
_cellCountFactName
);
// Start out as not available
_voltageFact
.
setRawValue
(
_voltageUnavailable
);
_percentRemainingFact
.
setRawValue
(
_percentRemainingUnavailable
);
_mahConsumedFact
.
setRawValue
(
_mahConsumedUnavailable
);
_currentFact
.
setRawValue
(
_currentUnavailable
);
_temperatureFact
.
setRawValue
(
_temperatureUnavailable
);
_cellCountFact
.
setRawValue
(
_cellCountUnavailable
);
}
void
VehicleBatteryFactGroup
::
setVehicle
(
Vehicle
*
vehicle
)
{
_vehicle
=
vehicle
;
}
src/Vehicle/Vehicle.h
View file @
146820c2
...
@@ -74,6 +74,12 @@ public:
...
@@ -74,6 +74,12 @@ public:
void
setVehicle
(
Vehicle
*
vehicle
);
void
setVehicle
(
Vehicle
*
vehicle
);
static
const
char
*
_hdopFactName
;
static
const
char
*
_vdopFactName
;
static
const
char
*
_courseOverGroundFactName
;
static
const
char
*
_countFactName
;
static
const
char
*
_lockFactName
;
private
slots
:
private
slots
:
void
_setSatelliteCount
(
double
val
,
QString
);
void
_setSatelliteCount
(
double
val
,
QString
);
void
_setSatRawHDOP
(
double
val
);
void
_setSatRawHDOP
(
double
val
);
...
@@ -88,12 +94,53 @@ private:
...
@@ -88,12 +94,53 @@ private:
Fact
_courseOverGroundFact
;
Fact
_courseOverGroundFact
;
Fact
_countFact
;
Fact
_countFact
;
Fact
_lockFact
;
Fact
_lockFact
;
};
static
const
char
*
_hdopFactName
;
class
VehicleBatteryFactGroup
:
public
FactGroup
static
const
char
*
_vdopFactName
;
{
static
const
char
*
_courseOverGroundFactName
;
Q_OBJECT
static
const
char
*
_countFactName
;
static
const
char
*
_lockFactName
;
public:
VehicleBatteryFactGroup
(
QObject
*
parent
=
NULL
);
Q_PROPERTY
(
Fact
*
voltage
READ
voltage
CONSTANT
)
Q_PROPERTY
(
Fact
*
percentRemaining
READ
percentRemaining
CONSTANT
)
Q_PROPERTY
(
Fact
*
mahConsumed
READ
mahConsumed
CONSTANT
)
Q_PROPERTY
(
Fact
*
current
READ
current
CONSTANT
)
Q_PROPERTY
(
Fact
*
temperature
READ
temperature
CONSTANT
)
Q_PROPERTY
(
Fact
*
cellCount
READ
cellCount
CONSTANT
)
Fact
*
voltage
(
void
)
{
return
&
_voltageFact
;
}
Fact
*
percentRemaining
(
void
)
{
return
&
_percentRemainingFact
;
}
Fact
*
mahConsumed
(
void
)
{
return
&
_mahConsumedFact
;
}
Fact
*
current
(
void
)
{
return
&
_currentFact
;
}
Fact
*
temperature
(
void
)
{
return
&
_temperatureFact
;
}
Fact
*
cellCount
(
void
)
{
return
&
_cellCountFact
;
}
void
setVehicle
(
Vehicle
*
vehicle
);
static
const
char
*
_voltageFactName
;
static
const
char
*
_percentRemainingFactName
;
static
const
char
*
_mahConsumedFactName
;
static
const
char
*
_currentFactName
;
static
const
char
*
_temperatureFactName
;
static
const
char
*
_cellCountFactName
;
static
const
double
_voltageUnavailable
;
static
const
int
_percentRemainingUnavailable
;
static
const
int
_mahConsumedUnavailable
;
static
const
int
_currentUnavailable
;
static
const
double
_temperatureUnavailable
;
static
const
int
_cellCountUnavailable
;
private:
Vehicle
*
_vehicle
;
Fact
_voltageFact
;
Fact
_percentRemainingFact
;
Fact
_mahConsumedFact
;
Fact
_currentFact
;
Fact
_temperatureFact
;
Fact
_cellCountFact
;
};
};
class
Vehicle
:
public
FactGroup
class
Vehicle
:
public
FactGroup
...
@@ -126,9 +173,6 @@ public:
...
@@ -126,9 +173,6 @@ public:
Q_PROPERTY
(
QmlObjectListModel
*
trajectoryPoints
READ
trajectoryPoints
CONSTANT
)
Q_PROPERTY
(
QmlObjectListModel
*
trajectoryPoints
READ
trajectoryPoints
CONSTANT
)
Q_PROPERTY
(
float
latitude
READ
latitude
NOTIFY
coordinateChanged
)
Q_PROPERTY
(
float
latitude
READ
latitude
NOTIFY
coordinateChanged
)
Q_PROPERTY
(
float
longitude
READ
longitude
NOTIFY
coordinateChanged
)
Q_PROPERTY
(
float
longitude
READ
longitude
NOTIFY
coordinateChanged
)
Q_PROPERTY
(
double
batteryVoltage
READ
batteryVoltage
NOTIFY
batteryVoltageChanged
)
Q_PROPERTY
(
double
batteryPercent
READ
batteryPercent
NOTIFY
batteryPercentChanged
)
Q_PROPERTY
(
double
batteryConsumed
READ
batteryConsumed
NOTIFY
batteryConsumedChanged
)
Q_PROPERTY
(
QString
currentState
READ
currentState
NOTIFY
currentStateChanged
)
Q_PROPERTY
(
QString
currentState
READ
currentState
NOTIFY
currentStateChanged
)
Q_PROPERTY
(
QmlObjectListModel
*
missionItems
READ
missionItemsModel
CONSTANT
)
Q_PROPERTY
(
QmlObjectListModel
*
missionItems
READ
missionItemsModel
CONSTANT
)
Q_PROPERTY
(
bool
messageTypeNone
READ
messageTypeNone
NOTIFY
messageTypeChanged
)
Q_PROPERTY
(
bool
messageTypeNone
READ
messageTypeNone
NOTIFY
messageTypeChanged
)
...
@@ -167,10 +211,10 @@ public:
...
@@ -167,10 +211,10 @@ public:
Q_PROPERTY
(
Fact
*
airSpeed
READ
airSpeed
CONSTANT
)
Q_PROPERTY
(
Fact
*
airSpeed
READ
airSpeed
CONSTANT
)
Q_PROPERTY
(
Fact
*
climbRate
READ
climbRate
CONSTANT
)
Q_PROPERTY
(
Fact
*
climbRate
READ
climbRate
CONSTANT
)
Q_PROPERTY
(
Fact
*
altitudeRelative
READ
altitudeRelative
CONSTANT
)
Q_PROPERTY
(
Fact
*
altitudeRelative
READ
altitudeRelative
CONSTANT
)
Q_PROPERTY
(
Fact
*
altitudeWGS84
READ
altitudeWGS84
CONSTANT
)
Q_PROPERTY
(
Fact
*
altitudeAMSL
READ
altitudeAMSL
CONSTANT
)
Q_PROPERTY
(
Fact
*
altitudeAMSL
READ
altitudeAMSL
CONSTANT
)
Q_PROPERTY
(
FactGroup
*
gps
READ
gpsFactGroup
CONSTANT
)
Q_PROPERTY
(
FactGroup
*
gps
READ
gpsFactGroup
CONSTANT
)
Q_PROPERTY
(
FactGroup
*
battery
READ
batteryFactGroup
CONSTANT
)
/// Resets link status counters
/// Resets link status counters
Q_INVOKABLE
void
resetCounters
();
Q_INVOKABLE
void
resetCounters
();
...
@@ -298,9 +342,6 @@ public:
...
@@ -298,9 +342,6 @@ public:
float
latitude
()
{
return
_coordinate
.
latitude
();
}
float
latitude
()
{
return
_coordinate
.
latitude
();
}
float
longitude
()
{
return
_coordinate
.
longitude
();
}
float
longitude
()
{
return
_coordinate
.
longitude
();
}
bool
mavPresent
()
{
return
_mav
!=
NULL
;
}
bool
mavPresent
()
{
return
_mav
!=
NULL
;
}
double
batteryVoltage
()
{
return
_batteryVoltage
;
}
double
batteryPercent
()
{
return
_batteryPercent
;
}
double
batteryConsumed
()
{
return
_batteryConsumed
;
}
QString
currentState
()
{
return
_currentState
;
}
QString
currentState
()
{
return
_currentState
;
}
int
rcRSSI
()
{
return
_rcRSSI
;
}
int
rcRSSI
()
{
return
_rcRSSI
;
}
bool
px4Firmware
()
{
return
_firmwareType
==
MAV_AUTOPILOT_PX4
;
}
bool
px4Firmware
()
{
return
_firmwareType
==
MAV_AUTOPILOT_PX4
;
}
...
@@ -319,10 +360,10 @@ public:
...
@@ -319,10 +360,10 @@ public:
Fact
*
groundSpeed
(
void
)
{
return
&
_groundSpeedFact
;
}
Fact
*
groundSpeed
(
void
)
{
return
&
_groundSpeedFact
;
}
Fact
*
climbRate
(
void
)
{
return
&
_climbRateFact
;
}
Fact
*
climbRate
(
void
)
{
return
&
_climbRateFact
;
}
Fact
*
altitudeRelative
(
void
)
{
return
&
_altitudeRelativeFact
;
}
Fact
*
altitudeRelative
(
void
)
{
return
&
_altitudeRelativeFact
;
}
Fact
*
altitudeWGS84
(
void
)
{
return
&
_altitudeWGS84Fact
;
}
Fact
*
altitudeAMSL
(
void
)
{
return
&
_altitudeAMSLFact
;
}
Fact
*
altitudeAMSL
(
void
)
{
return
&
_altitudeAMSLFact
;
}
FactGroup
*
gpsFactGroup
(
void
)
{
return
&
_gpsFactGroup
;
}
FactGroup
*
gpsFactGroup
(
void
)
{
return
&
_gpsFactGroup
;
}
FactGroup
*
batteryFactGroup
(
void
)
{
return
&
_batteryFactGroup
;
}
void
setConnectionLostEnabled
(
bool
connectionLostEnabled
);
void
setConnectionLostEnabled
(
bool
connectionLostEnabled
);
...
@@ -369,9 +410,6 @@ signals:
...
@@ -369,9 +410,6 @@ signals:
void
formatedMessageChanged
();
void
formatedMessageChanged
();
void
latestErrorChanged
();
void
latestErrorChanged
();
void
longitudeChanged
();
void
longitudeChanged
();
void
batteryVoltageChanged
();
void
batteryPercentChanged
();
void
batteryConsumedChanged
();
void
currentConfigChanged
();
void
currentConfigChanged
();
void
currentStateChanged
();
void
currentStateChanged
();
void
flowImageIndexChanged
();
void
flowImageIndexChanged
();
...
@@ -407,12 +445,10 @@ private slots:
...
@@ -407,12 +445,10 @@ private slots:
/** @brief Attitude from one specific component / redundant autopilot */
/** @brief Attitude from one specific component / redundant autopilot */
void
_updateAttitude
(
UASInterface
*
uas
,
int
component
,
double
roll
,
double
pitch
,
double
yaw
,
quint64
timestamp
);
void
_updateAttitude
(
UASInterface
*
uas
,
int
component
,
double
roll
,
double
pitch
,
double
yaw
,
quint64
timestamp
);
void
_updateSpeed
(
UASInterface
*
uas
,
double
_groundSpeed
,
double
_airSpeed
,
quint64
timestamp
);
void
_updateSpeed
(
UASInterface
*
uas
,
double
_groundSpeed
,
double
_airSpeed
,
quint64
timestamp
);
void
_updateAltitude
(
UASInterface
*
uas
,
double
_altitudeAMSL
,
double
_altitude
WGS84
,
double
_altitude
Relative
,
double
_climbRate
,
quint64
timestamp
);
void
_updateAltitude
(
UASInterface
*
uas
,
double
_altitudeAMSL
,
double
_altitudeRelative
,
double
_climbRate
,
quint64
timestamp
);
void
_updateNavigationControllerErrors
(
UASInterface
*
uas
,
double
altitudeError
,
double
speedError
,
double
xtrackError
);
void
_updateNavigationControllerErrors
(
UASInterface
*
uas
,
double
altitudeError
,
double
speedError
,
double
xtrackError
);
void
_updateNavigationControllerData
(
UASInterface
*
uas
,
float
navRoll
,
float
navPitch
,
float
navBearing
,
float
targetBearing
,
float
targetDistance
);
void
_updateNavigationControllerData
(
UASInterface
*
uas
,
float
navRoll
,
float
navPitch
,
float
navBearing
,
float
targetBearing
,
float
targetDistance
);
void
_checkUpdate
();
void
_checkUpdate
();
void
_updateBatteryRemaining
(
UASInterface
*
,
double
voltage
,
double
,
double
percent
,
int
);
void
_updateBatteryConsumedChanged
(
UASInterface
*
,
double
current_consumed
);
void
_updateState
(
UASInterface
*
system
,
QString
name
,
QString
description
);
void
_updateState
(
UASInterface
*
system
,
QString
name
,
QString
description
);
/** @brief A new camera image has arrived */
/** @brief A new camera image has arrived */
void
_imageReady
(
UASInterface
*
uas
);
void
_imageReady
(
UASInterface
*
uas
);
...
@@ -428,6 +464,8 @@ private:
...
@@ -428,6 +464,8 @@ private:
void
_handleHeartbeat
(
mavlink_message_t
&
message
);
void
_handleHeartbeat
(
mavlink_message_t
&
message
);
void
_handleRCChannels
(
mavlink_message_t
&
message
);
void
_handleRCChannels
(
mavlink_message_t
&
message
);
void
_handleRCChannelsRaw
(
mavlink_message_t
&
message
);
void
_handleRCChannelsRaw
(
mavlink_message_t
&
message
);
void
_handleBatteryStatus
(
mavlink_message_t
&
message
);
void
_handleSysStatus
(
mavlink_message_t
&
message
);
void
_missionManagerError
(
int
errorCode
,
const
QString
&
errorMsg
);
void
_missionManagerError
(
int
errorCode
,
const
QString
&
errorMsg
);
void
_mapTrajectoryStart
(
void
);
void
_mapTrajectoryStart
(
void
);
void
_mapTrajectoryStop
(
void
);
void
_mapTrajectoryStop
(
void
);
...
@@ -470,9 +508,6 @@ private:
...
@@ -470,9 +508,6 @@ private:
float
_navigationCrosstrackError
;
float
_navigationCrosstrackError
;
float
_navigationTargetBearing
;
float
_navigationTargetBearing
;
QTimer
*
_refreshTimer
;
QTimer
*
_refreshTimer
;
double
_batteryVoltage
;
double
_batteryPercent
;
double
_batteryConsumed
;
QString
_currentState
;
QString
_currentState
;
int
_updateCount
;
int
_updateCount
;
QString
_formatedMessage
;
QString
_formatedMessage
;
...
@@ -539,10 +574,10 @@ private:
...
@@ -539,10 +574,10 @@ private:
Fact
_airSpeedFact
;
Fact
_airSpeedFact
;
Fact
_climbRateFact
;
Fact
_climbRateFact
;
Fact
_altitudeRelativeFact
;
Fact
_altitudeRelativeFact
;
Fact
_altitudeWGS84Fact
;
Fact
_altitudeAMSLFact
;
Fact
_altitudeAMSLFact
;
VehicleGPSFactGroup
_gpsFactGroup
;
VehicleGPSFactGroup
_gpsFactGroup
;
VehicleBatteryFactGroup
_batteryFactGroup
;
static
const
char
*
_rollFactName
;
static
const
char
*
_rollFactName
;
static
const
char
*
_pitchFactName
;
static
const
char
*
_pitchFactName
;
...
@@ -551,9 +586,9 @@ private:
...
@@ -551,9 +586,9 @@ private:
static
const
char
*
_airSpeedFactName
;
static
const
char
*
_airSpeedFactName
;
static
const
char
*
_climbRateFactName
;
static
const
char
*
_climbRateFactName
;
static
const
char
*
_altitudeRelativeFactName
;
static
const
char
*
_altitudeRelativeFactName
;
static
const
char
*
_altitudeWGS84FactName
;
static
const
char
*
_altitudeAMSLFactName
;
static
const
char
*
_altitudeAMSLFactName
;
static
const
char
*
_gpsFactGroupName
;
static
const
char
*
_gpsFactGroupName
;
static
const
char
*
_batteryFactGroupName
;
static
const
int
_vehicleUIUpdateRateMSecs
=
100
;
static
const
int
_vehicleUIUpdateRateMSecs
=
100
;
...
...
src/Vehicle/VehicleFact.json
View file @
146820c2
...
@@ -46,14 +46,7 @@
...
@@ -46,14 +46,7 @@
},
},
{
{
"name"
:
"altitudeRelative"
,
"name"
:
"altitudeRelative"
,
"shortDescription"
:
"Altitude"
,
"shortDescription"
:
"Altitude (home)"
,
"type"
:
"double"
,
"decimalPlaces"
:
1
,
"units"
:
"m"
},
{
"name"
:
"altitudeWGS84"
,
"shortDescription"
:
"Altitude"
,
"type"
:
"double"
,
"type"
:
"double"
,
"decimalPlaces"
:
1
,
"decimalPlaces"
:
1
,
"units"
:
"m"
"units"
:
"m"
...
...
src/uas/UAS.cc
View file @
146820c2
...
@@ -92,7 +92,6 @@ UAS::UAS(MAVLinkProtocol* protocol, Vehicle* vehicle, FirmwarePluginManager * fi
...
@@ -92,7 +92,6 @@ UAS::UAS(MAVLinkProtocol* protocol, Vehicle* vehicle, FirmwarePluginManager * fi
longitude
(
0.0
),
longitude
(
0.0
),
altitudeAMSL
(
0.0
),
altitudeAMSL
(
0.0
),
altitudeAMSLFT
(
0.0
),
altitudeAMSLFT
(
0.0
),
altitudeWGS84
(
0.0
),
altitudeRelative
(
0.0
),
altitudeRelative
(
0.0
),
satRawHDOP
(
1e10
f
),
satRawHDOP
(
1e10
f
),
...
@@ -355,18 +354,6 @@ void UAS::receiveMessage(mavlink_message_t message)
...
@@ -355,18 +354,6 @@ void UAS::receiveMessage(mavlink_message_t message)
break
;
break
;
case
MAVLINK_MSG_ID_BATTERY_STATUS
:
{
if
(
multiComponentSourceDetected
&&
wrongComponent
)
{
break
;
}
mavlink_battery_status_t
bat_status
;
mavlink_msg_battery_status_decode
(
&
message
,
&
bat_status
);
emit
batteryConsumedChanged
(
this
,
(
double
)
bat_status
.
current_consumed
);
}
break
;
case
MAVLINK_MSG_ID_SYS_STATUS
:
case
MAVLINK_MSG_ID_SYS_STATUS
:
{
{
if
(
multiComponentSourceDetected
&&
wrongComponent
)
if
(
multiComponentSourceDetected
&&
wrongComponent
)
...
@@ -391,6 +378,8 @@ void UAS::receiveMessage(mavlink_message_t message)
...
@@ -391,6 +378,8 @@ void UAS::receiveMessage(mavlink_message_t message)
emit
loadChanged
(
this
,
state
.
load
/
10.0
f
);
emit
loadChanged
(
this
,
state
.
load
/
10.0
f
);
emit
valueChanged
(
uasId
,
name
.
arg
(
"load"
),
"%"
,
state
.
load
/
10.0
f
,
time
);
emit
valueChanged
(
uasId
,
name
.
arg
(
"load"
),
"%"
,
state
.
load
/
10.0
f
,
time
);
currentVoltage
=
state
.
voltage_battery
/
1000.0
f
;
if
(
state
.
voltage_battery
>
0.0
f
&&
state
.
voltage_battery
!=
UINT16_MAX
)
{
if
(
state
.
voltage_battery
>
0.0
f
&&
state
.
voltage_battery
!=
UINT16_MAX
)
{
// Battery charge/time remaining/voltage calculations
// Battery charge/time remaining/voltage calculations
currentVoltage
=
state
.
voltage_battery
/
1000.0
f
;
currentVoltage
=
state
.
voltage_battery
/
1000.0
f
;
...
@@ -572,7 +561,7 @@ void UAS::receiveMessage(mavlink_message_t message)
...
@@ -572,7 +561,7 @@ void UAS::receiveMessage(mavlink_message_t message)
if
(
!
isnan
(
hud
.
airspeed
))
if
(
!
isnan
(
hud
.
airspeed
))
setAirSpeed
(
hud
.
airspeed
);
setAirSpeed
(
hud
.
airspeed
);
speedZ
=
-
hud
.
climb
;
speedZ
=
-
hud
.
climb
;
emit
altitudeChanged
(
this
,
altitudeAMSL
,
altitude
WGS84
,
altitude
Relative
,
-
speedZ
,
time
);
emit
altitudeChanged
(
this
,
altitudeAMSL
,
altitudeRelative
,
-
speedZ
,
time
);
emit
speedChanged
(
this
,
groundSpeed
,
airSpeed
,
time
);
emit
speedChanged
(
this
,
groundSpeed
,
airSpeed
,
time
);
}
}
break
;
break
;
...
@@ -614,7 +603,6 @@ void UAS::receiveMessage(mavlink_message_t message)
...
@@ -614,7 +603,6 @@ void UAS::receiveMessage(mavlink_message_t message)
setLatitude
(
pos
.
lat
/
(
double
)
1E7
);
setLatitude
(
pos
.
lat
/
(
double
)
1E7
);
setLongitude
(
pos
.
lon
/
(
double
)
1E7
);
setLongitude
(
pos
.
lon
/
(
double
)
1E7
);
setAltitudeWGS84
(
pos
.
alt
/
1000.0
);
setAltitudeRelative
(
pos
.
relative_alt
/
1000.0
);
setAltitudeRelative
(
pos
.
relative_alt
/
1000.0
);
globalEstimatorActive
=
true
;
globalEstimatorActive
=
true
;
...
@@ -623,8 +611,8 @@ void UAS::receiveMessage(mavlink_message_t message)
...
@@ -623,8 +611,8 @@ void UAS::receiveMessage(mavlink_message_t message)
speedY
=
pos
.
vy
/
100.0
;
speedY
=
pos
.
vy
/
100.0
;
speedZ
=
pos
.
vz
/
100.0
;
speedZ
=
pos
.
vz
/
100.0
;
emit
globalPositionChanged
(
this
,
getLatitude
(),
getLongitude
(),
getAltitudeAMSL
(),
getAltitudeWGS84
(),
time
);
emit
globalPositionChanged
(
this
,
getLatitude
(),
getLongitude
(),
getAltitudeAMSL
(),
time
);
emit
altitudeChanged
(
this
,
altitudeAMSL
,
altitude
WGS84
,
altitude
Relative
,
-
speedZ
,
time
);
emit
altitudeChanged
(
this
,
altitudeAMSL
,
altitudeRelative
,
-
speedZ
,
time
);
// We had some frame mess here, global and local axes were mixed.
// We had some frame mess here, global and local axes were mixed.
emit
velocityChanged_NED
(
this
,
speedX
,
speedY
,
speedZ
,
time
);
emit
velocityChanged_NED
(
this
,
speedX
,
speedY
,
speedZ
,
time
);
...
@@ -661,9 +649,8 @@ void UAS::receiveMessage(mavlink_message_t message)
...
@@ -661,9 +649,8 @@ void UAS::receiveMessage(mavlink_message_t message)
if
(
!
globalEstimatorActive
)
{
if
(
!
globalEstimatorActive
)
{
setLatitude
(
latitude_gps
);
setLatitude
(
latitude_gps
);
setLongitude
(
longitude_gps
);
setLongitude
(
longitude_gps
);
setAltitudeWGS84
(
altitude_gps
);
emit
globalPositionChanged
(
this
,
getLatitude
(),
getLongitude
(),
getAltitudeAMSL
(),
time
);
emit
globalPositionChanged
(
this
,
getLatitude
(),
getLongitude
(),
getAltitudeAMSL
(),
getAltitudeWGS84
(),
time
);
emit
altitudeChanged
(
this
,
altitudeAMSL
,
altitudeRelative
,
-
speedZ
,
time
);
emit
altitudeChanged
(
this
,
altitudeAMSL
,
altitudeWGS84
,
altitudeRelative
,
-
speedZ
,
time
);
float
vel
=
pos
.
vel
/
100.0
f
;
float
vel
=
pos
.
vel
/
100.0
f
;
// Smaller than threshold and not NaN
// Smaller than threshold and not NaN
...
...
src/uas/UAS.h
View file @
146820c2
...
@@ -93,7 +93,6 @@ public:
...
@@ -93,7 +93,6 @@ public:
Q_PROPERTY
(
double
bearingToWaypoint
READ
getBearingToWaypoint
WRITE
setBearingToWaypoint
NOTIFY
bearingToWaypointChanged
)
Q_PROPERTY
(
double
bearingToWaypoint
READ
getBearingToWaypoint
WRITE
setBearingToWaypoint
NOTIFY
bearingToWaypointChanged
)
Q_PROPERTY
(
double
altitudeAMSL
READ
getAltitudeAMSL
WRITE
setAltitudeAMSL
NOTIFY
altitudeAMSLChanged
)
Q_PROPERTY
(
double
altitudeAMSL
READ
getAltitudeAMSL
WRITE
setAltitudeAMSL
NOTIFY
altitudeAMSLChanged
)
Q_PROPERTY
(
double
altitudeAMSLFT
READ
getAltitudeAMSLFT
NOTIFY
altitudeAMSLFTChanged
)
Q_PROPERTY
(
double
altitudeAMSLFT
READ
getAltitudeAMSLFT
NOTIFY
altitudeAMSLFTChanged
)
Q_PROPERTY
(
double
altitudeWGS84
READ
getAltitudeWGS84
WRITE
setAltitudeWGS84
NOTIFY
altitudeWGS84Changed
)
Q_PROPERTY
(
double
altitudeRelative
READ
getAltitudeRelative
WRITE
setAltitudeRelative
NOTIFY
altitudeRelativeChanged
)
Q_PROPERTY
(
double
altitudeRelative
READ
getAltitudeRelative
WRITE
setAltitudeRelative
NOTIFY
altitudeRelativeChanged
)
Q_PROPERTY
(
double
satRawHDOP
READ
getSatRawHDOP
NOTIFY
satRawHDOPChanged
)
Q_PROPERTY
(
double
satRawHDOP
READ
getSatRawHDOP
NOTIFY
satRawHDOPChanged
)
Q_PROPERTY
(
double
satRawVDOP
READ
getSatRawVDOP
NOTIFY
satRawVDOPChanged
)
Q_PROPERTY
(
double
satRawVDOP
READ
getSatRawVDOP
NOTIFY
satRawVDOPChanged
)
...
@@ -203,19 +202,6 @@ public:
...
@@ -203,19 +202,6 @@ public:
return
altitudeAMSLFT
;
return
altitudeAMSLFT
;
}
}
void
setAltitudeWGS84
(
double
val
)
{
altitudeWGS84
=
val
;
emit
altitudeWGS84Changed
(
val
,
"altitudeWGS84"
);
emit
valueChanged
(
this
->
uasId
,
"altitudeWGS84"
,
"m"
,
QVariant
(
val
),
getUnixTime
());
}
double
getAltitudeWGS84
()
const
{
return
altitudeWGS84
;
}
void
setAltitudeRelative
(
double
val
)
void
setAltitudeRelative
(
double
val
)
{
{
altitudeRelative
=
val
;
altitudeRelative
=
val
;
...
@@ -431,7 +417,6 @@ protected: //COMMENTS FOR TEST UNIT
...
@@ -431,7 +417,6 @@ protected: //COMMENTS FOR TEST UNIT
double
longitude
;
///< Global longitude as estimated by position estimator
double
longitude
;
///< Global longitude as estimated by position estimator
double
altitudeAMSL
;
///< Global altitude as estimated by position estimator, AMSL
double
altitudeAMSL
;
///< Global altitude as estimated by position estimator, AMSL
double
altitudeAMSLFT
;
///< Global altitude as estimated by position estimator, AMSL
double
altitudeAMSLFT
;
///< Global altitude as estimated by position estimator, AMSL
double
altitudeWGS84
;
///< Global altitude as estimated by position estimator, WGS84
double
altitudeRelative
;
///< Altitude above home as estimated by position estimator
double
altitudeRelative
;
///< Altitude above home as estimated by position estimator
double
satRawHDOP
;
double
satRawHDOP
;
...
@@ -614,7 +599,6 @@ signals:
...
@@ -614,7 +599,6 @@ signals:
void
latitudeChanged
(
double
val
,
QString
name
);
void
latitudeChanged
(
double
val
,
QString
name
);
void
altitudeAMSLChanged
(
double
val
,
QString
name
);
void
altitudeAMSLChanged
(
double
val
,
QString
name
);
void
altitudeAMSLFTChanged
(
double
val
,
QString
name
);
void
altitudeAMSLFTChanged
(
double
val
,
QString
name
);
void
altitudeWGS84Changed
(
double
val
,
QString
name
);
void
altitudeRelativeChanged
(
double
val
,
QString
name
);
void
altitudeRelativeChanged
(
double
val
,
QString
name
);
void
satRawHDOPChanged
(
double
value
);
void
satRawHDOPChanged
(
double
value
);
...
...
src/uas/UASInterface.h
View file @
146820c2
...
@@ -253,7 +253,6 @@ signals:
...
@@ -253,7 +253,6 @@ signals:
* @param seconds estimated remaining flight time in seconds
* @param seconds estimated remaining flight time in seconds
*/
*/
void
batteryChanged
(
UASInterface
*
uas
,
double
voltage
,
double
current
,
double
percent
,
int
seconds
);
void
batteryChanged
(
UASInterface
*
uas
,
double
voltage
,
double
current
,
double
percent
,
int
seconds
);
void
batteryConsumedChanged
(
UASInterface
*
uas
,
double
current_consumed
);
void
statusChanged
(
UASInterface
*
uas
,
QString
status
);
void
statusChanged
(
UASInterface
*
uas
,
QString
status
);
void
thrustChanged
(
UASInterface
*
,
double
thrust
);
void
thrustChanged
(
UASInterface
*
,
double
thrust
);
void
attitudeChanged
(
UASInterface
*
,
double
roll
,
double
pitch
,
double
yaw
,
quint64
usec
);
void
attitudeChanged
(
UASInterface
*
,
double
roll
,
double
pitch
,
double
yaw
,
quint64
usec
);
...
@@ -264,8 +263,8 @@ signals:
...
@@ -264,8 +263,8 @@ signals:
void
positionSetPointsChanged
(
int
uasid
,
float
xDesired
,
float
yDesired
,
float
zDesired
,
float
yawDesired
,
quint64
usec
);
void
positionSetPointsChanged
(
int
uasid
,
float
xDesired
,
float
yDesired
,
float
zDesired
,
float
yawDesired
,
quint64
usec
);
/** @brief A user (or an autonomous mission or obstacle avoidance planner) requested to set a new setpoint */
/** @brief A user (or an autonomous mission or obstacle avoidance planner) requested to set a new setpoint */
void
userPositionSetPointsChanged
(
int
uasid
,
float
xDesired
,
float
yDesired
,
float
zDesired
,
float
yawDesired
);
void
userPositionSetPointsChanged
(
int
uasid
,
float
xDesired
,
float
yDesired
,
float
zDesired
,
float
yawDesired
);
void
globalPositionChanged
(
UASInterface
*
,
double
lat
,
double
lon
,
double
altAMSL
,
double
altWGS84
,
quint64
usec
);
void
globalPositionChanged
(
UASInterface
*
,
double
lat
,
double
lon
,
double
altAMSL
,
quint64
usec
);
void
altitudeChanged
(
UASInterface
*
,
double
altitudeAMSL
,
double
altitude
WGS84
,
double
altitude
Relative
,
double
climbRate
,
quint64
usec
);
void
altitudeChanged
(
UASInterface
*
,
double
altitudeAMSL
,
double
altitudeRelative
,
double
climbRate
,
quint64
usec
);
/** @brief Update the status of one satellite used for localization */
/** @brief Update the status of one satellite used for localization */
void
gpsSatelliteStatusChanged
(
int
uasid
,
int
satid
,
float
azimuth
,
float
direction
,
float
snr
,
bool
used
);
void
gpsSatelliteStatusChanged
(
int
uasid
,
int
satid
,
float
azimuth
,
float
direction
,
float
snr
,
bool
used
);
...
...
src/ui/toolbar/MainToolBar.qml
View file @
146820c2
...
@@ -165,13 +165,13 @@ Rectangle {
...
@@ -165,13 +165,13 @@ Rectangle {
function
getBatteryColor
()
{
function
getBatteryColor
()
{
if
(
activeVehicle
)
{
if
(
activeVehicle
)
{
if
(
activeVehicle
.
battery
Percent
>
75
)
{
if
(
activeVehicle
.
battery
.
percentRemaining
.
value
>
75
)
{
return
colorGreen
return
colorGreen
}
}
if
(
activeVehicle
.
battery
Percent
>
50
)
{
if
(
activeVehicle
.
battery
.
percentRemaining
.
value
>
50
)
{
return
colorOrange
return
colorOrange
}
}
if
(
activeVehicle
.
battery
Percent
>
0.1
)
{
if
(
activeVehicle
.
battery
.
percentRemaining
.
value
>
0.1
)
{
return
colorRed
return
colorRed
}
}
}
}
...
@@ -276,27 +276,29 @@ Rectangle {
...
@@ -276,27 +276,29 @@ Rectangle {
// Battery Info
// Battery Info
Component
{
Component
{
id
:
batteryInfo
id
:
batteryInfo
Rectangle
{
Rectangle
{
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.75
)
color
:
Qt
.
rgba
(
0
,
0
,
0
,
0.75
)
width
:
battCol
.
width
+
ScreenTools
.
defaultFontPixelWidth
*
3
width
:
battCol
.
width
+
ScreenTools
.
defaultFontPixelWidth
*
3
height
:
battCol
.
height
+
ScreenTools
.
defaultFontPixelHeight
*
2
height
:
battCol
.
height
+
ScreenTools
.
defaultFontPixelHeight
*
2
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
Column
{
Column
{
id
:
battCol
id
:
battCol
spacing
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
spacing
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
width
:
Math
.
max
(
battGrid
.
width
,
battLabel
.
width
)
width
:
Math
.
max
(
battGrid
.
width
,
battLabel
.
width
)
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
anchors.centerIn
:
parent
anchors.centerIn
:
parent
QGCLabel
{
QGCLabel
{
id
:
battLabel
id
:
battLabel
text
:
(
activeVehicle
&&
(
activeVehicle
.
batteryVoltage
>
0
))
?
"
Battery Status
"
:
"
Battery Data Unavailable
"
text
:
"
Battery Status
"
color
:
colorWhite
color
:
colorWhite
font.weight
:
Font
.
DemiBold
font.weight
:
Font
.
DemiBold
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
}
}
GridLayout
{
GridLayout
{
id
:
battGrid
id
:
battGrid
visible
:
(
activeVehicle
&&
(
activeVehicle
.
batteryVoltage
>
0
))
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
columnSpacing
:
ScreenTools
.
defaultFontPixelWidth
columnSpacing
:
ScreenTools
.
defaultFontPixelWidth
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
...
@@ -306,29 +308,20 @@ Rectangle {
...
@@ -306,29 +308,20 @@ Rectangle {
color
:
colorWhite
color
:
colorWhite
}
}
QGCLabel
{
QGCLabel
{
text
:
activeVehicle
?
(
activeVehicle
.
batteryVoltage
.
toFixed
(
1
)
+
"
V
"
)
:
"
N/A
"
text
:
(
activeVehicle
&&
activeVehicle
.
battery
.
voltage
.
value
!=
-
1
)
?
(
activeVehicle
.
battery
.
voltage
.
valueString
+
"
"
+
activeVehicle
.
battery
.
voltage
.
units
)
:
"
N/A
"
color
:
getBatteryColor
()
color
:
getBatteryColor
()
}
}
// TODO: What "controller" provides "Facts"?
/*
QGCLabel {
text: "Cell Voltage:"
}
QGCLabel {
text: (activeVehicle.batteryVoltage / controller.getParameterFact(-1, "BAT_N_CELLS").value) + "V"
color: getBatteryColor()
}
*/
QGCLabel
{
QGCLabel
{
text
:
"
Accumulated Consumption:
"
text
:
"
Accumulated Consumption:
"
color
:
colorWhite
color
:
colorWhite
}
}
QGCLabel
{
QGCLabel
{
text
:
activeVehicle
?
(
activeVehicle
.
batteryConsumed
+
"
mA
"
)
:
"
N/A
"
text
:
(
activeVehicle
&&
activeVehicle
.
battery
.
mahConsumed
.
value
!=
-
1
)
?
(
activeVehicle
.
battery
.
mahConsumed
.
valueString
+
"
"
+
activeVehicle
.
battery
.
mahConsumed
.
units
)
:
"
N/A
"
color
:
getBatteryColor
()
color
:
getBatteryColor
()
}
}
}
}
}
}
Component.onCompleted
:
{
Component.onCompleted
:
{
var
pos
=
mapFromItem
(
toolBar
,
centerX
-
(
width
/
2
),
toolBar
.
height
)
var
pos
=
mapFromItem
(
toolBar
,
centerX
-
(
width
/
2
),
toolBar
.
height
)
x
=
pos
.
x
x
=
pos
.
x
...
...
src/ui/toolbar/MainToolBarIndicators.qml
View file @
146820c2
...
@@ -65,27 +65,22 @@ Row {
...
@@ -65,27 +65,22 @@ Row {
}
}
function
getBatteryVoltageText
()
{
function
getBatteryVoltageText
()
{
if
(
activeVehicle
.
batteryVoltage
>
0
)
{
if
(
activeVehicle
.
battery
.
voltage
.
value
>=
0
)
{
//-- TODO: Need number of cells so I can show cell voltage instead of total voltage
return
activeVehicle
.
battery
.
voltage
.
valueString
+
activeVehicle
.
battery
.
voltage
.
units
//if (battNumCells && battNumCells.value) {
// return (activeVehicle.batteryVoltage / battNumCells.value).toFixed(2) + 'V'
//} else {
return
activeVehicle
.
batteryVoltage
.
toFixed
(
1
)
+
'
V
'
//}
}
}
return
'
N/A
'
;
return
'
N/A
'
;
}
}
function
getBatteryPercentageText
()
{
function
getBatteryPercentageText
()
{
if
(
activeVehicle
)
{
if
(
activeVehicle
)
{
if
(
activeVehicle
.
battery
Percent
>
98.9
)
{
if
(
activeVehicle
.
battery
.
percentRemaining
.
value
>
98.9
)
{
return
"
100%
"
return
"
100%
"
}
}
if
(
activeVehicle
.
battery
Percent
>
0.1
)
{
if
(
activeVehicle
.
battery
.
percentRemaining
.
value
>
0.1
)
{
return
activeVehicle
.
battery
Percent
.
toFixed
(
0
)
+
"
%
"
return
activeVehicle
.
battery
.
percentRemaining
.
valueString
+
activeVehicle
.
battery
.
percentRemaining
.
units
}
}
if
(
activeVehicle
.
battery
Voltage
>
0
)
{
if
(
activeVehicle
.
battery
.
voltage
.
value
>=
0
)
{
return
activeVehicle
.
battery
Voltage
.
toFixed
(
1
)
+
"
V
"
return
activeVehicle
.
battery
.
voltage
.
valueString
+
activeVehicle
.
battery
.
voltage
.
units
}
}
}
}
return
"
N/A
"
return
"
N/A
"
...
@@ -276,7 +271,7 @@ Row {
...
@@ -276,7 +271,7 @@ Row {
id
:
batteryStatus
id
:
batteryStatus
width
:
battRow
.
width
*
1.1
width
:
battRow
.
width
*
1.1
height
:
mainWindow
.
tbCellHeight
height
:
mainWindow
.
tbCellHeight
opacity
:
activeVehicle
?
((
activeVehicle
.
batteryVoltage
>
0
)
?
1
:
0.5
)
:
0.5
opacity
:
(
activeVehicle
&&
activeVehicle
.
battery
.
voltage
.
value
>=
0
)
?
1
:
0.5
Row
{
Row
{
id
:
battRow
id
:
battRow
height
:
mainWindow
.
tbCellHeight
height
:
mainWindow
.
tbCellHeight
...
@@ -299,11 +294,13 @@ Row {
...
@@ -299,11 +294,13 @@ Row {
MouseArea
{
MouseArea
{
anchors.fill
:
parent
anchors.fill
:
parent
onClicked
:
{
onClicked
:
{
if
(
activeVehicle
)
{
var
centerX
=
mapToItem
(
toolBar
,
x
,
y
).
x
+
(
width
/
2
)
var
centerX
=
mapToItem
(
toolBar
,
x
,
y
).
x
+
(
width
/
2
)
mainWindow
.
showPopUp
(
batteryInfo
,
centerX
)
mainWindow
.
showPopUp
(
batteryInfo
,
centerX
)
}
}
}
}
}
}
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
//-- Vehicle Selector
//-- Vehicle Selector
...
...
src/ui/uas/UASQuickView.cc
View file @
146820c2
...
@@ -33,7 +33,6 @@ UASQuickView::UASQuickView(QWidget *parent) : QWidget(parent),
...
@@ -33,7 +33,6 @@ UASQuickView::UASQuickView(QWidget *parent) : QWidget(parent),
{
{
valueEnabled
(
"altitudeAMSL"
);
valueEnabled
(
"altitudeAMSL"
);
valueEnabled
(
"altitudeAMSLFT"
);
valueEnabled
(
"altitudeAMSLFT"
);
valueEnabled
(
"altitudeWGS84"
);
valueEnabled
(
"altitudeRelative"
);
valueEnabled
(
"altitudeRelative"
);
valueEnabled
(
"groundSpeed"
);
valueEnabled
(
"groundSpeed"
);
valueEnabled
(
"distToWaypoint"
);
valueEnabled
(
"distToWaypoint"
);
...
...
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