autolaunch: added param for delay

This commit is contained in:
Julian Oes
2014-08-22 20:30:06 +02:00
parent 64ed253591
commit 708ee8ae3a
3 changed files with 29 additions and 3 deletions
@@ -51,7 +51,8 @@ CatapultLaunchMethod::CatapultLaunchMethod(SuperBlock *parent) :
integrator(0.0f),
launchDetected(false),
threshold_accel(this, "A"),
threshold_time(this, "T")
threshold_time(this, "T"),
delay(this, "DELAY")
{
}
@@ -78,21 +79,33 @@ void CatapultLaunchMethod::update(float accel_x)
// (double)integrator, (double)threshold_accel.get(), (double)threshold_time.get(), (double)accel_x, (double)dt);
/* reset integrator */
integrator = 0.0f;
launchDetected = false;
}
if (launchDetected) {
delayCounter += dt;
if (delayCounter > delay.get()) {
delayPassed = true;
}
}
}
bool CatapultLaunchMethod::getLaunchDetected()
{
return launchDetected;
if (delay.get() > 0.0f) {
return delayPassed;
} else {
return launchDetected;
}
}
void CatapultLaunchMethod::reset()
{
integrator = 0.0f;
delayCounter = 0.0f;
launchDetected = false;
delayPassed = false;
}
}