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
07cbfd02
Commit
07cbfd02
authored
Dec 29, 2015
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add AutoTune
parent
8a4426ac
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
113 additions
and
2 deletions
+113
-2
APMTuningComponentCopter.qml
src/AutoPilotPlugins/APM/APMTuningComponentCopter.qml
+113
-2
No files found.
src/AutoPilotPlugins/APM/APMTuningComponentCopter.qml
View file @
07cbfd02
...
...
@@ -48,6 +48,20 @@ QGCView {
property
Fact
_rateClimbP
:
controller
.
getParameterFact
(
-
1
,
"
ACCEL_Z_P
"
)
property
Fact
_rateClimbI
:
controller
.
getParameterFact
(
-
1
,
"
ACCEL_Z_I
"
)
property
Fact
_ch7Opt
:
controller
.
getParameterFact
(
-
1
,
"
CH7_OPT
"
)
property
Fact
_ch8Opt
:
controller
.
getParameterFact
(
-
1
,
"
CH8_OPT
"
)
property
Fact
_ch9Opt
:
controller
.
getParameterFact
(
-
1
,
"
CH9_OPT
"
)
property
Fact
_ch10Opt
:
controller
.
getParameterFact
(
-
1
,
"
CH10_OPT
"
)
property
Fact
_ch11Opt
:
controller
.
getParameterFact
(
-
1
,
"
CH11_OPT
"
)
property
Fact
_ch12Opt
:
controller
.
getParameterFact
(
-
1
,
"
CH12_OPT
"
)
readonly
property
int
_firstOptionChannel
:
7
readonly
property
int
_lastOptionChannel
:
12
property
Fact
_autoTuneAxes
:
controller
.
getParameterFact
(
-
1
,
"
AUTOTUNE_AXES
"
)
property
int
_autoTuneSwitchChannelIndex
:
0
readonly
property
int
_autoTuneOption
:
17
property
real
_margins
:
ScreenTools
.
defaultFontPixelHeight
property
bool
_loadComplete
:
false
...
...
@@ -67,8 +81,47 @@ QGCView {
climb
.
value
=
_rateClimbP
.
value
rcFeel
.
value
=
_rcFeel
.
value
_loadComplete
=
true
calcAutoTuneChannel
()
}
/// The AutoTune switch is stored in one of the RC#_FUNCTION parameters. We need to loop through those
/// to find them and setup the ui accordindly.
function
calcAutoTuneChannel
()
{
_autoTuneSwitchChannelIndex
=
0
for
(
var
channel
=
_firstOptionChannel
;
channel
<=
_lastOptionChannel
;
channel
++
)
{
var
optionFact
=
controller
.
getParameterFact
(
-
1
,
"
CH
"
+
channel
+
"
_OPT
"
)
if
(
optionFact
.
value
==
_autoTuneOption
)
{
_autoTuneSwitchChannelIndex
=
channel
-
_firstOptionChannel
+
1
break
}
}
}
/// We need to clear AutoTune from any previous channel before setting it to a new one
function
setChannelAutoTuneOption
(
channel
)
{
// First clear any previous settings for AutTune
for
(
var
optionChannel
=
_firstOptionChannel
;
optionChannel
<=
_lastOptionChannel
;
optionChannel
++
)
{
var
optionFact
=
controller
.
getParameterFact
(
-
1
,
"
CH
"
+
optionChannel
+
"
_OPT
"
)
if
(
optionFact
.
value
==
_autoTuneOption
)
{
optionFact
.
value
=
0
}
}
// Now set the function into the new channel
if
(
channel
!=
0
)
{
var
optionFact
=
controller
.
getParameterFact
(
-
1
,
"
CH
"
+
channel
+
"
_OPT
"
)
optionFact
.
value
=
_autoTuneOption
}
}
Connections
{
target
:
_ch7Opt
;
onValueChanged
:
calcAutoTuneChannel
()
}
Connections
{
target
:
_ch8Opt
;
onValueChanged
:
calcAutoTuneChannel
()
}
Connections
{
target
:
_ch9Opt
;
onValueChanged
:
calcAutoTuneChannel
()
}
Connections
{
target
:
_ch10Opt
;
onValueChanged
:
calcAutoTuneChannel
()
}
Connections
{
target
:
_ch11Opt
;
onValueChanged
:
calcAutoTuneChannel
()
}
Connections
{
target
:
_ch12Opt
;
onValueChanged
:
calcAutoTuneChannel
()
}
QGCViewPanel
{
id
:
panel
anchors.fill
:
parent
...
...
@@ -77,7 +130,7 @@ QGCView {
clip
:
true
anchors.fill
:
parent
boundsBehavior
:
Flickable
.
StopAtBounds
contentHeight
:
basicTuning
.
y
+
basicTuning
.
height
contentHeight
:
autoTuneRect
.
y
+
autoTuneRect
.
height
flickableDirection
:
Flickable
.
VerticalFlick
QGCLabel
{
...
...
@@ -87,7 +140,7 @@ QGCView {
}
Rectangle
{
id
:
basicTuning
id
:
basicTuning
Rect
anchors.topMargin
:
_margins
/
2
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
...
...
@@ -229,6 +282,64 @@ QGCView {
}
}
}
// Rectangle - Basic tuning
QGCLabel
{
id
:
autoTuneLabel
anchors.topMargin
:
_margins
anchors.top
:
basicTuningRect
.
bottom
text
:
"
AutoTune
"
font.weight
:
Font
.
DemiBold
}
Rectangle
{
id
:
autoTuneRect
anchors.topMargin
:
_margins
/
2
anchors.left
:
parent
.
left
anchors.top
:
autoTuneLabel
.
bottom
width
:
autoTuneColumn
.
x
+
autoTuneColumn
.
width
+
_margins
height
:
autoTuneColumn
.
y
+
autoTuneColumn
.
height
+
_margins
color
:
palette
.
windowShade
Column
{
id
:
autoTuneColumn
anchors.margins
:
_margins
anchors.left
:
parent
.
left
anchors.top
:
parent
.
top
spacing
:
_margins
Row
{
spacing
:
_margins
QGCLabel
{
text
:
"
Axes to AutoTune:
"
}
FactBitmask
{
fact
:
_autoTuneAxes
}
}
Row
{
spacing
:
_margins
QGCLabel
{
anchors.baseline
:
autoTuneChannelCombo
.
baseline
text
:
"
Channel for AutoTune switch:
"
}
QGCComboBox
{
id
:
autoTuneChannelCombo
width
:
ScreenTools
.
defaultFontPixelWidth
*
14
model
:
[
"
None
"
,
"
Channel 7
"
,
"
Channel 8
"
,
"
Channel 9
"
,
"
Channel 10
"
,
"
Channel 11
"
,
"
Channel 12
"
]
currentIndex
:
_autoTuneSwitchChannelIndex
onActivated
:
{
var
channel
=
index
if
(
channel
>
0
)
{
channel
+=
6
}
setChannelAutoTuneOption
(
channel
)
}
}
}
}
}
// Rectangle - AutoTune
}
// Flickable
}
// QGCViewPanel
}
// QGCView
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