1#ifndef ESP32_MCU_CURRENT_SENSING_H
2#define ESP32_MCU_CURRENT_SENSING_H
4#include "../../hardware_api.h"
6#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32)
9#include "../../../drivers/hardware_api.h"
14typedef struct ESP32CurrentSenseParams {
17 int adc_buffer[3] = {};
19 int no_adc_channels = 0;
20 void* pretrig_comparator =
nullptr;
21} ESP32CurrentSenseParams;
24#ifndef SIMPLEFOC_DISABLE_DEBUG
25#define SIMPLEFOC_ESP32_CS_DEBUG(str)\
26 SimpleFOCDebug::println( "ESP32-CS: "+ String(str));
28#define SIMPLEFOC_ESP32_CS_DEBUG(str)
32#define CHECK_CS_ERR(func_call, message) \
33 if ((func_call) != ESP_OK) { \
34 SIMPLEFOC_ESP32_CS_DEBUG("ERROR - " + String(message)); \
35 return SIMPLEFOC_CURRENT_SENSE_INIT_FAILED; \
39#define _ADC_VOLTAGE 3.3f
40#define _ADC_RESOLUTION 4095.0f
return raw_adc *GenericCurrentSenseParams *cs_params adc_voltage_conv