22#include " esp32_mcu.h"
33#include " esp32_adc_driver.h"
44
5- #if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32)
5+ #if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32)
66#define SIMPLEFOC_ADC_ATTEN ADC_11db
77#define SIMPLEFOC_ADC_RES 12
88
1212#include " soc/sens_reg.h"
1313
1414// configure the ADCs in RTC mode
15- // saves about 3us per call
15+ // saves about 3us per call
1616// going from 12us to 9us
17- //
17+ //
1818// TODO: See if we need to configure both ADCs or we can just configure the one we'll use
1919// For the moment we will configure both
20- void __configFastADCs (){
20+ void IRAM_ATTR __configFastADCs (){
2121
2222 SIMPLEFOC_ESP32_CS_DEBUG (" Configuring fast ADCs" );
2323
@@ -46,9 +46,9 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin)
4646 int8_t channel = digitalPinToAnalogChannel (pin);
4747 if (channel < 0 ){
4848 SIMPLEFOC_ESP32_CS_DEBUG (" ERROR: Not ADC pin: " +String (pin));
49- return false ; // not adc pin
49+ return false ; // not adc pin
5050 }
51-
51+
5252 // channels <= MAX_CHANNEL_NUM belong to ADC1
5353 // channels > MAX_CHANNEL_NUM belong to ADC2 (where the channel number is number-SOC_ADC_MAX_CHANNEL_NUM)
5454 uint8_t adc_num = (channel >= SOC_ADC_MAX_CHANNEL_NUM) ? 2 : 1 ;
@@ -65,7 +65,7 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin)
6565 SET_PERI_REG_MASK (SENS_SAR_MEAS_START1_REG, SENS_MEAS1_START_SAR_M);
6666
6767 // wait for conversion
68- while (GET_PERI_REG_MASK (SENS_SAR_MEAS_START1_REG, SENS_MEAS1_DONE_SAR) == 0 );
68+ while (GET_PERI_REG_MASK (SENS_SAR_MEAS_START1_REG, SENS_MEAS1_DONE_SAR) == 0 );
6969 // read the value
7070 value = GET_PERI_REG_BITS2 (SENS_SAR_MEAS_START1_REG, SENS_MEAS1_DATA_SAR, SENS_MEAS1_DATA_SAR_S);
7171 break ;
@@ -76,7 +76,7 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin)
7676 SET_PERI_REG_MASK (SENS_SAR_MEAS_START2_REG, SENS_MEAS2_START_SAR_M);
7777
7878 // wait for conversion
79- while (GET_PERI_REG_MASK (SENS_SAR_MEAS_START2_REG, SENS_MEAS2_DONE_SAR) == 0 );
79+ while (GET_PERI_REG_MASK (SENS_SAR_MEAS_START2_REG, SENS_MEAS2_DONE_SAR) == 0 );
8080 // read the value
8181 value = GET_PERI_REG_BITS2 (SENS_SAR_MEAS_START2_REG, SENS_MEAS2_DATA_SAR, SENS_MEAS2_DATA_SAR_S);
8282 break ;
@@ -91,10 +91,10 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin)
9191#include " soc/sens_reg.h"
9292
9393
94- // configure the ADCs in RTC mode
94+ // configure the ADCs in RTC mode
9595// no real gain - see if we do something with it later
9696// void __configFastADCs(){
97-
97+
9898// SET_PERI_REG_MASK(SENS_SAR_READER1_CTRL_REG, SENS_SAR1_DATA_INV);
9999// SET_PERI_REG_MASK(SENS_SAR_READER2_CTRL_REG, SENS_SAR2_DATA_INV);
100100
@@ -137,7 +137,7 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin)
137137 SET_PERI_REG_MASK (SENS_SAR_MEAS1_CTRL2_REG, SENS_MEAS1_START_SAR_M);
138138
139139 // wait for conversion
140- while (GET_PERI_REG_MASK (SENS_SAR_MEAS1_CTRL2_REG, SENS_MEAS1_DONE_SAR) == 0 );
140+ while (GET_PERI_REG_MASK (SENS_SAR_MEAS1_CTRL2_REG, SENS_MEAS1_DONE_SAR) == 0 );
141141 // read the value
142142 value = GET_PERI_REG_BITS2 (SENS_SAR_MEAS1_CTRL2_REG, SENS_MEAS1_DATA_SAR, SENS_MEAS1_DATA_SAR_S);
143143 break ;
@@ -148,7 +148,7 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin)
148148 SET_PERI_REG_MASK (SENS_SAR_MEAS2_CTRL2_REG, SENS_MEAS2_START_SAR_M);
149149
150150 // wait for conversion
151- while (GET_PERI_REG_MASK (SENS_SAR_MEAS2_CTRL2_REG, SENS_MEAS2_DONE_SAR) == 0 );
151+ while (GET_PERI_REG_MASK (SENS_SAR_MEAS2_CTRL2_REG, SENS_MEAS2_DONE_SAR) == 0 );
152152 // read the value
153153 value = GET_PERI_REG_BITS2 (SENS_SAR_MEAS2_CTRL2_REG, SENS_MEAS2_DATA_SAR, SENS_MEAS2_DATA_SAR_S);
154154 break ;
@@ -171,7 +171,7 @@ uint16_t IRAM_ATTR adcRead(uint8_t pin){
171171// configure the ADC for the pin
172172bool IRAM_ATTR adcInit (uint8_t pin){
173173 static bool initialized = false ;
174-
174+
175175 int8_t channel = digitalPinToAnalogChannel (pin);
176176 if (channel < 0 ){
177177 SIMPLEFOC_ESP32_CS_DEBUG (" ERROR: Not ADC pin: " +String (pin));
@@ -186,7 +186,7 @@ bool IRAM_ATTR adcInit(uint8_t pin){
186186 if (! initialized){
187187 analogSetAttenuation (SIMPLEFOC_ADC_ATTEN);
188188 analogReadResolution (SIMPLEFOC_ADC_RES);
189- }
189+ }
190190 pinMode (pin, ANALOG);
191191 analogRead (pin);
192192 analogSetPinAttenuation (pin, SIMPLEFOC_ADC_ATTEN);
0 commit comments