aboutsummaryrefslogtreecommitdiff
path: root/src/modules/controllib/blocks.cpp
diff options
context:
space:
mode:
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());