(*i)->tick(t, dt);
controller->tick(dt);
float speed = controller->get_speed();
+ bool moving = speed>0;
if(controller->get_reverse()!=reverse)
{
speed = speed_quantizer->get_speed(current_speed_step);
}
- if(speed)
+ if(moving)
{
if(!active)
set_active(true);
// Compute speed and update related state
float travel_time_secs = (Time::now()-last_entry_time)/Time::sec;
- if(pure_speed && speed_quantizer && current_speed_step>0)
+ if(pure_speed && speed_quantizer && current_speed_step>0 && travel_time_secs>=2)
speed_quantizer->learn(current_speed_step, travel_dist/travel_time_secs, travel_time_secs);
travel_dist = 0;