-
+// uiName:Desktop
import Drone 1.0
import QtQuick 1.0
import QtDesktop 0.1
-import gauges 1.0
+import Gauges 1.0
import JoyStick 1.0
Window {
title: "MArdrone"
-
- width: 1024
- height: 480
+ id:mainWindow
+ width: 700
+ height: 800
maximumHeight: mainWindow.height
- minimumHeight: 480
+ minimumHeight: 800
maximumWidth: 1280
- minimumWidth: 800
+ minimumWidth: 700
visible: true
+
MenuBar {
Menu {
text: "File"
shortcut: "Ctrl+Q"
onTriggered: Qt.quit()
}
+ MenuItem {
+ text: "Record"
+ shortcut: "Ctrl+R"
+ onTriggered: Qt.quit()
+ }
}
Menu {
text: "Edit"
}
+ Column {
+ width:parent.width
+ // spacing:5
Rectangle {
- id:mainWindow
- width:640
+ id:mainWiew
+ width:parent.width
+ color:"black"
height:480
//onEntered:(mainWindow.fullscreen=true)
DroneVideo {
id:droneVideo
y:0
- x:0
+ // anchors.horizontalCenter: parent.horizontalCenter
// anchors.horizontalCenter:parent.horizontalCenter
- width:drone.confFullScreen? parent.width:640 ;height:480*width/640;
+ width:drone.confFullScreen? parent.width:640 ;height:width<=640 ?480*width/640:480;
+ }
+ Binding {
+ target:drone
+ property:"logSeq"
+ value: droneVideo.frameSeq;
}
-
EfisPFD {
id:hudPDF
y:0
- x:0
+ // anchors.horizontalCenter: parent.horizontalCenter
visible:drone.confShowHorizon
roll:drone.droneRoll
pitch:drone.dronePitch
ias:drone.droneSpeed
- alt:drone.droneAltitude
+ alt:drone.droneAltitude/10
indicatorColor:"green"
skyColor:"#00000000"
groundColor:"#00000000"
width:640;height:480;
}
-
-
Text {
y:100
- // visible:drone.confUseAccel
+ visible:drone.confShowDebug
color: "#00FF00"
id: droneCtrlValues
font.pixelSize:20
font.pixelSize:20
text: drone.decodedStatus
}
- Button {
+ /* Button {
y:150;x:0
height: 50
width: 50
iconSource: "gear32x32.png"
onClicked:{ configDialog.visible = true }
}
-
+*/
JoyStickIndicator {
- x:200;y:350
- visible:drone.showJSIndivators
+
+ anchors.left:parent.left
+ anchors.bottom:parent.bottom
+ anchors.margins:10
+ visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick
border.width:1
color:"transparent"
width:100;height:100
JoyStickIndicator {
- x:500;y:350
- visible:drone.showJSIndivators
+
+ anchors.right:parent.right
+ anchors.bottom:parent.bottom
+ anchors.margins:10
+ visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick
border.width:1
color:"transparent"
width:100;height:100
id:lj
width:280;height:280;
y:200
+ joyBackground: ""
visible: !drone.confUseAccel & !drone.confUseJoyStick
anchors.left:parent.left
anchors.margins:50
visible: !drone.confUseJoyStick
id:rj
y:200
+ joyBackground: ""
anchors.right:parent.right
width:280;height:280;
anchors.margins:50
onXvChanged:{drone.yaw=xv/200.0;}
onPressedChanged: { drone.ctrlActive=pressed;}
}
- Column {
- anchors.left: droneVideo.right
+ }
+
+ Rectangle {
+ width:parent.width
+ // width:chlidrenRect.width
+ // height:childrenRect.height
+ height:320
+ color: "black"
+
+
+
+ Row {
+ id:instrumentPanel
+ spacing:5
+ anchors.fill:parent
+ anchors.margins:5
+
EfisPFD {
id:pDF
- width:320
- height:240
- // visible:drone.confShowHorizon
+ width:300
+ height:320
+ showHSI:true
roll:drone.droneRoll
pitch:drone.dronePitch
ias:drone.droneSpeed
- alt:drone.droneAltitude
+ alt:drone.droneAltitude/10
+ // bezel:"glareshield1.png"
+ }
+ Grid {
+ columns: 3
+
+
+ AltGauge {
+ width:120
+ height:120
+ id:altGauge
+ value:drone.droneAltitude/10
+ bezel:"bezel.png"
+ }
+ AttitudeGauge {
+ width:120
+ height:120
+ id:attGauge
+ roll:drone.droneRoll
+ pitch:drone.dronePitch
+ bezel:"bezel.png"
+ }
+ Item {
+ width:120
+ height:120
+
+
+ GaugeArc {
+ anchors.fill:parent
+ id:speedGauge
+ // anchors.margins:10
+ displayScale:0.95
+ font.pixelSize:10
+ tickIncrement:20
+ tickSpacing:24
+ tickMinor:5
+ lowPosition:220
+ highPosition:120
+ low:0
+ high:200
+ gaugeStyle:2
+ color:"white"
+ value:drone.droneSpeed
+ lineWidth:2
+ backColor:"black"
+ }
+ Image {
+ anchors.fill:parent
+ source:"bezel.png"
+ }
+ }
+
+ Item {
+ width:120
+ height:120
+
+
+ GaugeArc {
+ anchors.fill:parent
+ id:fuelGauge
+ // anchors.margins:10
+ displayScale:0.95
+ font.pixelSize:10
+ tickIncrement:10
+ tickSpacing:22
+ tickMinor:5
+ lowPosition:240
+ highPosition:120
+ low:0
+ high:100
+ gaugeStyle:2
+ color:"white"
+ value:drone.droneVBat
+ lineWidth:2
+ backColor:"black"
+ }
+ Image {
+ anchors.fill:parent
+ source:"bezel.png"
+ }
+ }
+ Item {
+ width:120
+ height:120
+
+ HeadingGauge {
+ width:120
+ height:120
+ id:hdgGauge
+ value:drone.droneYaw
+ bezel:"bezel.png"
+ }
+ }
+ Item {
+ width:120
+ height:120
+ Rectangle {
+ anchors.fill:parent
+ anchors.margins:5
+ color:"gray"
}
Row {
+ anchors.centerIn:parent
spacing: 5
- anchors.right:parent.right
- anchors.rightMargin: 10
- y:100
- height:100
+ anchors.margins: 30
+ height:90
BarGauge {
val:drone.pwm_motor1;
max: 255
- height:100
+ height:parent.height
+ width:10
}
BarGauge {
val:drone.pwm_motor2;
max: 255
- height:100
+ height:parent.height
+ width:10
}
BarGauge {
val:drone.pwm_motor3;
max: 255
- height:100
+ height:parent.height
+ width:10
}
BarGauge {
val:drone.pwm_motor4;
max: 255
- height:100
+ height:parent.height
+ width:10
}
+ /*
BarGauge {
val:drone.droneVBat
max: 100
- height:100
+ height:parent.height
+ width:10
}
+ */
}
- AltGauge {
- width:150
- height:150
- id:altGauge
- // value:drone.altitude
- value:testAlt.value
+ Image {
+ anchors.fill:parent
+ source:"bezel.png"
}
- Slider {
- id: testAlt
- maximumValue:1000
}
+ Button {
+
+ width:80
+ height:50
+ id:flyButton
+ // anchors.bottom:parent.bottom
+ anchors.margins:15
+ text:"Fly";
+ checkable:true
+ onClicked:{drone.fly=checked;
+ // mainWindow.fullsecreen=checked;
+ }
+ }
+ Button {
+ width:90
+ height:50
+ id:emergencyButton
+ // anchors.bottom:parent.bottom
+ anchors.margins:15
+ text:"Emrg";
+ checkable:true
+ onClicked:{drone.emergency=checked;}
}
+
+ Button {
+
+ width:100
+ height:50
+ id:recordButton
+ // anchors.bottom:parent.bottom
+ anchors.margins:15
+ text:"Rec";
+ checkable:true
+ onClicked:{droneVideo.recVideo=checked; drone.logFileName=droneVideo.videoFileName; drone.recordLog=checked;}
+ }
+ } // Grid if instruments
+ }
+
+ } // Column ( Main window content )
+ }
Dialog {
id:configDialog
width:800
data:ConfigDialogDesktop {}
}
- } // Main page
- }
+ } // Main page
+