]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/control.cpp
Convert engineer to use mspgbase instead of SDL
[r2c2.git] / source / libmarklin / control.cpp
index 02b8f0f16949a2aab1c5f49013de37e32bf10415..6e82614c21ebf904a65fd3d4d29b359bfe77c03e 100644 (file)
@@ -138,6 +138,8 @@ void Control::tick()
        for(map<unsigned, Sensor *>::const_iterator i=sensors.begin(); i!=sensors.end(); ++i)
                i->second->tick();
 
+       timer.tick(false);
+
        if(t>next_event_query)
        {
                next_event_query=t+300*Time::msec;
@@ -325,14 +327,14 @@ void Control::sensor_event_done(Error, const string &resp)
        for(unsigned i=0; resp[i]; i+=3)
        {
                unsigned module=(unsigned char)resp[i];
+
                cout<<"S88 module "<<module<<", status ";
                for(unsigned j=0; j<16; ++j)
-               {
-                       bool status=(resp[i+1+j/8]>>(7-j%8))&1;
-                       cout<<status;
-                       signal_sensor_event.emit(module*16+j-15, status);
-               }
+                       cout<<((resp[i+1+j/8]>>(7-j%8))&1);
                cout<<'\n';
+
+               for(unsigned j=0; j<16; ++j)
+                       signal_sensor_event.emit(module*16+j-15, (resp[i+1+j/8]>>(7-j%8))&1);
        }
 }