summaryrefslogtreecommitdiffstats
path: root/Project/RateLimiter.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-12-31 18:00:25 -0200
committerGitHub <noreply@github.com>2017-12-31 18:00:25 -0200
commit0c0280cfcf540f943fd2dbfdf7ac0304ea96a465 (patch)
tree51c89fc8155dcc447743dc89a1ab5ce36acc72cf /Project/RateLimiter.cpp
parentc8193665975686fb8a344bee3dc94914a3d3558a (diff)
parentdbe0b112622f8e91fa3e44a6b6e1aa7e230d3ded (diff)
downloadPSP.git-0c0280cfcf540f943fd2dbfdf7ac0304ea96a465.tar.gz
PSP.git-0c0280cfcf540f943fd2dbfdf7ac0304ea96a465.tar.xz
PSP.git-0c0280cfcf540f943fd2dbfdf7ac0304ea96a465.zip
Merge pull request #43 from Thales1330/wip/math-expr-control-block
Wip math expr control block
Diffstat (limited to 'Project/RateLimiter.cpp')
-rw-r--r--Project/RateLimiter.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/Project/RateLimiter.cpp b/Project/RateLimiter.cpp
index afba0ee..c8da81d 100644
--- a/Project/RateLimiter.cpp
+++ b/Project/RateLimiter.cpp
@@ -110,9 +110,13 @@ void RateLimiter::UpdatePoints()
}
}
-bool RateLimiter::Solve(double input, double timeStep)
+bool RateLimiter::Solve(double* input, double timeStep)
{
- double rate = (input - m_output) / timeStep;
+ if(!input) {
+ m_output = 0.0;
+ return true;
+ }
+ double rate = (input[0] - m_output) / timeStep;
bool reachLimit = false;
if(rate > m_upLimit) {
@@ -126,7 +130,7 @@ bool RateLimiter::Solve(double input, double timeStep)
if(reachLimit)
m_output += rate * timeStep;
else
- m_output = input;
+ m_output = input[0];
return true;
}