diff --git a/src_main/system/pisingleapplication.cpp b/src_main/system/pisingleapplication.cpp index b64f0d8c..386edbdb 100644 --- a/src_main/system/pisingleapplication.cpp +++ b/src_main/system/pisingleapplication.cpp @@ -62,10 +62,12 @@ void PISingleApplication::sendMessage(const PIByteArray & m) { void PISingleApplication::begin() { int cnt[2] = {0, 0}; + int tcnt = 0; + shm->read(cnt, 8); for (int i = 0; i < 5; ++i) { - cnt[1] = cnt[0]; - shm->read(cnt, 4); - if (cnt[0] != cnt[1]) { + tcnt = cnt[0]; + shm->read(cnt, 8); + if (cnt[0] == cnt[1] && cnt[0] != tcnt) { first = false; break; } @@ -92,7 +94,7 @@ void PISingleApplication::run() { messageReceived(msg); piCoutObj << "message" << msg; } - int wi[2] = {sacnt, 0}; + int wi[2] = {sacnt, sacnt}; shm->write(wi, 8); } }