23 lines
672 B
C
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[]);
|