blob: ed79b08220c65edda45cc49309fe64b064ae9194 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#include <array>
#include "components/heartrate/Biquad.h"
#include "components/heartrate/Ptagc.h"
namespace Pinetime {
namespace Controllers {
class Ppg {
public:
Ppg();
int8_t Preprocess(float spl);
float HeartRate();
void SetOffset(uint16_t i);
void Reset();
private:
std::array<int8_t, 200> data;
size_t dataIndex = 0;
float offset;
Biquad hpf;
Ptagc agc;
Biquad lpf;
float ProcessHeartRate();
};
}
}
|