X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fcontrol.cpp;h=6e82614c21ebf904a65fd3d4d29b359bfe77c03e;hb=aead7f2da831199fbb8f6950b067656b2965c2fa;hp=02b8f0f16949a2aab1c5f49013de37e32bf10415;hpb=52cbe8d99669f843f8f75c51128e2748584dd03a;p=r2c2.git diff --git a/source/libmarklin/control.cpp b/source/libmarklin/control.cpp index 02b8f0f..6e82614 100644 --- a/source/libmarklin/control.cpp +++ b/source/libmarklin/control.cpp @@ -138,6 +138,8 @@ void Control::tick() for(map::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 "<>(7-j%8))&1; - cout<>(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); } }