Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
a2e20952
Commit
a2e20952
authored
May 28, 2016
by
Rustom Jehangir
Browse files
Add RC-radio-like exponential to joystick RPY axes
parent
f5f99e51
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/Joystick/Joystick.cc
View file @
a2e20952
...
...
@@ -282,6 +282,16 @@ void Joystick::run(void)
pitch
=
std
::
max
(
-
1.0
f
,
std
::
min
(
tanf
(
asinf
(
pitch_limited
)),
1.0
f
));
yaw
=
std
::
max
(
-
1.0
f
,
std
::
min
(
tanf
(
asinf
(
yaw_limited
)),
1.0
f
));
throttle
=
std
::
max
(
-
1.0
f
,
std
::
min
(
tanf
(
asinf
(
throttle_limited
)),
1.0
f
));
// Exponential (0% to -50% range like most RC radios)
// 0 for no exponential
// -0.5 for strong exponential
float
expo
=
-
0.35
;
// Calculate new RPY with exponential applied
roll
=
-
expo
*
powf
(
roll
,
3
)
+
(
1
+
expo
)
*
roll
;
pitch
=
-
expo
*
powf
(
pitch
,
3
)
+
(
1
+
expo
)
*
pitch
;
yaw
=
-
expo
*
powf
(
yaw
,
3
)
+
(
1
+
expo
)
*
yaw
;
// Adjust throttle to 0:1 range
if
(
_throttleMode
==
ThrottleModeCenterZero
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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