diff --git a/ECTrainer2/BitalMonitor.cpp b/ECTrainer2/BitalMonitor.cpp index 8eaf4df..f794815 100644 --- a/ECTrainer2/BitalMonitor.cpp +++ b/ECTrainer2/BitalMonitor.cpp @@ -41,7 +41,7 @@ char comBuf[256] = { '\0' }; char valueStr[10] = { '\0' }; - int count = 0; + DWORD lastRR = 0; // �O���RR�擾���ԁi�^�C���A�E�g�� 0�j while (_pEct->IsAppRun()) { // �o�C�^�� @@ -61,8 +61,9 @@ int RR = atoi(sp + 1); if (RR > 0) { _rrInterval.Put(RR); + lastRR = timeGetTime(); } - std::cout << "Read:" << RR << std::endl; + //std::cout << "Read:" << RR << std::endl; } sp = pt + 1; } @@ -72,8 +73,14 @@ //std::cout << "lastBuf2:" << lastBuf << std::endl; } + + // ���M�����o + if (lastRR > 0 && timeGetTime() - lastRR > NO_SIGNAL_TIMEOUT) { + _rrInterval.Put(0); + lastRR = 0; + } + Sleep(10); - //if (++count > 20) break; } return true; diff --git a/ECTrainer2/BitalMonitor.h b/ECTrainer2/BitalMonitor.h index c9507d4..842dbe9 100644 --- a/ECTrainer2/BitalMonitor.h +++ b/ECTrainer2/BitalMonitor.h @@ -9,6 +9,7 @@ { const int COM_PORT = 4; const char LF = 10; + const int NO_SIGNAL_TIMEOUT = 5000; // ���M���Ɣ��肷�鎞�� (ms) GComPort _Com; RingBuffer _rrInterval;