EIS-BLE-S3/main/refs.h

42 lines
806 B
C

#ifndef REFS_H
#define REFS_H
#include "eis.h"
#include "echem.h"
#define REF_MODE_EIS 0
#define REF_MODE_LSV 1
#define REF_MODE_AMP 2
#define REF_MODE_CL 3
#define REF_MODE_PH 4
#define REF_EIS_RTIA_COUNT 8 /* RTIA 0-7 (skip ExtDe0) */
typedef struct {
uint8_t low_idx;
uint8_t high_idx;
uint8_t valid;
} LpRtiaRange;
typedef struct {
EISPoint pts[EIS_MAX_POINTS];
uint32_t n_points;
uint8_t valid;
} EisRefSlot;
typedef struct {
EisRefSlot eis[REF_EIS_RTIA_COUNT];
LpRtiaRange lsv_range;
LpRtiaRange amp_range;
LpRtiaRange cl_range;
PhResult ph_ref;
uint8_t ph_valid;
uint8_t has_refs;
} RefStore;
void refs_collect(RefStore *store, const EISConfig *cfg);
void refs_send(const RefStore *store);
void refs_clear(RefStore *store);
#endif