MAX30001G 1.4.2
Arduino library for MAX30001G ECG and BIOZ AFE
Loading...
Searching...
No Matches
max30001g_globals.h
Go to the documentation of this file.
1#ifndef MAX30001G_GLOBALS_H
2#define MAX30001G_GLOBALS_H
3
4#include <stdint.h>
5#include "RingBuffer.h"
6#include "max30001g_defs.h"
9
10// Interrupt Flags
11extern volatile bool ecg_available;
12extern volatile bool bioz_available;
13extern volatile bool rtor_available;
14
15
16// Data Buffers
17extern RingBuffer<float, 128> ECG_data;
18extern RingBuffer<float, 128> BIOZ_data;
19extern RingBuffer<float, 16> RTOR_data;
20extern RingBuffer<ImpedanceSpectrum, 4> BIOZ_spectrum;
21
22extern int ecg_counter;
23extern int bioz_counter;
24extern int rtor_counter;
25extern float rr_interval;
26
27// Impedance Measurement Data
31
32// Error & Status Flags
33extern volatile bool ecg_lead_off;
34extern volatile bool ecg_fast_recovery_occurred;
35extern volatile bool ecg_overflow_occurred;
36extern volatile bool bioz_cgm_occurred;
37extern volatile bool bioz_undervoltage_occurred;
38extern volatile bool bioz_overvoltage_occurred;
39extern volatile bool bioz_overflow_occurred;
40extern volatile bool leads_on_detected;
41extern volatile bool pll_unlocked_occurred;
42
43extern volatile bool afe_irq_pending;
44extern volatile bool afe_irq1_pending;
45extern volatile bool afe_irq2_pending;
46
47extern bool over_voltage_detected;
48extern bool under_voltage_detected;
49extern bool valid_data_detected;
50extern bool EOF_detected;
51
52// MAX30001 Timing and Measurement Settings
53extern float ECG_samplingRate;
54extern float BIOZ_samplingRate;
55extern float RtoR_resolution;
56extern float RtoR_delay;
57extern float CAL_resolution;
58extern float CAL_fcal;
59extern float fmstr;
60extern float tres;
61extern float ECG_progression;
62extern float ECG_hpf;
63extern float ECG_lpf;
64extern float ECG_latency;
65extern int ECG_gain;
66extern int BIOZ_gain;
67extern int BIOZ_cgmag;
68extern uint32_t BIOZ_cmres;
69extern uint16_t RBIASV_res;
70extern float BIOZ_frequency;
71extern float BIOZ_phase;
72extern float BIOZ_ahpf; // [Hz] BIOZ analog high pass filter
73extern float BIOZ_dlpf; // [Hz] BIOZ digital low pass filter
74extern float BIOZ_dhpf; // [Hz] BIOZ digital high pass filter
75extern float BIOZ_test_rnom; // [Ohm] BIOZ test resistor nominal value
76extern float BIOZ_test_rmod; // [Ohm] BIOZ test resistor modulation value
77extern float BIOZ_test_frequency; // [Hz] BIOZ test frequency for modulation
78extern int32_t V_ref;
79extern int32_t V_AVDD;
80extern float RCAL_freq;
81
82// MAX30001 Configuration and Status Registers
98
99#endif // MAX30001G_GLOBALS_H
#define MAX30001_BIOZ_NUM_FREQUENCIES
Definition max30001g_defs.h:11
bool valid_data_detected
Definition max30001g_globals.cpp:43
uint16_t RBIASV_res
Definition max30001g_globals.cpp:65
int32_t V_AVDD
Definition max30001g_globals.cpp:75
float RtoR_resolution
Definition max30001g_globals.cpp:51
max30001_info_reg_t info
Definition max30001g_globals.cpp:85
float ECG_samplingRate
Definition max30001g_globals.cpp:49
max30001_cnfg_cal_reg_t cnfg_cal
Definition max30001g_globals.cpp:87
float rr_interval
Definition max30001g_globals.cpp:21
float BIOZ_dlpf
Definition max30001g_globals.cpp:70
float ECG_latency
Definition max30001g_globals.cpp:60
max30001_cnfg_ecg_reg_t cnfg_ecg
Definition max30001g_globals.cpp:89
int rtor_counter
Definition max30001g_globals.cpp:20
RingBuffer< ImpedanceSpectrum, 4 > BIOZ_spectrum
Definition max30001g_globals.cpp:16
max30001_cnfg_rtor1_reg_t cnfg_rtor1
Definition max30001g_globals.cpp:93
float ECG_lpf
Definition max30001g_globals.cpp:59
max30001_en_int_reg_t en_int2
Definition max30001g_globals.cpp:82
int ECG_gain
Definition max30001g_globals.cpp:61
float BIOZ_dhpf
Definition max30001g_globals.cpp:69
float tres
Definition max30001g_globals.cpp:56
float ECG_progression
Definition max30001g_globals.cpp:57
volatile bool afe_irq1_pending
Definition max30001g_globals.cpp:38
float impedance_magnitude[MAX30001_BIOZ_NUM_FREQUENCIES]
Definition max30001g_globals.cpp:23
volatile bool rtor_available
Definition max30001g_globals.cpp:11
volatile bool bioz_overvoltage_occurred
Definition max30001g_globals.cpp:32
volatile bool bioz_cgm_occurred
Definition max30001g_globals.cpp:30
volatile bool ecg_available
Definition max30001g_globals.cpp:9
float fmstr
Definition max30001g_globals.cpp:55
int32_t V_ref
Definition max30001g_globals.cpp:74
volatile bool afe_irq2_pending
Definition max30001g_globals.cpp:39
bool EOF_detected
Definition max30001g_globals.cpp:44
max30001_cnfg_bioz_lc_reg_t cnfg_bioz_lc
Definition max30001g_globals.cpp:92
max30001_cnfg_rtor2_reg_t cnfg_rtor2
Definition max30001g_globals.cpp:94
volatile bool afe_irq_pending
Definition max30001g_globals.cpp:37
max30001_cnfg_emux_reg_t cnfg_emux
Definition max30001g_globals.cpp:88
float BIOZ_test_rmod
Definition max30001g_globals.cpp:72
float BIOZ_frequency
Definition max30001g_globals.cpp:66
max30001_mngr_int_reg_t mngr_int
Definition max30001g_globals.cpp:83
volatile bool ecg_overflow_occurred
Definition max30001g_globals.cpp:29
volatile bool leads_on_detected
Definition max30001g_globals.cpp:34
volatile bool bioz_available
Definition max30001g_globals.cpp:10
int BIOZ_gain
Definition max30001g_globals.cpp:62
max30001_status_reg_t status
Definition max30001g_globals.cpp:80
float ECG_hpf
Definition max30001g_globals.cpp:58
RingBuffer< float, 16 > RTOR_data
Definition max30001g_globals.cpp:15
float BIOZ_test_rnom
Definition max30001g_globals.cpp:71
int ecg_counter
Definition max30001g_globals.cpp:18
max30001_cnfg_bmux_reg_t cnfg_bmux
Definition max30001g_globals.cpp:90
uint32_t BIOZ_cmres
Definition max30001g_globals.cpp:64
bool under_voltage_detected
Definition max30001g_globals.cpp:42
int BIOZ_cgmag
Definition max30001g_globals.cpp:63
float CAL_fcal
Definition max30001g_globals.cpp:54
float BIOZ_ahpf
Definition max30001g_globals.cpp:68
max30001_cnfg_gen_reg_t cnfg_gen
Definition max30001g_globals.cpp:86
float BIOZ_phase
Definition max30001g_globals.cpp:67
volatile bool pll_unlocked_occurred
Definition max30001g_globals.cpp:35
float RCAL_freq
Definition max30001g_globals.cpp:76
max30001_en_int_reg_t en_int1
Definition max30001g_globals.cpp:81
float impedance_phase[MAX30001_BIOZ_NUM_FREQUENCIES]
Definition max30001g_globals.cpp:24
int bioz_counter
Definition max30001g_globals.cpp:19
float BIOZ_test_frequency
Definition max30001g_globals.cpp:73
volatile bool ecg_lead_off
Definition max30001g_globals.cpp:27
volatile bool bioz_undervoltage_occurred
Definition max30001g_globals.cpp:31
float impedance_frequency[MAX30001_BIOZ_NUM_FREQUENCIES]
Definition max30001g_globals.cpp:25
max30001_mngr_dyn_reg_t mngr_dyn
Definition max30001g_globals.cpp:84
bool over_voltage_detected
Definition max30001g_globals.cpp:41
float CAL_resolution
Definition max30001g_globals.cpp:53
RingBuffer< float, 128 > BIOZ_data
Definition max30001g_globals.cpp:14
max30001_cnfg_bioz_reg_t cnfg_bioz
Definition max30001g_globals.cpp:91
RingBuffer< float, 128 > ECG_data
Definition max30001g_globals.cpp:13
float RtoR_delay
Definition max30001g_globals.cpp:52
volatile bool bioz_overflow_occurred
Definition max30001g_globals.cpp:33
float BIOZ_samplingRate
Definition max30001g_globals.cpp:50
volatile bool ecg_fast_recovery_occurred
Definition max30001g_globals.cpp:28
CNFG_BIOZ_LC (0x1A) page 57.
Definition max30001g_regs_typedefs.h:300
CNFG_BIOZ (0x18) page 54.
Definition max30001g_regs_typedefs.h:275
CNFG_BMUX (0x17) page 52.
Definition max30001g_regs_typedefs.h:248
CNFG_CAL (0x12) page 49.
Definition max30001g_regs_typedefs.h:184
CNFG_ECG (0x15) page 51.
Definition max30001g_regs_typedefs.h:227
CNFG_EMUX (0x14) page 50.
Definition max30001g_regs_typedefs.h:206
CNFG_GEN (0x10) page 47.
Definition max30001g_regs_typedefs.h:155
CNFG_RTOR1 (0x1D) page 59.
Definition max30001g_regs_typedefs.h:323
CNFG_RTOR2 (0x1E) page 59.
Definition max30001g_regs_typedefs.h:344
EN_INT (0x02) and (0x03) page 43 we can attach two interrupt lines to functions of the MAX30001 multi...
Definition max30001g_regs_typedefs.h:59
INFO (0x0F) page 42.
Definition max30001g_regs_typedefs.h:132
MNGR_DYN (0x05) page 45.
Definition max30001g_regs_typedefs.h:113
MNGR_INT (0x04) page 44.
Definition max30001g_regs_typedefs.h:88
STATUS (0x01) page 42.
Definition max30001g_regs_typedefs.h:11