]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/sensor.cpp
Use max/min for range capping
[r2c2.git] / source / libr2c2 / sensor.cpp
index ecd06473fb4bdf2234a2c149f19d0b3ae1af849e..83dcb6d1be3b6bae9610101672bf21973674e655 100644 (file)
@@ -2,6 +2,7 @@
 #include "layout.h"
 #include "sensor.h"
 
+using namespace std;
 using namespace Msp;
 
 namespace R2C2 {
@@ -42,14 +43,13 @@ void Sensor::tick(const Time::TimeDelta &dt)
 {
        if(state_confirm_timeout)
        {
-               state_confirm_timeout -= dt;
+               state_confirm_timeout = max(state_confirm_timeout-dt, Time::zero);
                if(state_confirm_timeout<=Time::zero)
                {
                        if(state==MAYBE_INACTIVE)
                                state = INACTIVE;
                        else if(state==MAYBE_ACTIVE)
                                state = ACTIVE;
-                       state_confirm_timeout = Time::zero;
                        signal_state_changed.emit(state);
                }
        }