2023-06-14 21:37:49 +02:00

23 lines
672 B
C

#pragma once
#include <stdint.h>
#include "esp_adc/adc_continuous.h"
#include "esp_adc/adc_cali.h"
typedef struct {
unsigned int channel;
unsigned int gain; // x1000
} measurement_input;
typedef struct {
uint32_t *raw_volt;
uint32_t *amperes;
} measurements;
#define ADC_STORE_BUFFER_SIZE 100 // in number of samples / nb of inputs
adc_continuous_handle_t init_measurement_inputs(measurement_input inputs[], int inputs_num);
void init_conv_driver(measurement_input inputs[], int inputs_num, adc_cali_handle_t* out);
void start_zero_cali(adc_continuous_handle_t handle, unsigned int nb_samples, measurement_input inputs[], int nb_inputs, uint32_t offsets[]);