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