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
da8e98a1
Unverified
Commit
da8e98a1
authored
Nov 07, 2018
by
Don Gagne
Committed by
GitHub
Nov 07, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6974 from Williangalvani/subCamera2
Create simplified camera page for sub
parents
b51f2735
23308cf8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
579 additions
and
0 deletions
+579
-0
APMCameraComponent.cc
src/AutoPilotPlugins/APM/APMCameraComponent.cc
+4
-0
APMCameraSubComponent.qml
src/AutoPilotPlugins/APM/APMCameraSubComponent.qml
+574
-0
APMResources.qrc
src/FirmwarePlugin/APM/APMResources.qrc
+1
-0
No files found.
src/AutoPilotPlugins/APM/APMCameraComponent.cc
View file @
da8e98a1
...
@@ -54,7 +54,11 @@ QStringList APMCameraComponent::setupCompleteChangedTriggerList(void) const
...
@@ -54,7 +54,11 @@ QStringList APMCameraComponent::setupCompleteChangedTriggerList(void) const
QUrl
APMCameraComponent
::
setupSource
(
void
)
const
QUrl
APMCameraComponent
::
setupSource
(
void
)
const
{
{
if
(
_vehicle
->
sub
())
{
return
QUrl
::
fromUserInput
(
QStringLiteral
(
"qrc:/qml/APMCameraSubComponent.qml"
));
}
return
QUrl
::
fromUserInput
(
QStringLiteral
(
"qrc:/qml/APMCameraComponent.qml"
));
return
QUrl
::
fromUserInput
(
QStringLiteral
(
"qrc:/qml/APMCameraComponent.qml"
));
}
}
QUrl
APMCameraComponent
::
summaryQmlSource
(
void
)
const
QUrl
APMCameraComponent
::
summaryQmlSource
(
void
)
const
...
...
src/AutoPilotPlugins/APM/APMCameraSubComponent.qml
0 → 100644
View file @
da8e98a1
/****************************************************************************
*
* (c) 2009-2018 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Controls
.
Styles
1.4
import
QGroundControl
1.0
import
QGroundControl
.
FactSystem
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
SettingsManager
1.0
SetupPage
{
id
:
cameraPage
pageComponent
:
cameraPageComponent
Component
{
id
:
cameraPageComponent
Column
{
spacing
:
_margins
width
:
availableWidth
FactPanelController
{
id
:
controller
;
factPanel
:
cameraPage
.
viewPanel
}
QGCPalette
{
id
:
palette
;
colorGroupEnabled
:
true
}
property
var
_activeVehicle
:
QGroundControl
.
multiVehicleManager
.
activeVehicle
property
bool
_oldFW
:
!
(
_activeVehicle
.
firmwareMajorVersion
>
3
||
_activeVehicle
.
firmwareMinorVersion
>
5
||
_activeVehicle
.
firmwarePatchVersion
>=
2
)
property
Fact
_mountRetractX
:
controller
.
getParameterFact
(
-
1
,
"
MNT_RETRACT_X
"
)
property
Fact
_mountRetractY
:
controller
.
getParameterFact
(
-
1
,
"
MNT_RETRACT_Y
"
)
property
Fact
_mountRetractZ
:
controller
.
getParameterFact
(
-
1
,
"
MNT_RETRACT_Z
"
)
property
Fact
_mountNeutralX
:
controller
.
getParameterFact
(
-
1
,
"
MNT_NEUTRAL_X
"
)
property
Fact
_mountNeutralY
:
controller
.
getParameterFact
(
-
1
,
"
MNT_NEUTRAL_Y
"
)
property
Fact
_mountNeutralZ
:
controller
.
getParameterFact
(
-
1
,
"
MNT_NEUTRAL_Z
"
)
property
Fact
_mountRCInTilt
:
controller
.
getParameterFact
(
-
1
,
"
MNT_RC_IN_TILT
"
)
property
Fact
_mountStabTilt
:
controller
.
getParameterFact
(
-
1
,
"
MNT_STAB_TILT
"
)
property
Fact
_mountAngMinTilt
:
controller
.
getParameterFact
(
-
1
,
"
MNT_ANGMIN_TIL
"
)
property
Fact
_mountAngMaxTilt
:
controller
.
getParameterFact
(
-
1
,
"
MNT_ANGMAX_TIL
"
)
property
Fact
_mountRCInRoll
:
controller
.
getParameterFact
(
-
1
,
"
MNT_RC_IN_ROLL
"
)
property
Fact
_mountStabRoll
:
controller
.
getParameterFact
(
-
1
,
"
MNT_STAB_ROLL
"
)
property
Fact
_mountAngMinRoll
:
controller
.
getParameterFact
(
-
1
,
"
MNT_ANGMIN_ROL
"
)
property
Fact
_mountAngMaxRoll
:
controller
.
getParameterFact
(
-
1
,
"
MNT_ANGMAX_ROL
"
)
property
Fact
_mountRCInPan
:
controller
.
getParameterFact
(
-
1
,
"
MNT_RC_IN_PAN
"
)
property
Fact
_mountStabPan
:
controller
.
getParameterFact
(
-
1
,
"
MNT_STAB_PAN
"
)
property
Fact
_mountAngMinPan
:
controller
.
getParameterFact
(
-
1
,
"
MNT_ANGMIN_PAN
"
)
property
Fact
_mountAngMaxPan
:
controller
.
getParameterFact
(
-
1
,
"
MNT_ANGMAX_PAN
"
)
property
Fact
_rc5Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO5_FUNCTION
"
)
property
Fact
_rc6Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO6_FUNCTION
"
)
property
Fact
_rc7Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO7_FUNCTION
"
)
property
Fact
_rc8Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO8_FUNCTION
"
)
property
Fact
_rc9Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO9_FUNCTION
"
)
property
Fact
_rc10Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO10_FUNCTION
"
)
property
Fact
_rc11Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO11_FUNCTION
"
)
property
Fact
_rc12Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO12_FUNCTION
"
)
property
Fact
_rc13Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO13_FUNCTION
"
)
property
Fact
_rc14Function
:
controller
.
getParameterFact
(
-
1
,
"
r.SERVO14_FUNCTION
"
)
// These enable/disable the options for setting up each axis
property
bool
_tiltEnabled
:
false
property
bool
_panEnabled
:
false
property
bool
_rollEnabled
:
false
property
bool
_servoReverseIsBool
:
controller
.
parameterExists
(
-
1
,
"
RC5_REVERSED
"
)
// Gimbal Settings not available on older firmware
property
bool
_showGimbaLSettings
:
controller
.
parameterExists
(
-
1
,
"
MNT_DEFLT_MODE
"
)
readonly
property
real
_margins
:
ScreenTools
.
defaultFontPixelHeight
readonly
property
int
_rcFunctionDisabled
:
0
readonly
property
int
_rcFunctionMountPan
:
6
readonly
property
int
_rcFunctionMountTilt
:
7
readonly
property
int
_rcFunctionMountRoll
:
8
readonly
property
int
_firstGimbalOutChannel
:
5
readonly
property
int
_lastGimbalOutChannel
:
14
readonly
property
int
_mountDefaultModeRCTargetting
:
3
Component.onCompleted
:
{
if
(
_showGimbaLSettings
)
{
gimbalSettingsLoader
.
sourceComponent
=
gimbalSettings
}
calcGimbalOutValues
()
slide
.
minimumValue
=
10
slide
.
maximumValue
=
127
slide
.
value
=
slide
.
_fact
.
value
slide
.
_loadComplete
=
true
}
function
setGimbalSettingsServoInfo
(
loader
,
channel
)
{
var
rcPrefix
=
"
r.SERVO
"
+
channel
+
"
_
"
loader
.
gimbalOutIndex
=
channel
-
4
loader
.
servoPWMMinFact
=
controller
.
getParameterFact
(
-
1
,
rcPrefix
+
"
MIN
"
)
loader
.
servoPWMMaxFact
=
controller
.
getParameterFact
(
-
1
,
rcPrefix
+
"
MAX
"
)
loader
.
servoReverseFact
=
controller
.
getParameterFact
(
-
1
,
rcPrefix
+
"
REVERSED
"
)
}
/// Gimbal output channels are stored in SERVO#_FUNCTION parameters. We need to loop through those
/// to find them and setup the ui accordindly.
function
calcGimbalOutValues
()
{
gimbalDirectionTiltLoader
.
gimbalOutIndex
=
0
gimbalDirectionPanLoader
.
gimbalOutIndex
=
0
gimbalDirectionRollLoader
.
gimbalOutIndex
=
0
_tiltEnabled
=
false
_panEnabled
=
false
_rollEnabled
=
false
for
(
var
channel
=
_firstGimbalOutChannel
;
channel
<=
_lastGimbalOutChannel
;
channel
++
)
{
var
functionFact
=
controller
.
getParameterFact
(
-
1
,
"
r.SERVO
"
+
channel
+
"
_FUNCTION
"
)
if
(
functionFact
.
value
===
_rcFunctionMountTilt
)
{
_tiltEnabled
=
true
setGimbalSettingsServoInfo
(
gimbalDirectionTiltLoader
,
channel
)
}
else
if
(
functionFact
.
value
===
_rcFunctionMountPan
)
{
_panEnabled
=
true
setGimbalSettingsServoInfo
(
gimbalDirectionPanLoader
,
channel
)
}
else
if
(
functionFact
.
value
===
_rcFunctionMountRoll
)
{
_rollEnabled
=
true
setGimbalSettingsServoInfo
(
gimbalDirectionRollLoader
,
channel
)
}
}
}
function
setRCFunction
(
channel
,
rcFunction
)
{
// First clear any previous settings for this function
for
(
var
index
=
_firstGimbalOutChannel
;
index
<=
_lastGimbalOutChannel
;
index
++
)
{
var
functionFact
=
controller
.
getParameterFact
(
-
1
,
"
r.SERVO
"
+
index
+
"
_FUNCTION
"
)
if
(
functionFact
.
value
!==
_rcFunctionDisabled
&&
functionFact
.
value
===
rcFunction
)
{
functionFact
.
value
=
_rcFunctionDisabled
}
}
// Now set the function into the new channel
if
(
channel
!==
0
)
{
var
functionFact
=
controller
.
getParameterFact
(
-
1
,
"
r.SERVO
"
+
channel
+
"
_FUNCTION
"
)
functionFact
.
value
=
rcFunction
}
}
// Whenever any SERVO#_FUNCTION parameters changes we need to go looking for gimbal output channels again
Connections
{
target
:
_rc5Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc6Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc7Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc8Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc9Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc10Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc11Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc12Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc13Function
;
onValueChanged
:
calcGimbalOutValues
()
}
Connections
{
target
:
_rc14Function
;
onValueChanged
:
calcGimbalOutValues
()
}
// Whenever an MNT_RC_IN_* setting is changed make sure to turn on RC targeting
Connections
{
target
:
_mountRCInPan
onValueChanged
:
_mountDefaultMode
.
value
=
_mountDefaultModeRCTargetting
}
Connections
{
target
:
_mountRCInRoll
onValueChanged
:
_mountDefaultMode
.
value
=
_mountDefaultModeRCTargetting
}
Connections
{
target
:
_mountRCInTilt
onValueChanged
:
_mountDefaultMode
.
value
=
_mountDefaultModeRCTargetting
}
ListModel
{
id
:
gimbalOutModel
ListElement
{
text
:
qsTr
(
"
Disabled
"
);
value
:
0
}
ListElement
{
text
:
qsTr
(
"
Channel 5
"
);
value
:
5
}
ListElement
{
text
:
qsTr
(
"
Channel 6
"
);
value
:
6
}
ListElement
{
text
:
qsTr
(
"
Channel 7
"
);
value
:
7
}
ListElement
{
text
:
qsTr
(
"
Channel 8
"
);
value
:
8
}
ListElement
{
text
:
qsTr
(
"
Channel 9
"
);
value
:
9
}
ListElement
{
text
:
qsTr
(
"
Channel 10
"
);
value
:
10
}
ListElement
{
text
:
qsTr
(
"
Channel 11
"
);
value
:
11
}
ListElement
{
text
:
qsTr
(
"
Channel 12
"
);
value
:
12
}
ListElement
{
text
:
qsTr
(
"
Channel 13
"
);
value
:
13
}
ListElement
{
text
:
qsTr
(
"
Channel 14
"
);
value
:
14
}
}
QGCCheckBox
{
id
:
_allVisible
text
:
"
Show all settings (advanced)
"
}
QGCLabel
{
visible
:
!
_oldFW
text
:
"
Camera mount tilt speed:
"
font.family
:
ScreenTools
.
demiboldFontFamily
}
QGCSlider
{
visible
:
!
_oldFW
id
:
slide
width
:
gimbalDirectionTiltLoader
.
width
stepSize
:
_fact
.
increment
?
_fact
.
increment
:
1
property
var
_fact
:
controller
.
getParameterFact
(
-
1
,
"
MNT_JSTICK_SPD
"
)
property
bool
_loadComplete
:
false
// Override style to make handles smaller than default
style
:
SliderStyle
{
handle
:
Rectangle
{
anchors.centerIn
:
parent
color
:
qgcPal
.
button
border.color
:
qgcPal
.
buttonText
border.width
:
1
implicitWidth
:
_radius
*
2
implicitHeight
:
_radius
*
2
radius
:
_radius
property
real
_radius
:
Math
.
round
(
ScreenTools
.
defaultFontPixelHeight
*
0.35
)
}
}
onValueChanged
:
{
if
(
_loadComplete
)
{
_fact
.
value
=
value
}
}
MouseArea
{
anchors.fill
:
parent
onWheel
:
{
// do nothing
wheel
.
accepted
=
true
;
}
onPressed
:
{
// propogate/accept
mouse
.
accepted
=
false
;
}
onReleased
:
{
// propogate/accept
mouse
.
accepted
=
false
;
}
}
}
// Gimbal axis setup
Component
{
id
:
gimbalDirectionSettings
// The following properties must be set in the Loader
// property string directionTitle
// property bool directionEnabled
// property int gimbalOutIndex
// property Fact mountRcInFact
// property Fact mountStabFact
// property Fact mountAngMinFact
// property Fact mountAngMaxFact
// property Fact servoPWMMinFact
// property Fact servoPWMMaxFact
// property Fact servoReverseFact
// property bool servoReverseIsBool
// property int rcFunction
// Each section is a row
Row
{
// Stack section title and section backdrop/content
Column
{
spacing
:
_margins
/
2
// Section Title
QGCLabel
{
id
:
directionLabel
text
:
qsTr
(
"
Gimbal
"
)
+
directionTitle
font.family
:
ScreenTools
.
demiboldFontFamily
}
// Section Backdrop
Rectangle
{
id
:
rectangle
height
:
innerColumn
.
height
+
_margins
*
2
width
:
innerColumn
.
width
+
_margins
*
2
color
:
palette
.
windowShade
// Section Content - 3 Rows
Column
{
id
:
innerColumn
spacing
:
_margins
anchors.margins
:
_margins
anchors.top
:
rectangle
.
top
anchors.left
:
rectangle
.
left
// Input/output channel setup and CheckBoxes
Row
{
spacing
:
_margins
// Input/output channel setup
Column
{
spacing
:
_margins
Row
{
spacing
:
_margins
QGCLabel
{
id
:
gimbalOutLabel
anchors.baseline
:
outputChan
.
baseline
text
:
qsTr
(
"
Output channel:
"
)
}
QGCComboBox
{
id
:
outputChan
width
:
servoPWMMinField
.
width
model
:
gimbalOutModel
currentIndex
:
gimbalOutIndex
onActivated
:
setRCFunction
(
gimbalOutModel
.
get
(
index
).
value
,
rcFunction
)
}
}
Component.onCompleted
:
{
mountRcInFact
.
value
=
hardCodedChanned
}
}
// Column - Input/output channel setup
// CheckBoxes
Column
{
spacing
:
_margins
enabled
:
directionEnabled
FactCheckBox
{
text
:
qsTr
(
"
Servo reverse
"
)
checkedValue
:
_servoReverseIsBool
?
1
:
-
1
uncheckedValue
:
_servoReverseIsBool
?
0
:
1
fact
:
servoReverseFact
property
bool
_servoReverseIsBool
:
servoReverseIsBool
}
FactCheckBox
{
anchors.margins
:
_margins
text
:
qsTr
(
"
Stabilize
"
)
fact
:
mountStabFact
checkedValue
:
1
uncheckedValue
:
0
visible
:
_allVisible
.
checked
}
}
// Column - CheckBoxes
}
// Row input/output setup and CheckBoxes
// Servo PWM Limits
Row
{
id
:
servoLimitRow
spacing
:
_margins
enabled
:
directionEnabled
property
var
_labelBaseline
:
servoPWMMinField
.
baseline
QGCLabel
{
text
:
qsTr
(
"
Servo PWM limits:
"
)
anchors.baseline
:
servoLimitRow
.
_labelBaseline
width
:
angleLimitLabel
.
width
}
QGCLabel
{
text
:
qsTr
(
"
min
"
)
anchors.baseline
:
servoLimitRow
.
_labelBaseline
}
FactTextField
{
id
:
servoPWMMinField
fact
:
servoPWMMinFact
}
QGCLabel
{
text
:
qsTr
(
"
max
"
)
anchors.baseline
:
servoLimitRow
.
_labelBaseline
}
FactTextField
{
fact
:
servoPWMMaxFact
}
}
// Row - Servo PWM limits
// Gimbal angle limits
Row
{
id
:
angleLimitRow
spacing
:
_margins
enabled
:
directionEnabled
visible
:
_allVisible
.
checked
property
var
_labelBaseline
:
mountAngMinField
.
baseline
QGCLabel
{
id
:
angleLimitLabel
text
:
qsTr
(
"
Gimbal angle limits:
"
)
anchors.baseline
:
angleLimitRow
.
_labelBaseline
}
QGCLabel
{
text
:
qsTr
(
"
min
"
)
anchors.baseline
:
angleLimitRow
.
_labelBaseline
}
FactTextField
{
id
:
mountAngMinField
fact
:
mountAngMinFact
}
QGCLabel
{
text
:
qsTr
(
"
max
"
)
anchors.baseline
:
angleLimitRow
.
_labelBaseline
}
FactTextField
{
fact
:
mountAngMaxFact
}
}
// Row - Gimbal angle limits
}
// Column - Section content
}
// Rectangle - Section backdrop
}
// Column - Stack section title and section backdrop/content
}
// Row - section
}
// Component - gimbalDirectionSettings
Component
{
id
:
gimbalSettings
Item
{
width
:
rectangle
.
x
+
rectangle
.
width
height
:
rectangle
.
y
+
rectangle
.
height
property
Fact
_mountDefaultMode
:
controller
.
getParameterFact
(
-
1
,
"
MNT_DEFLT_MODE
"
)
property
Fact
_mountType
:
controller
.
getParameterFact
(
-
1
,
"
MNT_TYPE
"
)
QGCLabel
{
id
:
settingsLabel
text
:
qsTr
(
"
Gimbal Settings
"
)
font.family
:
ScreenTools
.
demiboldFontFamily
}
Rectangle
{
id
:
rectangle
anchors.topMargin
:
_margins
/
2
anchors.top
:
settingsLabel
.
bottom
width
:
gimbalModeCombo
.
x
+
gimbalModeCombo
.
width
+
_margins
height
:
gimbalModeCombo
.
y
+
gimbalModeCombo
.
height
+
_margins
color
:
palette
.
windowShade
QGCLabel
{
id
:
gimbalTypeLabel
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.baseline
:
gimbalTypeCombo
.
baseline
text
:
qsTr
(
"
Type:
"
)
}
FactComboBox
{
id
:
gimbalTypeCombo
anchors.topMargin
:
_margins
anchors.top
:
parent
.
top
anchors.left
:
gimbalModeCombo
.
left
width
:
gimbalModeCombo
.
width
fact
:
_mountType
indexModel
:
false
}
QGCLabel
{
id
:
rebootLabel
anchors.topMargin
:
_margins
/
2
anchors.leftMargin
:
_margins
anchors.rightMargin
:
_margins
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
anchors.top
:
gimbalTypeCombo
.
bottom
wrapMode
:
Text
.
WordWrap
text
:
qsTr
(
"
Gimbal Type changes takes affect next reboot of autopilot
"
)
}
QGCLabel
{
id
:
gimbalModeLabel
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.baseline
:
gimbalModeCombo
.
baseline
text
:
qsTr
(
"
Default Mode:
"
)
}
FactComboBox
{
id
:
gimbalModeCombo
anchors.margins
:
_margins
anchors.top
:
rebootLabel
.
bottom
anchors.left
:
gimbalModeLabel
.
right
width
:
ScreenTools
.
defaultFontPixelWidth
*
15
fact
:
_mountDefaultMode
indexModel
:
false
}
}
// Rectangle
}
// Item
}
// Component - gimbalSettings
Loader
{
id
:
gimbalDirectionTiltLoader
sourceComponent
:
gimbalDirectionSettings
property
int
hardCodedChanned
:
8
// ArduSub/joystick.cpp cam_tilt
property
string
directionTitle
:
qsTr
(
"
Tilt
"
)
property
bool
directionEnabled
:
_tiltEnabled
property
int
gimbalOutIndex
:
0
property
Fact
mountRcInFact
:
_mountRCInTilt
property
Fact
mountStabFact
:
_mountStabTilt
property
Fact
mountAngMinFact
:
_mountAngMinTilt
property
Fact
mountAngMaxFact
:
_mountAngMaxTilt
property
Fact
servoPWMMinFact
:
Fact
{
}
property
Fact
servoPWMMaxFact
:
Fact
{
}
property
Fact
servoReverseFact
:
Fact
{
}
property
bool
servoReverseIsBool
:
_servoReverseIsBool
property
int
rcFunction
:
_rcFunctionMountTilt
}
Loader
{
id
:
gimbalDirectionRollLoader
sourceComponent
:
gimbalDirectionSettings
visible
:
_allVisible
.
checked
property
int
hardCodedChanned
:
0
// ArduSub/joystick.cpp cam_roll does not exist
property
string
directionTitle
:
qsTr
(
"
Roll
"
)
property
bool
directionEnabled
:
_rollEnabled
property
int
gimbalOutIndex
:
0
property
Fact
mountRcInFact
:
_mountRCInRoll
property
Fact
mountStabFact
:
_mountStabRoll
property
Fact
mountAngMinFact
:
_mountAngMinRoll
property
Fact
mountAngMaxFact
:
_mountAngMaxRoll
property
Fact
servoPWMMinFact
:
Fact
{
}
property
Fact
servoPWMMaxFact
:
Fact
{
}
property
Fact
servoReverseFact
:
Fact
{
}
property
bool
servoReverseIsBool
:
_servoReverseIsBool
property
int
rcFunction
:
_rcFunctionMountRoll
}
Loader
{
id
:
gimbalDirectionPanLoader
sourceComponent
:
gimbalDirectionSettings
visible
:
_allVisible
.
checked
property
int
hardCodedChanned
:
7
// ArduSub/joystick.cpp cam_pan
property
string
directionTitle
:
qsTr
(
"
Pan
"
)
property
bool
directionEnabled
:
_panEnabled
property
int
gimbalOutIndex
:
0
property
Fact
mountRcInFact
:
_mountRCInPan
property
Fact
mountStabFact
:
_mountStabPan
property
Fact
mountAngMinFact
:
_mountAngMinPan
property
Fact
mountAngMaxFact
:
_mountAngMaxPan
property
Fact
servoPWMMinFact
:
Fact
{
}
property
Fact
servoPWMMaxFact
:
Fact
{
}
property
Fact
servoReverseFact
:
Fact
{
}
property
bool
servoReverseIsBool
:
_servoReverseIsBool
property
int
rcFunction
:
_rcFunctionMountPan
}
Loader
{
id
:
gimbalSettingsLoader
visible
:
_allVisible
.
checked
}
}
// Column
}
// Component
}
// SetupPage
src/FirmwarePlugin/APM/APMResources.qrc
View file @
da8e98a1
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
<file alias="APMAirframeComponent.qml">../../AutoPilotPlugins/APM/APMAirframeComponent.qml</file>
<file alias="APMAirframeComponent.qml">../../AutoPilotPlugins/APM/APMAirframeComponent.qml</file>
<file alias="APMAirframeComponentSummary.qml">../../AutoPilotPlugins/APM/APMAirframeComponentSummary.qml</file>
<file alias="APMAirframeComponentSummary.qml">../../AutoPilotPlugins/APM/APMAirframeComponentSummary.qml</file>
<file alias="APMCameraComponent.qml">../../AutoPilotPlugins/APM/APMCameraComponent.qml</file>
<file alias="APMCameraComponent.qml">../../AutoPilotPlugins/APM/APMCameraComponent.qml</file>
<file alias="APMCameraSubComponent.qml">../../AutoPilotPlugins/APM/APMCameraSubComponent.qml</file>
<file alias="APMCameraComponentSummary.qml">../../AutoPilotPlugins/APM/APMCameraComponentSummary.qml</file>
<file alias="APMCameraComponentSummary.qml">../../AutoPilotPlugins/APM/APMCameraComponentSummary.qml</file>
<file alias="APMFlightModesComponent.qml">../../AutoPilotPlugins/APM/APMFlightModesComponent.qml</file>
<file alias="APMFlightModesComponent.qml">../../AutoPilotPlugins/APM/APMFlightModesComponent.qml</file>
<file alias="APMFlightModesComponentSummary.qml">../../AutoPilotPlugins/APM/APMFlightModesComponentSummary.qml</file>
<file alias="APMFlightModesComponentSummary.qml">../../AutoPilotPlugins/APM/APMFlightModesComponentSummary.qml</file>
...
...
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