Commit 9073ac22 authored by Don Gagne's avatar Don Gagne

Merge pull request #2468 from DonLakeFlyer/VehicleSummary

New Vehicle Summary format
parents 6bd6cbd0 3fdf1b88
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
APMAirframeComponentController { APMAirframeComponentController {
id: controller id: controller
factPanel: panel factPanel: panel
...@@ -20,20 +23,13 @@ FactPanel { ...@@ -20,20 +23,13 @@ FactPanel {
property Fact sysIdFact: controller.getParameterFact(-1, "FRAME") property Fact sysIdFact: controller.getParameterFact(-1, "FRAME")
Grid {
id: grid
rows: 1
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
Column { QGCLabel { text: "Frame Type:" }
anchors.fill: parent QGCLabel { text: sysIdFact.enumStringValue }
anchors.margins: 8
VehicleSummaryRow {
id: nameRow;
labelText: "Frame Type:"
valueText: sysIdFact.valueString === "0" ? "Plus"
: sysIdFact.valueString === "1" ? "X"
: sysIdFact.valueString === "2" ? "V"
: sysIdFact.valueString == "3" ? "H"
:/* Fact.value == 10 */ "New Y6";
}
} }
} }
import QtQuick 2.5 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -19,28 +22,22 @@ FactPanel { ...@@ -19,28 +22,22 @@ FactPanel {
property Fact _mountRCInPan: controller.getParameterFact(-1, "MNT_RC_IN_PAN") property Fact _mountRCInPan: controller.getParameterFact(-1, "MNT_RC_IN_PAN")
property Fact _mountType: controller.getParameterFact(-1, "MNT_TYPE") property Fact _mountType: controller.getParameterFact(-1, "MNT_TYPE")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "Gimbal type:"
valueText: _mountType.enumStringValue QGCLabel { text: "Gimbal type:" }
} QGCLabel { text: _mountType.enumStringValue }
VehicleSummaryRow { QGCLabel { text: "Tilt input channel:" }
labelText: "Tilt input channel:" QGCLabel { text: _mountRCInTilt.enumStringValue }
valueText: _mountRCInTilt.enumStringValue
} QGCLabel { text: "Pan input channel:" }
QGCLabel { text: _mountRCInPan.enumStringValue }
VehicleSummaryRow {
labelText: "Pan input channel:" QGCLabel { text: "Roll input channel:" }
valueText: _mountRCInPan.enumStringValue QGCLabel { text: _mountRCInRoll.enumStringValue }
}
VehicleSummaryRow {
labelText: "Roll input channel:"
valueText: _mountRCInRoll.enumStringValue
}
} }
} }
...@@ -4,12 +4,15 @@ import QtQuick.Controls 1.2 ...@@ -4,12 +4,15 @@ import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -21,38 +24,28 @@ FactPanel { ...@@ -21,38 +24,28 @@ FactPanel {
property Fact flightMode5: controller.getParameterFact(-1, "FLTMODE5") property Fact flightMode5: controller.getParameterFact(-1, "FLTMODE5")
property Fact flightMode6: controller.getParameterFact(-1, "FLTMODE6") property Fact flightMode6: controller.getParameterFact(-1, "FLTMODE6")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 6
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "Flight Mode 1:"
valueText: flightMode1.enumStringValue QGCLabel { text: "Flight Mode 1:" }
} QGCLabel { text: flightMode1.enumStringValue }
VehicleSummaryRow { QGCLabel { text: "Flight Mode 2:" }
labelText: "Flight Mode 2:" QGCLabel { text: flightMode2.enumStringValue }
valueText: flightMode2.enumStringValue
} QGCLabel { text: "Flight Mode 3:" }
QGCLabel { text: flightMode3.enumStringValue }
VehicleSummaryRow {
labelText: "Flight Mode 3:" QGCLabel { text: "Flight Mode 4:" }
valueText: flightMode3.enumStringValue QGCLabel { text: flightMode4.enumStringValue }
}
QGCLabel { text: "Flight Mode 5:" }
VehicleSummaryRow { QGCLabel { text: flightMode5.enumStringValue }
labelText: "Flight Mode 4:"
valueText: flightMode4.enumStringValue QGCLabel { text: "Flight Mode 6:" }
} QGCLabel { text: flightMode6.enumStringValue }
VehicleSummaryRow {
labelText: "Flight Mode 5:"
valueText: flightMode5.enumStringValue
}
VehicleSummaryRow {
labelText: "Flight Mode 6:"
valueText: flightMode6.enumStringValue
}
} }
} }
...@@ -27,12 +27,15 @@ import QtQuick.Controls 1.2 ...@@ -27,12 +27,15 @@ import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -40,18 +43,16 @@ FactPanel { ...@@ -40,18 +43,16 @@ FactPanel {
property Fact battCapacity: controller.getParameterFact(-1, "BATT_CAPACITY") property Fact battCapacity: controller.getParameterFact(-1, "BATT_CAPACITY")
property Fact battMonitor: controller.getParameterFact(-1, "BATT_MONITOR") property Fact battMonitor: controller.getParameterFact(-1, "BATT_MONITOR")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 2
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Battery monitor:" }
labelText: "Battery monitor:" QGCLabel { text: battMonitor.enumStringValue }
valueText: battMonitor.enumStringValue
}
VehicleSummaryRow { QGCLabel { text: "Battery capacity:" }
labelText: "Battery capacity:" FactLabel { fact: battCapacity }
valueText: battCapacity.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -19,28 +22,22 @@ FactPanel { ...@@ -19,28 +22,22 @@ FactPanel {
property Fact mapYawFact: controller.getParameterFact(-1, "RCMAP_YAW") property Fact mapYawFact: controller.getParameterFact(-1, "RCMAP_YAW")
property Fact mapThrottleFact: controller.getParameterFact(-1, "RCMAP_THROTTLE") property Fact mapThrottleFact: controller.getParameterFact(-1, "RCMAP_THROTTLE")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "Roll:"
valueText: mapRollFact.value == 0 ? "Setup required" : "Channel " + mapRollFact.valueString QGCLabel { text: "Roll:" }
} QGCLabel { text: mapRollFact.value == 0 ? "Setup required" : "Channel " + mapRollFact.valueString }
VehicleSummaryRow { QGCLabel { text: "Pitch:" }
labelText: "Pitch:" QGCLabel { text: mapPitchFact.value == 0 ? "Setup required" : "Channel " + mapPitchFact.valueString }
valueText: mapPitchFact.value == 0 ? "Setup required" : "Channel " + mapPitchFact.valueString
} QGCLabel { text: "Yaw:" }
QGCLabel { text: mapYawFact.value == 0 ? "Setup required" : "Channel " + mapYawFact.valueString }
VehicleSummaryRow {
labelText: "Yaw:" QGCLabel { text: "Throttle:" }
valueText: mapYawFact.value == 0 ? "Setup required" : "Channel " + mapYawFact.valueString QGCLabel { text: mapThrottleFact.value == 0 ? "Setup required" : "Channel " + mapThrottleFact.valueString }
}
VehicleSummaryRow {
labelText: "Throttle:"
valueText: mapThrottleFact.value == 0 ? "Setup required" : "Channel " + mapThrottleFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -81,55 +83,42 @@ FactPanel { ...@@ -81,55 +83,42 @@ FactPanel {
} }
} }
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 8
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "Throttle failsafe:"
valueText: _failsafeThrEnableText QGCLabel { text: "Throttle failsafe:" }
} QGCLabel { text: _failsafeThrEnableText }
VehicleSummaryRow { QGCLabel { text: "Battery failsafe:" }
labelText: "Battery failsafe:" QGCLabel { text: _failsafeBattEnableText }
valueText: _failsafeBattEnableText
QGCLabel { text: "GeoFence:" }
QGCLabel { text: _fenceEnable.value == 0 || _fenceType == 0 ?
"Disabled" :
(_fenceType.value == 1 ?
"Altitude" :
(_fenceType.value == 2 ? "Circle" : "Altitude,Circle")) }
QGCLabel { text: "GeoFence:"; visible: _fenceEnable.value != 0 }
QGCLabel { text: _fenceAction.value == 0 ?
"Report only" :
(_fenceAction.value == 1 ? "RTL or Land" : "Unknown")
visible: _fenceEnable.value != 0
} }
VehicleSummaryRow { QGCLabel { text: "RTL min alt:" }
labelText: "GeoFence:" QGCLabel { text: _rtlAltFact.value == 0 ? "current" : _rtlAltFact.valueString }
valueText: _fenceEnable.value == 0 || _fenceType == 0 ?
"Disabled" :
(_fenceType.value == 1 ?
"Altitude" :
(_fenceType.value == 2 ? "Circle" : "Altitude,Circle"))
}
VehicleSummaryRow { QGCLabel { text: "RTL loiter time:" }
labelText: "GeoFence:" QGCLabel { text: _rtlLoitTimeFact.valueString }
valueText: _fenceAction.value == 0 ?
"Report only" :
(_fenceAction.value == 1 ? "RTL or Land" : "Unknown")
visible: _fenceEnable.value != 0
}
VehicleSummaryRow { QGCLabel { text: "RTL final alt:" }
labelText: "RTL min alt:" QGCLabel { text: _rtlAltFinalFact.value == 0 ? "Land" : _rtlAltFinalFact.valueString }
valueText: _rtlAltFact.value == 0 ? "current" : _rtlAltFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Descent speed:" }
labelText: "RTL loiter time:" QGCLabel { text: _landSpeedFact.valueString }
valueText: _rtlLoitTimeFact.valueString
}
VehicleSummaryRow {
labelText: "RTL final alt:"
valueText: _rtlAltFinalFact.value == 0 ? "Land" : _rtlAltFinalFact.valueString
}
VehicleSummaryRow {
labelText: "Descent speed:"
valueText: _landSpeedFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -22,28 +24,22 @@ FactPanel { ...@@ -22,28 +24,22 @@ FactPanel {
property Fact _rtlAltFact: controller.getParameterFact(-1, "ALT_HOLD_RTL") property Fact _rtlAltFact: controller.getParameterFact(-1, "ALT_HOLD_RTL")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "Throttle failsafe:"
valueText: _failsafeThrEnable.value != 0 ? _failsafeThrValue.valueString : "Disabled" QGCLabel { text: "Throttle failsafe:" }
} QGCLabel { text: _failsafeThrEnable.value != 0 ? _failsafeThrValue.valueString : "Disabled" }
VehicleSummaryRow { QGCLabel { text: "Voltage failsafe:" }
labelText: "Voltage failsafe:" QGCLabel { text: _failsafeBattVoltage.value == 0 ? "Disabled" : _failsafeBattVoltage.valueString }
valueText: _failsafeBattVoltage.value == 0 ? "Disabled" : _failsafeBattVoltage.valueString
} QGCLabel { text: "mAh failsafe:" }
QGCLabel { text: _failsafeBattMah.value == 0 ? "Disabled" : _failsafeBattMah.valueString }
VehicleSummaryRow {
labelText: "mAh failsafe:" QGCLabel { text: "RTL min alt:" }
valueText: _failsafeBattMah.value == 0 ? "Disabled" : _failsafeBattMah.valueString QGCLabel { text: _rtlAltFact.value < 0 ? "current" : _rtlAltFact.valueString }
}
VehicleSummaryRow {
labelText: "RTL min alt:"
valueText: _rtlAltFact.value < 0 ? "current" : _rtlAltFact.valueString
}
} }
} }
...@@ -26,7 +26,6 @@ import QtQuick 2.5 ...@@ -26,7 +26,6 @@ import QtQuick 2.5
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
QGCLabel { QGCLabel {
anchors.fill: parent
text: "Not supported" text: "Not supported"
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
......
import QtQuick 2.5 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
/*
IMPORTANT NOTE: Any changes made here must also be made to SensorsComponentSummary.qml
*/
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
APMSensorsComponentController { id: controller; factPanel: panel } APMSensorsComponentController { id: controller; factPanel: panel }
...@@ -23,18 +20,16 @@ FactPanel { ...@@ -23,18 +20,16 @@ FactPanel {
property bool accelCalNeeded: controller.accelSetupNeeded property bool accelCalNeeded: controller.accelSetupNeeded
property bool compassCalNeeded: controller.compassSetupNeeded property bool compassCalNeeded: controller.compassSetupNeeded
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 2
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Compass:" }
labelText: "Compass:" QGCLabel { text: compassCalNeeded ? "Setup required" : "Ready" }
valueText: compassCalNeeded ? "Setup required" : "Ready"
}
VehicleSummaryRow { QGCLabel { text: "Accelerometer:" }
labelText: "Accelerometer:" QGCLabel { text: accelCalNeeded ? "Setup required" : "Ready" }
valueText: accelCalNeeded ? "Setup required" : "Ready"
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
AirframeComponentController { id: controller; factPanel: panel } AirframeComponentController { id: controller; factPanel: panel }
...@@ -20,23 +22,19 @@ FactPanel { ...@@ -20,23 +22,19 @@ FactPanel {
property bool autoStartSet: sysAutoStartFact.value != 0 property bool autoStartSet: sysAutoStartFact.value != 0
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 3
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "System ID:" }
labelText: "System ID:" FactLabel { fact: sysIdFact }
valueText: sysIdFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Airframe type:" }
labelText: "Airframe type:" QGCLabel { text: autoStartSet ? controller.currentAirframeType : "Setup required" }
valueText: autoStartSet ? controller.currentAirframeType : "Setup required"
}
VehicleSummaryRow { QGCLabel { text: "Vehicle:" }
labelText: "Vehicle:" QGCLabel { text: autoStartSet ? controller.currentVehicleName : "Setup required" }
valueText: autoStartSet ? controller.currentVehicleName : "Setup required"
}
} }
} }
\ No newline at end of file
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -19,28 +21,22 @@ FactPanel { ...@@ -19,28 +21,22 @@ FactPanel {
property Fact loiterSwFact: controller.getParameterFact(-1, "RC_MAP_LOITER_SW") property Fact loiterSwFact: controller.getParameterFact(-1, "RC_MAP_LOITER_SW")
property Fact returnSwFact: controller.getParameterFact(-1, "RC_MAP_RETURN_SW") property Fact returnSwFact: controller.getParameterFact(-1, "RC_MAP_RETURN_SW")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 4
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "Mode switch:"
valueText: modeSwFact.value == 0 ? "Setup required" : modeSwFact.valueString QGCLabel { text: "Mode switch:" }
} QGCLabel { text: modeSwFact.value == 0 ? "Setup required" : modeSwFact.valueString }
VehicleSummaryRow { QGCLabel { text: "Position Ctl switch:" }
labelText: "Position Ctl switch:" QGCLabel { text: posCtlSwFact.value == 0 ? "Disabled" : posCtlSwFact.valueString }
valueText: posCtlSwFact.value == 0 ? "Disabled" : posCtlSwFact.valueString
} QGCLabel { text: "Loiter switch:" }
QGCLabel { text: loiterSwFact.value == 0 ? "Disabled" : loiterSwFact.valueString }
VehicleSummaryRow {
labelText: "Loiter switch:" QGCLabel { text: "Return switch:" }
valueText: loiterSwFact.value == 0 ? "Disabled" : loiterSwFact.valueString QGCLabel { text: returnSwFact.value == 0 ? "Disabled" : returnSwFact.valueString }
}
VehicleSummaryRow {
labelText: "Return switch:"
valueText: returnSwFact.value == 0 ? "Disabled" : returnSwFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -22,43 +24,31 @@ FactPanel { ...@@ -22,43 +24,31 @@ FactPanel {
property Fact mapAux1Fact: controller.getParameterFact(-1, "RC_MAP_AUX1") property Fact mapAux1Fact: controller.getParameterFact(-1, "RC_MAP_AUX1")
property Fact mapAux2Fact: controller.getParameterFact(-1, "RC_MAP_AUX2") property Fact mapAux2Fact: controller.getParameterFact(-1, "RC_MAP_AUX2")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 7
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Roll:" }
labelText: "Roll:" QGCLabel { text: mapRollFact.value == 0 ? "Setup required" : mapRollFact.valueString }
valueText: mapRollFact.value == 0 ? "Setup required" : mapRollFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Pitch:" }
labelText: "Pitch:" QGCLabel { text: mapPitchFact.value == 0 ? "Setup required" : mapPitchFact.valueString }
valueText: mapPitchFact.value == 0 ? "Setup required" : mapPitchFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Yaw:" }
labelText: "Yaw:" QGCLabel { text: mapYawFact.value == 0 ? "Setup required" : mapYawFact.valueString }
valueText: mapYawFact.value == 0 ? "Setup required" : mapYawFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Throttle:" }
labelText: "Throttle:" QGCLabel { text: mapThrottleFact.value == 0 ? "Setup required" : mapThrottleFact.valueString }
valueText: mapThrottleFact.value == 0 ? "Setup required" : mapThrottleFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Flaps:" }
labelText: "Flaps:" QGCLabel { text: mapFlapsFact.value == 0 ? "Disabled" : mapFlapsFact.valueString }
valueText: mapFlapsFact.value == 0 ? "Disabled" : mapFlapsFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Aux1:" }
labelText: "Aux1:" QGCLabel { text: mapAux1Fact.value == 0 ? "Disabled" : mapAux1Fact.valueString }
valueText: mapAux1Fact.value == 0 ? "Disabled" : mapAux1Fact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Aux2:" }
labelText: "Aux2:" QGCLabel { text: mapAux2Fact.value == 0 ? "Disabled" : mapAux2Fact.valueString }
valueText: mapAux2Fact.value == 0 ? "Disabled" : mapAux2Fact.valueString
}
} }
} }
...@@ -25,18 +25,20 @@ ...@@ -25,18 +25,20 @@
/// @brief Battery, propeller and magnetometer summary /// @brief Battery, propeller and magnetometer summary
/// @author Gus Grubba <mavlink@grubba.com> /// @author Gus Grubba <mavlink@grubba.com>
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -45,23 +47,19 @@ FactPanel { ...@@ -45,23 +47,19 @@ FactPanel {
property Fact batVEmptyFact: controller.getParameterFact(-1, "BAT_V_EMPTY") property Fact batVEmptyFact: controller.getParameterFact(-1, "BAT_V_EMPTY")
property Fact batCellsFact: controller.getParameterFact(-1, "BAT_N_CELLS") property Fact batCellsFact: controller.getParameterFact(-1, "BAT_N_CELLS")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 3
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Battery Full:" }
labelText: "Battery Full:" FactLabel { fact: batVChargedFact }
valueText: batVChargedFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Battery Empty:" }
labelText: "Battery Empty:" FactLabel { fact: batVEmptyFact }
valueText: batVEmptyFact.valueString
}
VehicleSummaryRow { QGCLabel { text: "Number of Cells:" }
labelText: "Number of Cells:" FactLabel { fact: batCellsFact }
valueText: batCellsFact.valueString
}
} }
} }
\ No newline at end of file
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -20,33 +22,25 @@ FactPanel { ...@@ -20,33 +22,25 @@ FactPanel {
property Fact commDLLossFact: controller.getParameterFact(-1, "COM_DL_LOSS_EN") property Fact commDLLossFact: controller.getParameterFact(-1, "COM_DL_LOSS_EN")
property Fact commRCLossFact: controller.getParameterFact(-1, "COM_RC_LOSS_T") property Fact commRCLossFact: controller.getParameterFact(-1, "COM_RC_LOSS_T")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 5
columns: 2
VehicleSummaryRow { spacing: ScreenTools.defaultFontPixelWidth / 2
labelText: "RTL min alt:"
valueText: returnAltFact.valueString QGCLabel { text: "RTL min alt:" }
} QGCLabel { text: returnAltFact.valueString }
VehicleSummaryRow { QGCLabel { text: "RTL home alt:" }
labelText: "RTL home alt:" QGCLabel { text: descendAltFact.valueString }
valueText: descendAltFact.valueString
} QGCLabel { text: "RTL loiter delay:" }
QGCLabel { text: landDelayFact.value < 0 ? "Disabled" : landDelayFact.valueString }
VehicleSummaryRow {
labelText: "RTL loiter delay:" QGCLabel { text: "Telemetry loss RTL:" }
valueText: landDelayFact.value < 0 ? "Disabled" : landDelayFact.valueString QGCLabel { text: commDLLossFact.value != -1 ? "Disabled" : commDLLossFact.valueString }
}
QGCLabel { text: "RC loss RTL (seconds):" }
VehicleSummaryRow { QGCLabel { text: commRCLossFact.valueString }
labelText: "Telemetry loss RTL:"
valueText: commDLLossFact.value != -1 ? "Disabled" : commDLLossFact.valueString
}
VehicleSummaryRow {
labelText: "RC loss RTL (seconds):"
valueText: commRCLossFact.valueString
}
} }
} }
import QtQuick 2.2 import QtQuick 2.5
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QGroundControl.FactSystem 1.0 import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0 import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
/*
IMPORTANT NOTE: Any changes made here must also be made to SensorsComponentSummary.qml
*/
FactPanel { FactPanel {
id: panel id: panel
anchors.fill: parent width: grid.width
color: qgcPal.windowShadeDark height: grid.height
color: qgcPal.windowShade
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
...@@ -23,23 +20,19 @@ FactPanel { ...@@ -23,23 +20,19 @@ FactPanel {
property Fact gyro0IdFact: controller.getParameterFact(-1, "CAL_GYRO0_ID") property Fact gyro0IdFact: controller.getParameterFact(-1, "CAL_GYRO0_ID")
property Fact accel0IdFact: controller.getParameterFact(-1, "CAL_ACC0_ID") property Fact accel0IdFact: controller.getParameterFact(-1, "CAL_ACC0_ID")
Column { Grid {
anchors.fill: parent id: grid
anchors.margins: 8 rows: 3
columns: 2
spacing: ScreenTools.defaultFontPixelWidth / 2
VehicleSummaryRow { QGCLabel { text: "Compass:" }
labelText: "Compass:" QGCLabel { text: mag0IdFact.value == 0 ? "Setup required" : "Ready" }
valueText: mag0IdFact.value == 0 ? "Setup required" : "Ready"
}
VehicleSummaryRow { QGCLabel { text: "Gyro:" }
labelText: "Gyro:" QGCLabel { text: gyro0IdFact.value == 0 ? "Setup required" : "Ready" }
valueText: gyro0IdFact.value == 0 ? "Setup required" : "Ready"
}
VehicleSummaryRow { QGCLabel { text: "Accelerometer:" }
labelText: "Accelerometer:" QGCLabel { text: accel0IdFact.value == 0 ? "Setup required" : "Ready" }
valueText: accel0IdFact.value == 0 ? "Setup required" : "Ready"
}
} }
} }
\ No newline at end of file
...@@ -36,122 +36,63 @@ Rectangle { ...@@ -36,122 +36,63 @@ Rectangle {
anchors.fill: parent anchors.fill: parent
color: qgcPal.window color: qgcPal.window
property real _minSummaryW: ScreenTools.defaultFontPixelWidth * 30 readonly property real _margins: ScreenTools.defaultFontPixelHeight
property real _summaryBoxWidth: _minSummaryW
property real _summaryBoxSpace: ScreenTools.defaultFontPixelWidth
function computeSummaryBoxSize() {
var sw = 0
var rw = 0
var idx = Math.floor(_summaryRoot.width / (_minSummaryW + ScreenTools.defaultFontPixelWidth))
if(idx < 1) {
_summaryBoxWidth = _summaryRoot.width
_summaryBoxSpace = 0
} else {
_summaryBoxSpace = 0
if(idx > 1) {
_summaryBoxSpace = ScreenTools.defaultFontPixelWidth
sw = _summaryBoxSpace * (idx - 1)
}
rw = _summaryRoot.width - sw
_summaryBoxWidth = rw / idx
}
}
function capitalizeWords(sentence) { function capitalizeWords(sentence) {
return sentence.replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); }); return sentence.replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
} }
QGCPalette { QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
id: qgcPal
colorGroupEnabled: enabled
}
Component.onCompleted: {
computeSummaryBoxSize()
}
onWidthChanged: {
computeSummaryBoxSize()
}
Flickable { Flickable {
clip: true clip: true
anchors.fill: parent anchors.fill: parent
contentHeight: summaryColumn.height contentHeight: summaryFlow.y + summaryFlow.height
contentWidth: _summaryRoot.width
flickableDirection: Flickable.VerticalFlick flickableDirection: Flickable.VerticalFlick
boundsBehavior: Flickable.StopAtBounds
Column {
id: summaryColumn
width: _summaryRoot.width
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel {
width: parent.width
wrapMode: Text.WordWrap
color: setupComplete ? qgcPal.text : qgcPal.warningText
font.weight: Font.DemiBold
text: setupComplete ?
"Below you will find a summary of the settings for your vehicle. To the left are the setup menus for each component." :
"WARNING: Your vehicle requires setup prior to flight. Please resolve the items marked in red using the menu on the left."
property bool setupComplete: multiVehicleManager.activeVehicle.autopilot.setupComplete
}
Flow { QGCLabel {
id: _flowCtl id: topLabel
width: _summaryRoot.width width: parent.width
spacing: _summaryBoxSpace wrapMode: Text.WordWrap
color: setupComplete ? qgcPal.text : qgcPal.warningText
font.weight: setupComplete ? Font.Normal : Font.DemiBold
text: setupComplete ?
"Below you will find a summary of the settings for your vehicle. To the left are the setup menus for each component." :
"WARNING: Your vehicle requires setup prior to flight. Please resolve the items marked in red using the menu on the left."
property bool setupComplete: multiVehicleManager.activeVehicle.autopilot.setupComplete
}
Repeater { Flow {
model: multiVehicleManager.activeVehicle.autopilot.vehicleComponents id: summaryFlow
anchors.topMargin: _margins
anchors.top: topLabel.bottom
width: parent.width
spacing: ScreenTools.defaultFontPixelWidth
// Outer summary item rectangle Repeater {
Rectangle { model: multiVehicleManager.activeVehicle.autopilot.vehicleComponents
width: _summaryBoxWidth
height: ScreenTools.defaultFontPixelHeight * 13 QGCLabel {
color: qgcPal.window width: summaryRectangle.width
visible: modelData.summaryQmlSource.toString() != "" height: summaryRectangle.y + summaryRectangle.height
text: capitalizeWords(modelData.name)
readonly property real titleHeight: ScreenTools.defaultFontPixelHeight * 2 font.weight: Font.DemiBold
visible: modelData.summaryQmlSource.toString() != ""
// Title bar color: modelData.setupComplete ? qgcPal.text : "red"
Rectangle {
id: titleBar
width: parent.width
height: titleHeight
color: qgcPal.windowShade
// Title text
QGCLabel {
anchors.fill: parent
verticalAlignment: TextEdit.AlignVCenter
horizontalAlignment: TextEdit.AlignHCenter
text: capitalizeWords(modelData.name)
}
// Setup indicator
Rectangle {
anchors.rightMargin: ScreenTools.defaultFontPixelWidth / 3
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
width: ScreenTools.defaultFontPixelWidth
height: width
radius: width / 2
color: modelData.setupComplete ? "#00d932" : "red"
visible: modelData.requiresSetup
}
}
// Summary Qml Rectangle {
Rectangle { id: summaryRectangle
anchors.top: titleBar.bottom y: parent.contentHeight + (_margins / 2)
width: parent.width width: summaryLoader.width + _margins
Loader { height: summaryLoader.height + _margins
anchors.fill: parent color: qgcPal.windowShade
source: modelData.summaryQmlSource
} Loader {
id: summaryLoader
anchors.margins: _margins / 2
anchors.left: parent.left
anchors.top: parent.top
source: modelData.summaryQmlSource
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment