aboutsummaryrefslogtreecommitdiff
path: root/src/modules/controllib/blocks.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-11-26 07:56:54 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-11-26 07:56:54 +0100
commit6200a3e3a5f24f40ff9da8b3fb366b7014656941 (patch)
tree5fc03991b903894d869125af757954de92331279 /src/modules/controllib/blocks.cpp
parent034d0a6a610c8838d6c43b51a4401ce818b77624 (diff)
parentcbcd1ea1d143dfddd2331fb14d17d7be48fa8b6f (diff)
downloadpx4-firmware-6200a3e3a5f24f40ff9da8b3fb366b7014656941.tar.gz
px4-firmware-6200a3e3a5f24f40ff9da8b3fb366b7014656941.tar.bz2
px4-firmware-6200a3e3a5f24f40ff9da8b3fb366b7014656941.zip
Added TeraRanger one sensor
Diffstat (limited to 'src/modules/controllib/blocks.cpp')
-rw-r--r--src/modules/controllib/blocks.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/modules/controllib/blocks.cpp b/src/modules/controllib/blocks.cpp
index 0175acda9..f739446fa 100644
--- a/src/modules/controllib/blocks.cpp
+++ b/src/modules/controllib/blocks.cpp
@@ -121,6 +121,9 @@ int blockLimitSymTest()
float BlockLowPass::update(float input)
{
+ if (!isfinite(getState())) {
+ setState(input);
+ }
float b = 2 * float(M_PI) * getFCut() * getDt();
float a = b / (1 + b);
setState(a * input + (1 - a)*getState());