mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
LP-29 move common uav related functions to uav.js
This commit is contained in:
parent
9b100bea4a
commit
12bfee2df3
@ -6,6 +6,8 @@ import UAVTalk.AttitudeState 1.0
|
||||
import UAVTalk.HomeLocation 1.0
|
||||
import UAVTalk.GPSPositionSensor 1.0
|
||||
|
||||
import "../uav.js" as UAV
|
||||
|
||||
OSGViewport {
|
||||
anchors.fill: parent
|
||||
focus: true
|
||||
@ -46,43 +48,8 @@ OSGViewport {
|
||||
modelData: modelTransformNode
|
||||
sceneData: terrainNode
|
||||
|
||||
attitude: uavAttitude()
|
||||
position: uavPosition()
|
||||
|
||||
function uavAttitude() {
|
||||
return Qt.vector3d(attitudeState.pitch, attitudeState.roll, -attitudeState.yaw);
|
||||
}
|
||||
|
||||
function uavPosition() {
|
||||
switch(gpsPositionSensor.status) {
|
||||
case Status.Fix2D:
|
||||
case Status.Fix3D:
|
||||
return uavGPSPosition();
|
||||
case Status.NoFix:
|
||||
case Status.NoGPS:
|
||||
default:
|
||||
return (homeLocation.set == Set.True) ? uavHomePosition() : uavDefaultPosition();
|
||||
}
|
||||
}
|
||||
|
||||
function uavGPSPosition() {
|
||||
return Qt.vector3d(
|
||||
gpsPositionSensor.longitude / 10000000.0,
|
||||
gpsPositionSensor.latitude / 10000000.0,
|
||||
gpsPositionSensor.altitude);
|
||||
}
|
||||
|
||||
function uavHomePosition() {
|
||||
return Qt.vector3d(
|
||||
homeLocation.longitude / 10000000.0,
|
||||
homeLocation.latitude / 10000000.0,
|
||||
homeLocation.altitude);
|
||||
}
|
||||
|
||||
function uavDefaultPosition() {
|
||||
return Qt.vector3d(qmlWidget.longitude, qmlWidget.latitude, qmlWidget.altitude);
|
||||
}
|
||||
|
||||
attitude: UAV.attitude()
|
||||
position: UAV.position()
|
||||
}
|
||||
|
||||
OSGTransformNode {
|
||||
|
@ -6,6 +6,8 @@ import UAVTalk.AttitudeState 1.0
|
||||
import UAVTalk.HomeLocation 1.0
|
||||
import UAVTalk.GPSPositionSensor 1.0
|
||||
|
||||
import "../uav.js" as UAV
|
||||
|
||||
OSGViewport {
|
||||
id: fullview
|
||||
//anchors.fill: parent
|
||||
@ -28,6 +30,7 @@ OSGViewport {
|
||||
dateTime: getDateTime()
|
||||
minimumAmbientLight: qmlWidget.minimumAmbientLight
|
||||
|
||||
// MOVE...
|
||||
function getDateTime() {
|
||||
switch(qmlWidget.timeMode) {
|
||||
case TimeMode.Local:
|
||||
@ -53,43 +56,8 @@ OSGViewport {
|
||||
clampToTerrain: true
|
||||
manipulatorMode: ManipulatorMode.User
|
||||
|
||||
attitude: uavAttitude()
|
||||
position: uavPosition()
|
||||
|
||||
function uavAttitude() {
|
||||
return Qt.vector3d(attitudeState.pitch, attitudeState.roll, -attitudeState.yaw);
|
||||
}
|
||||
|
||||
function uavPosition() {
|
||||
switch(gpsPositionSensor.status) {
|
||||
case Status.Fix2D:
|
||||
case Status.Fix3D:
|
||||
return uavGPSPosition();
|
||||
case Status.NoFix:
|
||||
case Status.NoGPS:
|
||||
default:
|
||||
return (homeLocation.set == Set.True) ? uavHomePosition() : uavDefaultPosition();
|
||||
}
|
||||
}
|
||||
|
||||
function uavGPSPosition() {
|
||||
return Qt.vector3d(
|
||||
gpsPositionSensor.longitude / 10000000.0,
|
||||
gpsPositionSensor.latitude / 10000000.0,
|
||||
gpsPositionSensor.altitude);
|
||||
}
|
||||
|
||||
function uavHomePosition() {
|
||||
return Qt.vector3d(
|
||||
homeLocation.longitude / 10000000.0,
|
||||
homeLocation.latitude / 10000000.0,
|
||||
homeLocation.altitude);
|
||||
}
|
||||
|
||||
function uavDefaultPosition() {
|
||||
return Qt.vector3d(qmlWidget.longitude, qmlWidget.latitude, qmlWidget.altitude);
|
||||
}
|
||||
|
||||
attitude: UAV.attitude()
|
||||
position: UAV.position()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
|
41
ground/gcs/src/share/qml/uav.js
Normal file
41
ground/gcs/src/share/qml/uav.js
Normal file
@ -0,0 +1,41 @@
|
||||
// ***********************
|
||||
// common.js
|
||||
//
|
||||
// Common javascript uav utils
|
||||
//
|
||||
// Librepilot
|
||||
// ***********************
|
||||
|
||||
function attitude() {
|
||||
return Qt.vector3d(attitudeState.pitch, attitudeState.roll, -attitudeState.yaw);
|
||||
}
|
||||
|
||||
function position() {
|
||||
switch(gpsPositionSensor.status) {
|
||||
case Status.Fix2D:
|
||||
case Status.Fix3D:
|
||||
return gpsPosition();
|
||||
case Status.NoFix:
|
||||
case Status.NoGPS:
|
||||
default:
|
||||
return (homeLocation.set == Set.True) ? homePosition() : defaultPosition();
|
||||
}
|
||||
}
|
||||
|
||||
function gpsPosition() {
|
||||
return Qt.vector3d(
|
||||
gpsPositionSensor.longitude / 10000000.0,
|
||||
gpsPositionSensor.latitude / 10000000.0,
|
||||
gpsPositionSensor.altitude);
|
||||
}
|
||||
|
||||
function homePosition() {
|
||||
return Qt.vector3d(
|
||||
homeLocation.longitude / 10000000.0,
|
||||
homeLocation.latitude / 10000000.0,
|
||||
homeLocation.altitude);
|
||||
}
|
||||
|
||||
function defaultPosition() {
|
||||
return Qt.vector3d(qmlWidget.longitude, qmlWidget.latitude, qmlWidget.altitude);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user