#pragma once
#include "ComPort.h"
#include "RingBuffer.h"
class ECTrainer;
class BaseProcess;
class BitalMonitor : public BaseProcess
{
const char LF = 10;
const DWORD NO_SIGNAL_TIMEOUT = 5000; // 無信号と判定する時間 (ms)
static const int BUF_LEN = 256;
const int COM_SEARCH_MAX = 20;
nkc::ComPort _Com;
nkc::RingBuffer<int> _rrInterval;
bool _useDevice;
DWORD _lastRR; // 前回のRR取得時間(タイムアウト時 0)
char lastBuf[BUF_LEN];
// ECTrainerインスタンス取得
ECTrainer* Ect() { return (ECTrainer*)_pUserdata; }
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(); }
};