Newer
Older
PrismSoftware / ECTrainer2 / BitalMonitor.h
#pragma once

#include "BaseProcess.h"
#include "GComPort.h"
#include "RingBuffer.h"


class BitalMonitor : public BaseProcess
{
	const char LF = 10;
	const DWORD NO_SIGNAL_TIMEOUT = 5000; // 無信号と判定する時間 (ms)
	static const int BUF_LEN = 256;

	GComPort _Com;
	RingBuffer<int> _rrInterval;
	bool _useDevice;
	DWORD _lastRR;	// 前回のRR取得時間(タイムアウト時 0)
	char lastBuf[BUF_LEN];

	//std::string ClassName() { return "BitalMonitor"; }	// FPS表示


public:
	BitalMonitor(ECTrainer* pEct);
	bool Init();
	bool Routine();
	bool IsUseDevice() { return _useDevice; }
	int GetRR() { return _rrInterval.Get(); }
	int GetHB() { return _rrInterval.Get() < 1 ? 0 : 60000 / _rrInterval.Get(); }
};